<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://visus.mit.edu/bibtex/0.1/owl2w3cxml.xsl" type="text/xsl"?>
<!DOCTYPE rdf:RDF [
	<!ENTITY xsd		"http://www.w3.org/2001/XMLSchema#" >
	<!ENTITY rdf		"http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
	<!ENTITY rdfs		"http://www.w3.org/2000/01/rdf-schema#" >
	<!ENTITY dc			"http://purl.org/dc/elements/1.1/" > 
	<!ENTITY owl		"http://www.w3.org/2002/07/owl#" >
	<!ENTITY units		"http://visus.mit.edu/fontomri/0.01/units.owl#" >
	<!ENTITY bibtex		"http://purl.org/net/nknouf/ns/bibtex#">
	<!ENTITY dcterms 	"http://purl.org/dc/terms/">
    <!ENTITY dctype 	"http://purl.org/dc/dcmitype/"> ]>
	
<rdf:RDF
   xmlns="http://alignapi.gforge.inria.fr/tutorial/edu.mit.visus.bibtex.owl#"
   xml:base="http://alignapi.gforge.inria.fr/tutorial/edu.mit.visus.bibtex.owl#"
    xmlns:units		="&units;"
    xmlns:foaf		="http://xmlns.com/foaf/0.1/"
    xmlns:rdf		="&rdf;"
    xmlns:xsd		="&xsd;"
    xmlns:rdfs		="&rdfs;"
    xmlns:owl		="http://www.w3.org/2002/07/owl#"
    xmlns:wot		="http://xmlns.com/wot/0.1/"
    xmlns:dc		="&dc;"
    xmlns:dcterms	="&dcterms;"
    xmlns:dctype	="&dctype;"
    xmlns:bibtex	="&bibtex;">
  	
<owl:Ontology rdf:about="">
	<dc:creator>Nick Knouf &lt;nknouf@mit.edu&gt;</dc:creator>
	<dc:description>Transformation of bibTeX into an OWL ontology</dc:description>
	<dc:date>2003-12-29</dc:date>
	<dc:subject>fMRI, ontology, fMRI analysis, foo, bar</dc:subject>
	<rdfs:label>bibtex ontology</rdfs:label>
	<dc:title>bibtex.owl: an ontology for bibTeX entries</dc:title>
	<dc:identifier rdf:datatype="&xsd;anyURI">http://visus.mit.edu/bibtex/0.01/bibtex.owl</dc:identifier>
	<rdfs:comment>Possible ontology to describe bibTeX entries.</rdfs:comment>
	<owl:versionInfo>0.01</owl:versionInfo>
</owl:Ontology>

<!-- OTHER ANNOTATION PROPERTIES -->
<rdf:Description rdf:about="&dc;creator">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
	<dc:title>this is a test title</dc:title>
</rdf:Description>

<rdf:Description rdf:about="&dc;description">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dc;date">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dc;subject">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dc;title">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dc;source">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dc;identifier">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dcterms;abstract">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>

<rdf:Description rdf:about="&dcterms;bibliographicCitation">
	<rdf:type rdf:resource="&owl;AnnotationProperty" />
</rdf:Description>


<!--
		********  ENTRIES  ********
		
Entries form the basis of a bibTeX database and are categorized by their type, such as a book, journal article, conference proceedings, etc.  Each entry type has a specific set of fields that are required in bibTeX; as a first pass, these fields will also be required in the OWL ontology.

