<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY owl "http://www.w3.org/2002/07/owl#">
  <!ENTITY pmlowl "http://inference-web.org/2.0/pml-owl.owl#">
  <!ENTITY pmlowlbase "http://inference-web.org/2.0/pml-owl.owl">
  <!ENTITY pmlp "http://inference-web.org/2.0/pml-provenance.owl#">
  <!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#">
]>

<rdf:RDF xml:base="&pmlowlbase;"
         xmlns:owl="&owl;"
         xmlns:pmlowl="&pmlowl;"
         xmlns ="&pmlowl;"
         xmlns:rdf="&rdf;"
         xmlns:rdfs="&rdfs;">

<!-- Ontology Information -->
  <owl:Ontology rdf:about="">
    <rdfs:comment xml:lang="en">The owl extension of PML2 ontology. It extends some concepts in PMLP </rdfs:comment>
    <rdfs:label xml:lang="en">PML2 owl extension</rdfs:label>
    <owl:versionInfo xml:lang="en">version 0.2, Authors: Deborah L. McGuinness, Li Ding, Alyssa Glass, and Cynthia Chang</owl:versionInfo>
    <owl:imports>
      <owl:Ontology rdf:about="&pmlp;"/>
    </owl:imports>

  </owl:Ontology>

<!--
v2.9 (Sept 14, 2009)
* add hasSubjectReference

v2.8 (July 7, 2009)
add properties (more instance description)
* hasInstanceType
* hasPropertyReference

add properties (diff description)
* hasDiffSourcePrev
* hasDiffSourceCur
* hasDiffRelation
* hasDiffAddInstance
* hasDiffDelInstance
* hasDiffUpdateInstanceAddProperty
* hasDiffUpdateInstanceDelProperty
* hasDiffUpdateInstanceUpdateProperty


v2.7  (June 28)
* namespace has been changed

V0.2 Mar 2, 2007
 * created a class InformationRdfInstance to ensure the domain class of the property hasInstanceReference collocates in the same ontology. This is useful to avoid "different ontological view caused by defining new properties to a class outside the class's original ontology". It is critical for current PML API implementation.

v0.1 Feb 23,2007, this file has been created by Li
 * move hasInstanceReference from pmlp to this namespace
-->  
  <owl:Class rdf:about="&pmlowl;InformationRdfInstance">
    <rdfs:label xml:lang="en">Information (RDF instance) </rdfs:label>	
    <rdfs:comment xml:lang="en">A kind of information whose content is an RDF instance. </rdfs:comment>
    <rdfs:subClassOf rdf:resource="&pmlp;Information"/>
  </owl:Class>

   
  <owl:ObjectProperty rdf:about="&pmlowl;hasInstanceReference">
    <rdfs:label xml:lang="en">about instance</rdfs:label>	
    <rdfs:comment xml:lang="en">The reference (URI) of an OWL instance referred by this information. The semantics with this concept is to select all triples describing this instance's URI. If hasURL is also specified, we will load RDF graph from the url ; otherwise, we will use the current file to load RDF graph.</rdfs:comment>
    <rdfs:domain rdf:resource="&pmlowl;InformationRdfInstance"/>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasInstanceType">
    <rdfs:label xml:lang="en">type of instance</rdfs:label>	
    <rdfs:comment xml:lang="en">The type of an OWL instance. </rdfs:comment>
    <rdfs:domain rdf:resource="&pmlowl;InformationRdfInstance"/>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasSubjectReference">
    <rdfs:label xml:lang="en">referenced subject</rdfs:label>	
    <rdfs:comment xml:lang="en">The subject being used describing an instance. </rdfs:comment>
    <rdfs:domain rdf:resource="&pmlowl;InformationRdfInstance"/>
  </owl:ObjectProperty>    


  <owl:ObjectProperty rdf:about="&pmlowl;hasPropertyReference">
    <rdfs:label xml:lang="en">referenced property</rdfs:label>	
    <rdfs:comment xml:lang="en">The property being used describing an instance. </rdfs:comment>
    <rdfs:domain rdf:resource="&pmlowl;InformationRdfInstance"/>
  </owl:ObjectProperty>    


<!-- diff stuff -->

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffSourcePrev">
    <rdfs:label xml:lang="en">source of the previous version</rdfs:label>	
    <rdfs:comment xml:lang="en">The document containing the previous version of the description of an instance. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffSourceCur">
    <rdfs:label xml:lang="en">source of the current version</rdfs:label>	
    <rdfs:comment xml:lang="en">The document containing the current version of the description of an instance. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffRelation">
    <rdfs:label xml:lang="en">type of difference</rdfs:label>	
    <rdfs:comment xml:lang="en">the type of the diff relation beteween the current version and the previous version. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffAddInstance">
    <rdfs:label xml:lang="en">added instance</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version added new instance(s) to the previous version. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffDelInstance">
    <rdfs:label xml:lang="en">deleted instance</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version deleted instance(s) from the previous version. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffUpdateInstance">
    <rdfs:label xml:lang="en">update instance</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version updated instance(s) in the previous version. </rdfs:comment>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffUpdateInstanceAddProperty">
    <rdfs:label xml:lang="en">update instance by adding new property</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version updated instance(s) in the previous version by adding new properties. </rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="&pmlowl;hasDiffUpdateInstance"/>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffUpdateInstanceDelProperty">
    <rdfs:label xml:lang="en">update instance by deleting property</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version updated instance(s) in the previous version by deleting properties. </rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="&pmlowl;hasDiffUpdateInstance"/>
  </owl:ObjectProperty>    

  <owl:ObjectProperty rdf:about="&pmlowl;hasDiffUpdateInstanceUpdateProperty">
    <rdfs:label xml:lang="en">update instance by updating property value</rdfs:label>	
    <rdfs:comment xml:lang="en">The current version updated instance(s) in the previous version by udpating property value. </rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="&pmlowl;hasDiffUpdateInstance"/>
  </owl:ObjectProperty>    


</rdf:RDF>
