<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
     <!ENTITY rdf  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
     <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
     <!ENTITY dc 	"http://purl.org/dc/elements/1.1/" >
     <!ENTITY foaf   "http://xmlns.com/foaf/0.1/">
     <!ENTITY wob   "http://daml.umbc.edu/ontologies/webofbelief/1.4/wob.owl#" >
   ]>


<rdf:RDF
  xmlns     	= "&wob;"
  xmlns:wob    	= "&wob;"
  xml:base     	= "&wob;"
  xmlns:dc  	= "&dc;"
  xmlns:foaf    = "&foaf;"
  xmlns:rdf 	= "&rdf;"
  xmlns:rdfs 	= "&rdfs;"
  xmlns:owl 	= "&owl;"
>

<owl:Ontology rdf:about="">
  <owl:imports rdf:resource="http://daml.umbc.edu/ontologies/webofbelief/imports/foaf-dl.owl"/>
  <rdfs:label xml:lang="en-US">Wob</rdfs:label>
  <rdfs:comment xml:lang="en-US">Web of Belief Ontology Core Elements v1.4.
	This file is created by Li Ding, and it specifies the core elements of WOB ontology.</rdfs:comment> 			
  <owl:versionInfo xml:lang="en-US">10 Feb 2006, revised $Date: 10:49 PM 2/10/2006$</owl:versionInfo>
  <owl:priorVersion>
	<owl:Ontology rdf:about= "http://daml.umbc.edu/ontologies/webofbelief/1.3/wob.owl"/>
  </owl:priorVersion>
</owl:Ontology>


<!-- Semantic Web Document-->
<owl:Class rdf:ID="SemanticWebDocument">
	<rdfs:subClassOf rdf:resource="&foaf;Document"/>
	<rdfs:subClassOf rdf:resource="#GraphReference"/>
	<rdfs:label xml:lang="en-US">Semantic Web Document</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">The most generic class of semantic web documents each of which contains one more more RDF graphs. </rdfs:comment>
</owl:Class>

<owl:ObjectProperty rdf:ID="hasGrammar">
    <rdfs:label xml:lang="en-US">has Grammar</rdfs:label> 
    <rdfs:comment xml:lang="en-US">The syntactic grammar of a semantic web document</rdfs:comment>
    <rdfs:domain rdf:resource="#SemanticWebDocument"/>
    <rdfs:range>    
	  <owl:Class rdf:ID="GrammarRDF">
	    <owl:oneOf rdf:parseType="Collection">
		  <owl:Thing rdf:ID="RDFXML">
			 <rdfs:label xml:lang="en-US">RDF/XML</rdfs:label>
			 <rdfs:comment xml:lang="en-US">The Semantic Web document is using RDF/XML grammar</rdfs:comment> 	
		  </owl:Thing>
		  <owl:Thing rdf:ID="N3">
			  <rdfs:label xml:lang="en-US">N3</rdfs:label>
			  <rdfs:comment xml:lang="en-US">The Semantic Web document is using Notation 3 grammar</rdfs:comment> 	
		  </owl:Thing>
		  <owl:Thing rdf:ID="NTriples">
			<rdfs:label xml:lang="en-US">NTriples</rdfs:label>
			<rdfs:comment xml:lang="en-US">The  Semantic Web document is using NTriples grammar</rdfs:comment> 	
		  </owl:Thing>
	    </owl:oneOf>
	  </owl:Class>
  </rdfs:range>    
</owl:ObjectProperty>

<owl:DatatypeProperty rdf:ID="isEmbedded">
    <rdfs:label xml:lang="en-US">uses Grammar</rdfs:label> 
    <rdfs:comment xml:lang="en-US">It indicates whether the semantic web knowledge is embedded. While pure semantic web documents are completely written using semantic web languages, some conventional web document may have some semantic web knowledge embedded, i.e. only a span of text in the document serializes a RDF graph. Example embedded semantic web documents are html documents containing RDF metadata such as creative commons license, PDF documents containing XMP metadata.</rdfs:comment>
    <rdfs:domain rdf:resource="#SemanticWebDocument"/>
    <rdfs:range rdf:resource="&xsd;boolean" />    
