OWL Reference

This page will attempt to be an OWL Reference in terms of highlighting the key vocabularies one will use when creating ontologies.

The idea is to present them in order of complexity, starting with simple, basic stuff.

Basic Classification

  • See Hebeler ch. 4, around p.110
  • owl:class – category of things that share common features
  • rdf:type (a)
    • use to name a class (MyClass rdf:type owl:class)
    • use to name an individual as a class member (Jeff rdf:type MyClass)
  • Annotations
    • rdf:label – use to provide a printable name for a resource
      • Possible trick: creating subPropertyOf rdf:label to create different types of labels.  However those labels will apply to the entire ontology.
    • rdf:comment – provide more verbose description
      • Same potential trick as for rdf:label using subPropertyOf.
    • owl:versionInfo
    • owl:AnnotationProperty customPropertyName
    • rdfs:seeAlso – provide a link to a ‘live’ (resolvable) URL containing Linked Data (machine readable) or a web page or document (Human readable)
    • rdfs:isDefinedBy – link to primary source of information about a resource
  • rdfs:subClassOf
    • Distinction between subclasses and instances: Subclass represents a subset of the members of a parent class, while an Instance represents an individual member of that class.
  • owl:ObjectProperty
  • owl:DatatypeProperty
  • rdfs:domain and rdfs:range
    • Be careful of these, especially rdfs:domain.  Once a resource uses a property in a domain or range, that resource is inferred to be part of the associated classes of the domain or range.  Look at using property restrictions – see later
    • Remember, Properties are defined independently independently of any class
      • They are ‘First Class Objects’
    • Good example in Hendler, pp 146-150

Describing Properties (RDFS-Plus)

  •  rdfs:subPropertyOf – create property taxonomies
    • Hendler also shows using subPropertyOf and subClassOf for intersection, union, and merging like entities from different sources.  However TBD is if any advantages to using this method vs provided OWL constructs for the same thing(?)
  • owl:inverseOf
    • very powerful for inferencing, esp when used w/rdfs:subPropertyOf
    • can be used w/rdfs: and owl: vocab
      • ex. myowl:superClass owl:inverseOf rdfs:subClassOf
    • Note this is a property, therefore a property is an inverseOf another property
  • owl:SymmetricProperty
    • more readable than prop owl:inverseOf prop
    • note this is a class, therefore properties can be an rdf:type of this class
  • owl:TransitiveProperty
    • if a=b and b=c then a=c
    • Use for inferencing hierarchy
    • Note this is a class like owl:SymmetricProperty
    • Maybe use in Transmission hierarchies
  • owl:subPropertyOf, owl:inverseOf, and owl:TransitiveProperty can be used together to model workflow process threads containing dependencies.  See Hendler pp. 165-170
  • owl:equivalentClass, owl:equivalentProperty
    • see Hendler pgs 170-172, can we use owl:sameAs (see next)
  • owl:sameAs
    • presented with implication to be used for equivalence between individuals.  Other sources imply it can be used for Classes and Properties as well.
  • owl:FunctionalProperty
    • The associated object to a FunctionalProperty is unique
    • Used to infer sameness of objects
  • owl:InverseFunctionalProperty
    • Considered by many to be the most important modeling construct in RDFS-Plus
    • The associated subject to an InverseFunctionalProperty is unique
    • Used to infer sameness of subjects
      • Thus important for federating multiple data sources
      • Similar role as key field in relational database
  • If a property is both Functional and InverseFunctional, then it represents a one-to-one mapping between subject and object


  • owl:Restriction
    • owl:allValuesFrom
    • owl:someValuesFrom
    • owl:hasValue
    • used in conjunction with owl:onProperty
  • These are really key to inferencing, but can be tough to grasp,  at least for me, therefore lots of practice is warranted

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>