<?xml version="1.0"?>
<rdf:RDF
    xmlns:rss="http://purl.org/rss/1.0/"
    xmlns:irisweet="http://iridl.ldeo.columbia.edu/ontologies/SWEET.owl#"
    xmlns="http://iridl.ldeo.columbia.edu/ontologies/iridlrules.owl#"
    xmlns:swrl="http://www.w3.org/2003/11/swrl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:iribib="http://iridl.ldeo.columbia.edu/ontologies/iribib.owl#"
    xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
    xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:iridl="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:term="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#"
  xml:base="http://iridl.ldeo.columbia.edu/ontologies/iridlrules.owl">
  <owl:Ontology rdf:about="">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >IRI Data Library SWRL rules</rdfs:comment>
    <owl:imports rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/netcdf-obj.owl"/>
    <owl:imports rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl"/>
    <owl:imports rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iribib.owl"/>
    <owl:imports rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/projectionmappings.owl"/>
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl"/>
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb"/>
  </owl:Ontology>
  <swrl:Imp rdf:ID="Inherit_Semantics">
    <rdfs:isDefinedBy rdf:resource="" />
      <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#isContainerOf"/>
            <swrl:argument2>
              <swrl:Variable rdf:ID="y"/>
            </swrl:argument2>
            <swrl:argument1>
              <swrl:Variable rdf:ID="x"/>
            </swrl:argument1>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:argument1 rdf:resource="#x"/>
                <swrl:argument2>
                  <swrl:Variable rdf:ID="z"/>
                </swrl:argument2>
                <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
            <swrl:argument1 rdf:resource="#y"/>
            <swrl:argument2 rdf:resource="#z"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:head>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >if a dataset has semantics, anything it contains is also given those semantics
</rdfs:comment>
  </swrl:Imp>
  <swrl:Imp rdf:ID="dataset_authors_from_references">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:head>
      <swrl:AtomList>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:argument2 rdf:resource="#z"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:head>
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasReferenceDocumentation"/>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:argument2 rdf:resource="#y"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:argument1 rdf:resource="#y"/>
                <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iribib.owl#author"/>
                <swrl:argument2 rdf:resource="#z"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >&lt;p&gt;
      If a dataset has reference documentation, the authors of that 
      documentation are added as dataset authors using hasSemantics
    &lt;/p&gt;</rdfs:comment>
  </swrl:Imp>
  <swrl:Imp rdf:ID="Implied_Semantics">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:body>
      <swrl:AtomList>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:argument2 rdf:resource="#z"/>
                <swrl:argument1 rdf:resource="#y"/>
                <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#implies"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
          </swrl:AtomList>
        </rdf:rest>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument2 rdf:resource="#y"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
            <swrl:argument1 rdf:resource="#x"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:argument2 rdf:resource="#z"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
  <swrl:Imp rdf:ID="iridl_Covariance">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasIndependentVariables"/>
            <swrl:argument2 rdf:resource="#y"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:argument1 rdf:resource="#z"/>
                <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasIndependentVariables"/>
                <swrl:argument2 rdf:resource="#y"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument2 rdf:resource="#z"/>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/netcdf-obj.owl#isCovariantWith"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
  <swrl:Imp rdf:ID="iridl_IVCovariance">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasIndependentVariables"/>
            <swrl:argument2 rdf:resource="#y"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/netcdf-obj.owl#isCovariantWith"/>
            <swrl:argument1 rdf:resource="#x"/>
            <swrl:argument2 rdf:resource="#y"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
  <swrl:Imp rdf:ID="Inherit_references">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasReferenceDocumentation"/>
            <swrl:argument1 rdf:resource="#y"/>
            <swrl:argument2 rdf:resource="#z"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
    <swrl:body>
      <swrl:AtomList>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#hasReferenceDocumentation"/>
                <swrl:argument1 rdf:resource="#x"/>
                <swrl:argument2 rdf:resource="#z"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
          </swrl:AtomList>
        </rdf:rest>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#isContainerOf"/>
            <swrl:argument2 rdf:resource="#y"/>
            <swrl:argument1 rdf:resource="#x"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:body>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >if a dataset has referenceDocumentation, anything it contains also has that referenceDocumentation
</rdfs:comment>
  </swrl:Imp>
  <swrl:Imp rdf:ID="dataset_authors_from_referencesII">
    <rdfs:isDefinedBy rdf:resource="" />
    <swrl:body>
      <swrl:AtomList>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:ClassAtom>
                <swrl:classPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iribib.owl#Person"/>
                <swrl:argument1 rdf:resource="#y"/>
              </swrl:ClassAtom>
            </rdf:first>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
          </swrl:AtomList>
        </rdf:rest>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:argument2 rdf:resource="#y"/>
            <swrl:propertyPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iriterms.owl#isDescribedBy"/>
            <swrl:argument1 rdf:resource="#x"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:body>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >If a dataset has semantic that is iribib:Person, the authors of the documentation are added to the class iridl:Person
</rdfs:comment>
    <swrl:head>
      <swrl:AtomList>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:classPredicate rdf:resource="http://iridl.ldeo.columbia.edu/ontologies/iridl.owl#Person"/>
            <swrl:argument1 rdf:resource="#y"/>
          </swrl:ClassAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
</rdf:RDF>

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