</owl:DatatypeProperty>



<!--  RDF graph reference -->
<owl:Class rdf:ID="GraphReference">
	<rdfs:label xml:lang="en-US">RDF Graph Reference</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">The most generic class of RDF graph reference. It can reference an abitary set of triples in an RDF graph. rdfs:Statement is its subclass.</rdfs:comment> 	
</owl:Class>

<!--
<owl:DatatypeProperty rdf:ID="created">
    <rdfs:label xml:lang="en-US">uses Grammar</rdfs:label> 
    <rdfs:comment xml:lang="en-US">When the graph reference has been created.</rdfs:comment>
    <rdfs:domain rdf:resource="#GraphReference"/>
    <rdfs:range rdf:resource="&xsd;dateTime" />    
</owl:DatatypeProperty>

<owl:Class rdf:ID="GraphReferenceSimple">
	<rdfs:label xml:lang="en-US">RDF Graph Reference Simple</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">A special class of RDF graph reference. It references an RDF graph serialized by the source document. </rdfs:comment> 	
    <rdfs:subClassOf rdf:resource="#GraphReference"/>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasSourceDocument" /> 
			<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#noneNegativeInteger">1</owl:cardinality> 
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>
-->

<!-- GraphReferenceUnion-->
<owl:Class rdf:ID="GraphReferenceUnion">
	<rdfs:label xml:lang="en-US">RDF Graph Reference Union</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">A special class of RDF graph reference. It references the union of the RDF graphs referenced by member source graphs. </rdfs:comment> 	
	<rdfs:subClassOf rdf:resource="#GraphReference"/>
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#isUnionOf" /> 
			<owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#noneNegativeInteger">1</owl:cardinality> 
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<owl:ObjectProperty rdf:ID="isUnionOf">
  <rdfs:label xml:lang="en-US">is union of</rdfs:label> 	
  <rdfs:comment xml:lang="en-US">The specified RDF graph is the union of its member RDF graphs. It is constrcuted by merging the graphs renfereced in the list items. Its range is rdf:List, and the range of its list items are of type wob:GraphReference.</rdfs:comment> 			
  <rdfs:domain rdf:resource= "#GraphReferenceUnion"/>
</owl:ObjectProperty>



<!--  Semantic Web Term -->
<owl:Class rdf:ID="SemanticWebTerm">
	<rdfs:label xml:lang="en-US">Semantic Web Term</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">It refers to the special class of RDF resources with URI and has class or property usage in at least one semantic web documents. </rdfs:comment> 	
	<rdfs:subClassOf>
		<owl:Restriction>
			<owl:onProperty rdf:resource="#hasMetaDescriptionIn" /> 
			<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#noneNegativeInteger">1</owl:minCardinality> 
		</owl:Restriction>
	</rdfs:subClassOf>
</owl:Class>

<!--  Semantic Web Namespace -->
<owl:Class rdf:ID="SemanticWebNamespace">
	<rdfs:label xml:lang="en-US">Semantic Web Namespace</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">it refers to the special class of RDF resources which has been used as the namespace of RDF resources in practice.</rdfs:comment>
</owl:Class>




<!-- agent and person has been defined by the imported simplified FOAF ontology -->

