<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://iridl.ldeo.columbia.edu/ontologies/rdfcache.owl#"
    xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
    xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:swrl="http://www.w3.org/2003/11/swrl#"
    xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://iridl.ldeo.columbia.edu/ontologies/rdfcache.owl">
  <owl:Ontology rdf:about="">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Ontology to support an RDF persistent cache and SPARQL/SeRQL rules for virtual triples.</rdfs:comment>
  </owl:Ontology>
  <owl:Class rdf:ID="ConstructRule">
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="RDFCache"/>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Construct Rule which creates triples.   Provisions for writing rules either in SeRQL or SPARQL (i.e. both properties exist).  Also documentation properties domainProperty and rangeProperty help explain how the Construct Rule connects things, though that is by no means sufficient documentation.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="queryresult">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#RDFCache"/>
    </rdfs:subClassOf>
    <rdfs:isDefinedBy rdf:resource=""/>
  </owl:Class>
  <owl:Class rdf:about="#RDFCache">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Classes to faciliate RDF caching</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource=""/>
  </owl:Class>
  <owl:Class rdf:ID="RDFDocument">
    <rdfs:subClassOf rdf:resource="#RDFCache"/>
    <rdfs:isDefinedBy rdf:resource=""/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="rangeProperty">
    <rdfs:domain rdf:resource="#ConstructRule"/>
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Connects a ConstructRule to properties that it creates, i.e. its range.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="domainProperty">
    <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >connects a ConstructRule to properties that it looks for, i.e. in its domain.</rdfs:comment>
    <rdfs:domain rdf:resource="#ConstructRule"/>
    <rdfs:isDefinedBy rdf:resource=""/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="upload_complete">
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >boolean flag to indicate that a RDF store is fully uploaded.  Can be checked for to keep a triple-store that is in the process of being loaded from being used.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="last_modified">
    <rdfs:domain rdf:resource="#RDFDocument"/>
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >last_modified time for the RDFDocument, for use in caching.</rdfs:comment>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="code_last_modified">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >last_modified time for the code used to convert the document to RDF, used in caching</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource=""/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="sparql_text">
    <rdfs:domain rdf:resource="#ConstructRule"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Text of ConstructRule written in SPARQL.</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="serql_text">
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:domain rdf:resource="#ConstructRule"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >text of ConstructRule written in SeRQL.  The rule should remove pre-existing output triples, so that the rule can be run repeatedly until no triples are created.</rdfs:comment>
  </owl:DatatypeProperty>
  <owl:TransitiveProperty rdf:ID="isContainedBy">
    <rdfs:isDefinedBy rdf:resource=""/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >when a RDFDocument contains another document, it suppresses loading of the inside document despite owl:imports or rdfs:seeAlso requests for it</rdfs:comment>
    <rdfs:domain rdf:resource="#RDFDocument"/>
    <rdfs:range rdf:resource="#RDFDocument"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </owl:TransitiveProperty>
  <RDFDocument rdf:ID="cachecontext">
    <last_modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
    >2005-10-04T00:00:00Z</last_modified>
  </RDFDocument>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.4.1, Build 536)  http://protege.stanford.edu -->