Note: all rdfs:comment values for the entries come from http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node6.html.
-->
<owl:Class rdf:ID="Entry">
	<rdfs:label xml:lang="en">Entry</rdfs:label>
	<rdfs:comment xml:lang="en">Base class for all entries</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID="Article">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Article</rdfs:label>
	<rdfs:comment xml:lang="en">An article from a journal or magazine.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasJournal" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Book">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Book</rdfs:label>
	<rdfs:comment xml:lang="en">A book with an explicit publisher.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#humanCreator" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
			<dc:description>One thing to figure out is whether or not this tells us what we want; that is, does this imply that we must have at least one property of humanCreator, which could be either hasAuthor or hasEditor?</dc:description>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasPublisher" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Booklet">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Booklet</rdfs:label>
	<rdfs:comment xml:lang="en">A work that is printed and bound, but without a named publisher or sponsoring institution.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Conference">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<owl:equivalentClass rdf:resource="#Inproceedings" />
	<rdfs:label xml:lang="en">Conference</rdfs:label>
	<rdfs:comment xml:lang="en">The same as INPROCEEDINGS, included for Scribe compatibility.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID="Inbook">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Inbook</rdfs:label>
	<rdfs:comment xml:lang="en">A part of a book, which may be a chapter (or section or whatever) and/or a range of pages. </rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#humanCreator" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
			<dc:description>One thing to figure out is whether or not this tells us what we want; that is, does this imply that we must have at least one property of humanCreator, which could be either hasAuthor or hasEditor?</dc:description>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#pageChapterData" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasPublisher" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Incollection">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Incollection</rdfs:label>
	<rdfs:comment xml:lang="en">A part of a book having its own title.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasBooktitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasPublisher" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Inproceedings">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Inproceedings</rdfs:label>
	<rdfs:comment xml:lang="en">An article in a conference proceedings.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasBooktitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Manual">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Manual</rdfs:label>
	<rdfs:comment xml:lang="en">Technical documentation.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Mastersthesis">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Mastersthesis</rdfs:label>
	<rdfs:comment xml:lang="en">A Master's thesis.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasSchool" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Misc">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Misc</rdfs:label>
	<rdfs:comment xml:lang="en">Use this type when nothing else fits.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID="Phdthesis">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Phdthesis</rdfs:label>
	<rdfs:comment xml:lang="en">A PhD thesis.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasSchool" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Proceedings">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Proceedings</rdfs:label>
	<rdfs:comment xml:lang="en">The proceedings of a conference.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Techreport">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Techreport</rdfs:label>
	<rdfs:comment xml:lang="en">A report published by a school or other institution, usually numbered within a series.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasInstitution" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasYear" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:ID="Unpublished">
	<rdfs:subClassOf rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">Unpublished</rdfs:label>
	<rdfs:comment xml:lang="en">A document having an author and title, but not formally published.</rdfs:comment>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasAuthor" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasTitle" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasNote" />
			<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>


<!--
		********  FIELDS  ********
		
Fields can be considered the properties of a bibTeX entry.  Each entry type (described above) has a different set of required and optional fields.  The fields will all be datatype properties for the time being.

Note: all rdfs:comment values for the entries come from http://newton.ex.ac.uk/tex/pack/bibtex/btxdoc/node7.html
-->

<owl:DatatypeProperty rdf:ID="hasKey">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has key</rdfs:label>
	<rdfs:comment xml:lang="en">The key for a particular bibTeX entry.  Note that the rdf:ID for each Entry instance could be the bibTeX key as well, possibly making this property redundant.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasAddress">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has address</rdfs:label>
	<rdfs:comment xml:lang="en">Usually the address of the publisher or other type of institution. For major publishing houses, van Leunen recommends omitting the information entirely. For small publishers, on the other hand, you can help the reader by giving the complete address.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasAnnotation">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has annotation</rdfs:label>
	<rdfs:comment xml:lang="en">An annotation. It is not used by the standard bibliography styles, but may be used by others that produce an annotated bibliography.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasAuthor">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:subPropertyOf rdf:resource="#humanCreator" />
	<rdfs:label xml:lang="en">has author</rdfs:label>
	<rdfs:comment xml:lang="en">The name(s) of the author(s), in the format described in the LaTeX book.</rdfs:comment>
	<dc:description>This is tricky due to the fact that order is not (generally) preserved in RDF documents.  The problem arises when you want to have an author list where the order is _extremely_ important.  How shall we do that?  Perhaps we want to define "hasPrimaryAuthor", "hasSecondaryAuthor", "hasTertiaryAuthor", and "hasRemainingAuthors", or something of that sort.  This will be have to given more thought.</dc:description>
</owl:DatatypeProperty>

<!--
<owl:ObjectProperty rdf:ID="hasAuthorTest">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&rdf;seq" />
	<rdfs:label xml:lang="en">has author</rdfs:label>
	<rdfs:comment xml:lang="en">The name(s) of the author(s), in the format described in the LaTeX book.</rdfs:comment>
	<dc:description>This is tricky due to the fact that order is not (generally) preserved in RDF documents.  The problem arises when you want to have an author list where the order is _extremely_ important.  How shall we do that?  Perhaps we want to define "hasPrimaryAuthor", "hasSecondaryAuthor", "hasTertiaryAuthor", and "hasRemainingAuthors", or something of that sort.  This will be have to given more thought.</dc:description>