<!--  provenance -->
<owl:ObjectProperty rdf:ID="provenance">
  <rdfs:label xml:lang="en-US">provenance</rdfs:label> 	
  <rdfs:comment xml:lang="en-US">The most generic provenance property of an RDF resource, which could be an instance of RDF graph reference, an instance of semantic web document, any class-instance, or even a untyped resource.</rdfs:comment> 			
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasDescriptionIn">
  <rdfs:label xml:lang="en-US">has description In</rdfs:label> 	
  <rdfs:subPropertyOf rdf:resource="#provenance"/>
  <rdfs:range rdf:resource= "#GraphReference"/>
  <rdfs:comment xml:lang="en-US">definition-provenance: The present RDF resource is described in the source RDF graph.</rdfs:comment> 			
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasMetaDescriptionIn">
  <rdfs:label xml:lang="en-US">has meta description in</rdfs:label> 	
  <rdfs:domain rdf:resource="#SemanticWebTerm"/>
  <rdfs:range rdf:resource= "#SemanticWebDocument"/>
  <rdfs:subPropertyOf rdf:resource="#hasDescriptionIn"/>
  <rdfs:comment xml:lang="en-US">a combination of definition-provenance and where-provenance: The present RDF resource is used as a class or property by the RDF graph serialized by the Semantic Web document. This is practically useful since Semantic Web document is the transmission unit of RDF graph on the Web.</rdfs:comment> 			
</owl:ObjectProperty>


<owl:ObjectProperty rdf:ID="hasClassDefinitionIn">
  <rdfs:comment xml:lang="en-US">The present resource is defined as an instance of rdfs:Class by rdf:type predicate in the target RDF graph.</rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasPropertyDefinitionIn">
  <rdfs:comment xml:lang="en-US">The present resource is defined as an instance of rdf:Property by rdf:type predicate in the target RDF graph.</rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>


<owl:ObjectProperty rdf:ID="hasClassInstanceIn">
  <rdfs:comment xml:lang="en-US">The present resource has at least one populated class-instance in the target RDF graph. A class X is said populated if there exists a triple ( _a rdf:type X) in the RDF graph where _a can be any resource.</rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasPropertyInstanceIn">
  <rdfs:comment xml:lang="en-US">The present resource has at least one property-instance in the target RDF graph. A property Y is said populated if there exists a triple ( _a Y _b) in the RDF graph where _a and _b can be any resource. </rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>


<owl:ObjectProperty rdf:ID="hasClassReferenceIn">
  <rdfs:comment xml:lang="en-US">The present resource is referenced as an instance of rdfs:Class in a triple whose predicate is from semantic web languages (i.e. RDF, RDFS, OWL, DAML) but never by a triple with rdf:type as predicate in the target RDF graph.</rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasPropertyReferenceIn">
  <rdfs:comment xml:lang="en-US">The present resource is referenced as an instance of rdf:Property in a triple whose predicate is from semantic web languages (i.e. RDF, RDFS, OWL, DAML) but never by a triple with rdf:type as predicate in the target RDF graph.  </rdfs:comment> 			
  <rdfs:subPropertyOf rdf:resource="#hasMetaDescriptionIn"/>
</owl:ObjectProperty>



<owl:ObjectProperty rdf:ID="hasSourceDocument">
  <rdfs:label xml:lang="en-US">has source document</rdfs:label> 	
  <rdfs:subPropertyOf rdf:resource="#provenance"/>
  <rdfs:domain rdf:resource= "#GraphReference"/>
  <rdfs:range rdf:resource= "#SemanticWebDocument"/>
  <rdfs:comment xml:lang="en-US">where-provenance: The present RDF graph may be parsed from the source semantic web document. This property enables us to reconstruct the referenced RDF graph merging the RDF graphs in the the semantic web documents.It is subproperty of {\em dc:source}.</rdfs:comment> 			
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasSourceGraph">
  <rdfs:label xml:lang="en-US">has source graph</rdfs:label> 	
  <rdfs:subPropertyOf rdf:resource="#provenance"/>
  <rdfs:domain rdf:resource= "#GraphReference"/>
  <rdfs:range rdf:resource= "#GraphReference"/>
  <rdfs:comment xml:lang="en-US">why-provenance: The present RDF graph may be derived from the source RDF graph in whole or in part. This property enables us to reconstruct the referenced RDF graph merging the RDF graphs in the the semantic web documents. It is subproperty of {\em dc:source}.</rdfs:comment> 			
