Synthetic Biology:Semantic web ontology/OWL

From OpenWetWare
Revision as of 15:14, 6 February 2006 by Ilya (talk | contribs) (→‎Resources)
Jump to navigationJump to search

Web Ontology Language (OWL) is used to define relationships between vocabularies and other constraints. As the Semantic Web is inherently distributed, OWL must allow for information to be gathered from distributed sources.

OWL adds the ability to indicate when two classes or properties are identical. OWL declarations provide additional information to let rule-checking and theorem-proving systems work with RDF data. Other richer schema capabilities that have been identified as useful (but that are not provided by RDF Schema) include:

  • cardinality constraints on properties, e.g., that a Person has exactly one biological father.
  • specifying that a given property (such as ex:hasAncestor) is transitive, e.g., that if A ex:hasAncestor B, and B ex:hasAncestor C, then A ex:hasAncestor C.
  • specifying that a given property is a unique identifier (or key) for instances of a particular class.
  • specifying that two different classes (having different URIrefs) actually represent the same class.
  • specifying that two different instances (having different URIrefs) actually represent the same individual.
  • specifying constraints on the range or cardinality of a property that depend on the class of resource to which a property is applied, e.g., being able to say that for a soccer team the ex:hasPlayers property has 11 values, while for a basketball team the same property should have only 5 values.
  • the ability to describe new classes in terms of combinations (e.g., unions and intersections) of other classes, or to say that two classes are disjoint (i.e., that no resource is an instance of both classes).

OWL introduces its own Class and Thing to differentiate the individuals from the classes

owl:Class rdfs:subClassOf rdfs:Class
owl:Thing rdf:type owl:Class

owl:oneOf - class consists of exactly of those individuals:

<rdf:Property rdf:ID="chartType">
   <rdf:range>
      <owl:Class>
         <owl:oneOf rdf:parseType="Collection">
            <owl:Thing rdf:ID="Bar"/>
            <owl:Thing rdf:ID="Pie"/>
            <owl:Thing rdf:ID="Radar"/>
            …
         </owl:oneOf>
      </owl:Class>
   </rdf:range>
</rdf:Property>

owl:unionOf (also: complementOf, intersectionOf)

<owl:Class rdf:ID="AnimationEntity">
   <owl:unionOf rdf:parseType="Collection">
       <owl:Class rdf:about="#animate"/>
       <owl:Class rdf:about="#animateMotion"/>
       <owl:Class rdf:about="#animateColor"/>
       …
   </owl:unionOf>
</owl:Class>

Resources