</owl:ObjectProperty>

<bibtex:Article rdf:ID="test">
	<bibtex:hasTitle>test</bibtex:hasTitle>
	<bibtex:hasYear>2215</bibtex:hasYear>
	<bibtex:hasJournal>The Journal of Stuff</bibtex:hasJournal>
	<bibtex:hasAuthorTest>
		<rdf:seq rdf:ID="temp">
			<rdf:li rdf:resource="http://visus.mit.edu/webdav/www/KanwisherLab.rdf#LiuJia" />
			<rdf:li rdf:resource="http://visus.mit.edu/webdav/www/KanwisherLab.rdf#ChrisBaker" />
			<rdf:li rdf:resource="http://visus.mit.edu/webdav/www/KanwisherLab.rdf#NancyKanwisher" />
		</rdf:seq>
	</bibtex:hasAuthorTest>
</bibtex:Article>
-->

<owl:DatatypeProperty rdf:ID="hasBooktitle">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has booktitle</rdfs:label>
	<rdfs:comment xml:lang="en">Title of a book, part of which is being cited. See the LaTeX book for how to type titles. For book entries, use the title field instead.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasChapter">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;nonNegativeInteger" />
	<rdfs:subPropertyOf rdf:resource="#pageChapterData" />
	<rdfs:label xml:lang="en">has chapter</rdfs:label>
	<rdfs:comment xml:lang="en">A chapter (or section or whatever) number.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasCrossref">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has crossref</rdfs:label>
	<rdfs:comment xml:lang="en">The database key of the entry being cross referenced.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasEdition">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has edition</rdfs:label>
	<rdfs:comment xml:lang="en">The edition of a book--for example, "Second". This should be an ordinal, and should have the first letter capitalized, as shown here; the standard styles convert to lower case when necessary.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasEditor">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:subPropertyOf rdf:resource="#humanCreator" />
	<rdfs:label xml:lang="en">has editor</rdfs:label>
	<rdfs:comment xml:lang="en">Name(s) of editor(s), typed as indicated in the LaTeX book. If there is also an author field, then the editor field gives the editor of the book or collection in which the reference appears.</rdfs:comment>
	<dc:description>Again, the same issues that arose with the "hasAuthor" property apply here.</dc:description>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="howPublished">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">how published</rdfs:label>
	<rdfs:comment xml:lang="en">How something strange has been published. The first word should be capitalized.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasInstitution">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has institution</rdfs:label>
	<rdfs:comment xml:lang="en">The sponsoring institution of a technical report.</rdfs:comment>
	<dc:description>This could be an object property that refers to an external set of institution instances.</dc:description>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasJournal">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has journal</rdfs:label>
	<rdfs:comment xml:lang="en">A journal name. Abbreviations are provided for many journals; see the Local Guide</rdfs:comment>
	<dc:description>This could optionally be an object property, whereby the range would refer to an external set of journal instances, thus providing standardized abbreviations for different bibliographic styles.</dc:description>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasMonth">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has month</rdfs:label>
	<rdfs:comment xml:lang="en">The month in which the work was published or, for an unpublished work, in which it was written. You should use the standard three-letter abbreviation, as described in Appendix B.1.3 of the LaTeX book.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasNote">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has note</rdfs:label>
	<rdfs:comment xml:lang="en">Any additional information that can help the reader. The first word should be capitalized.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasNumber">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has number</rdfs:label>
	<rdfs:comment xml:lang="en">The number of a journal, magazine, technical report, or of a work in a series. An issue of a journal or magazine is usually identified by its volume and number; the organization that issues a technical report usually gives it a number; and sometimes books are given numbers in a named series.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasOrganization">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has organization</rdfs:label>
	<rdfs:comment xml:lang="en">The organization that sponsors a conference or that publishes a manual.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasPages">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:subPropertyOf rdf:resource="#pageChapterData" />
	<rdfs:label xml:lang="en">has pages</rdfs:label>
	<rdfs:comment xml:lang="en">One or more page numbers or range of numbers, such as 42-111 or 7,41,73-97 or 43+ (the `+' in this last example indicates pages following that don't form a simple range). To make it easier to maintain Scribe-compatible databases, the standard styles convert a single dash (as in 7-33) to the double dash used in TeX to denote number ranges (as in 7-33).</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasPublisher">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has publisher</rdfs:label>
	<rdfs:comment xml:lang="en">The publisher's name.</rdfs:comment>
	<dc:description>This is a case where an ObjectProperty might be a better choice, where the range is some set of publisher names defined in another ontology.  That would allow all of the metadata for the publisher to be incorporated as needed.</dc:description>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasSchool">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has school</rdfs:label>
	<rdfs:comment xml:lang="en">The name of the school where a thesis was written.</rdfs:comment>
	<dc:description>As with "hasPublisher", this could be an ObjectProperty that refers to an external set of school instances.</dc:description>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasSeries">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has series</rdfs:label>
	<rdfs:comment xml:lang="en">The name of a series or set of books. When citing an entire book, the the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasTitle">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has title</rdfs:label>
	<rdfs:comment xml:lang="en">The work's title, typed as explained in the LaTeX book.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasType">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has type</rdfs:label>
	<rdfs:comment xml:lang="en">The type of a technical report--for example, "Research Note".</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasVolume">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;nonNegativeInteger" />
	<rdfs:label xml:lang="en">has volume</rdfs:label>
	<rdfs:comment xml:lang="en">The volume of a journal or multivolume book.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasYear">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;nonNegativeInteger" />
	<rdfs:label xml:lang="en">has year</rdfs:label>
	<rdfs:comment xml:lang="en">The year of publication or, for an unpublished work, the year it was written. Generally it should consist of four numerals, such as 1984, although the standard styles can handle any year whose last four nonpunctuation characters are numerals, such as '(about 1984)'.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasAffiliation">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has affiliation</rdfs:label>
	<rdfs:comment xml:lang="en">The authors affiliation.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasAbstract">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has abstract</rdfs:label>
	<rdfs:comment xml:lang="en">An abstract of the work.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasContents">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has contents</rdfs:label>
	<rdfs:comment xml:lang="en">A Table of Contents.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasCopyright">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has copyright</rdfs:label>
	<rdfs:comment xml:lang="en">Copyright information.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasISBN">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has ISBN</rdfs:label>
	<rdfs:comment xml:lang="en">The International Standard Book Number.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasISSN">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has ISSN</rdfs:label>
	<rdfs:comment xml:lang="en">The International Standard Serial Number. Used to identify a journal.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasKeywords">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has keywords</rdfs:label>
	<rdfs:comment xml:lang="en">Key words used for searching or possibly for annotation.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasLanguage">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has language</rdfs:label>
	<rdfs:comment xml:lang="en">The language the document is in.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasLocation">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has location</rdfs:label>
	<rdfs:comment xml:lang="en">A location associated with the entry, such as the city in which a conference took place.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasLCCN">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has LCCN</rdfs:label>
	<rdfs:comment xml:lang="en">The Library of Congress Call Number.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasMrnumber">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has mrnumber</rdfs:label>
	<rdfs:comment xml:lang="en">The Mathematical Reviews number.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasPrice">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has price</rdfs:label>
	<rdfs:comment xml:lang="en">The price of the document.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasSize">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has size</rdfs:label>
	<rdfs:comment xml:lang="en">The physical dimensions of a work.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="hasURL">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">has URL</rdfs:label>
	<rdfs:comment xml:lang="en">The WWW Universal Resource Locator that points to the item being referenced. This often is used for technical reports to point to the ftp or web site where the postscript source of the report is located.</rdfs:comment>
</owl:DatatypeProperty>

<!--
		********  "META" PROPERTIES  ********
		
We define here some meta properties that the fields above may use as superproperties.  This is necessary in order to define cardinality constraints properly.
-->
<owl:DatatypeProperty rdf:ID="humanCreator">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:range rdf:resource="&xsd;string" />
	<rdfs:label xml:lang="en">human creator</rdfs:label>
	<rdfs:comment xml:lang="en">A generic human creator category, necessary in order to contain both author and editor.</rdfs:comment>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="pageChapterData">
	<rdfs:domain rdf:resource="#Entry" />
	<rdfs:label xml:lang="en">page and/or chapter data</rdfs:label>
	<rdfs:comment xml:lang="en">A generic property to hold page and/or chapter data.</rdfs:comment>
</owl:DatatypeProperty>
</rdf:RDF>