</owl:ObjectProperty>


<owl:ObjectProperty rdf:ID="hasCreator">
  <rdfs:label xml:lang="en-US">has creator</rdfs:label> 	
  <rdfs:subPropertyOf rdf:resource="#provenance"/>
  <rdfs:domain rdf:resource= "#GraphReference"/>
  <rdfs:range rdf:resource= "&foaf;Agent"/>
  <rdfs:comment xml:lang="en-US">whom-provenance: the reference RDF graph is created by the source agent. {\em dc:creator} is defined as ``An entity primarily responsible for making the content of the resource''; however, the ``content of the resource'' is not very clear. Therefore, we restrict the domain to an RDF graph which encodes semantic web knowledge (or content).</rdfs:comment> 			
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasPublisher">
  <rdfs:label xml:lang="en-US">has publisher</rdfs:label> 	
  <rdfs:subPropertyOf rdf:resource="#provenance"/>
  <rdfs:domain rdf:resource= "&foaf;Document"/>
  <rdfs:range rdf:resource= "&foaf;Agent"/>
  <rdfs:comment xml:lang="en-US">whom-provenance: the present Document is published on the Web by the source agent. dc:publisher is defined as "An entity responsible for making the resource available"; however, it does not specify where and in what form  the resource is available. Therefore, we restrict the domain to a document because agents share knowledge by making corresponding documents available on the Web. </rdfs:comment> 			
</owl:ObjectProperty>


<!--  Assertion: N-ary relation -->

<owl:Class rdf:ID="AgentAssertion">
	<rdfs:label xml:lang="en-US">Agent Assertion</rdfs:label> 	
  	<rdfs:comment xml:lang="en-US">The class of assertions made by agents.</rdfs:comment> 	
</owl:Class>

<owl:ObjectProperty rdf:ID="hasOwnerAgent">
  <rdfs:label xml:lang="en-US">has Owner Agent</rdfs:label> 	
  <rdfs:domain rdf:resource= "#AgentAssertion"/>
  <rdfs:range rdf:resource= "&foaf;Agent"/>
  <rdfs:comment xml:lang="en-US">the agent that made the assertion</rdfs:comment> 			
</owl:ObjectProperty>


<owl:Class rdf:ID="BeliefAssertion">
	<rdfs:label xml:lang="en-US">Agent Assertion</rdfs:label> 	
	<rdfs:subClassOf rdf:resource="#AgentAssertion"/>
  	<rdfs:comment xml:lang="en-US">The class of belief assertions each of which represents an agent's belief state about about the RDF graph referenced by an instance of wob:GraphReference.</rdfs:comment> 	
</owl:Class>

<owl:ObjectProperty rdf:ID="hasTargetGraph">
  <rdfs:label xml:lang="en-US">has target graph</rdfs:label> 	
  <rdfs:domain rdf:resource= "#BeliefAssertion"/>
  <rdfs:range rdf:resource= "#GraphReference"/>
  <rdfs:comment xml:lang="en-US">the target RDF graph being asserted.</rdfs:comment> 			
</owl:ObjectProperty>

<owl:Class rdf:ID="TrustAssertion">
	<rdfs:label xml:lang="en-US">Agent Assertion</rdfs:label> 	
	<rdfs:subClassOf rdf:resource="#AgentAssertion"/>
  	<rdfs:comment xml:lang="en-US">The class of trust assertions each of which represents an agent's trust in another agent.</rdfs:comment> 	
</owl:Class>

<owl:ObjectProperty rdf:ID="hasTargetAgent">
  <rdfs:label xml:lang="en-US">has Agent</rdfs:label> 	
  <rdfs:domain rdf:resource= "#TrustAssertion"/>
  <rdfs:range rdf:resource= "&foaf;Agent"/>
  <rdfs:comment xml:lang="en-US">the target agent being asserted</rdfs:comment> 			
</owl:ObjectProperty>


</rdf:RDF>