OWL 2 Reference Card

From Semantic Portal Wiki

Jump to: navigation, search

Authors
Elisa F. Kendall, Sandpiper Software, Inc.
Deborah L. McGuinness, Rensselaer Polytechnic Institute
Evan K. Wallace, NIST
Contributors
Li Ding, Rensselaer Polytechnic Institute
Abstract
This document is intended to provide a quick reference to the OWL 2 language, similar to what was provided in the Language Synopsis section of the OWL Web Ontology Language Overview. Inspiration for this effort includes work by the ebiquity Research Group at the University of Maryland Baltimore County (UMBC) on earlier versions of a Reference Card for the Semantic Web.

Contents


URIs and Namespaces

As described in the Structural Specification and Functional-Style Syntax Specification, OWL ontologies and their elements are defined using International Resource Identifiers (IRIs) RFC-3987. OWL developers may use CURIEs to abbreviate IRIs and thereby improve readability.

The standard namespaces and the respective prefixes used throughout the OWL 2 specifications include:

rdf
rdfs
xsd
owl
ox
http://www.w3.org/1999/02/22-rdf-syntax-ns#
http://www.w3.org/2000/01/rdf-schema#
http://www.w3.org/2001/XMLSchema#
http://www.w3.org/2002/07/owl#
http://www.w3.org/2006/12/owl2-xml#

Ontologies

An OWL ontology consists of a set of axioms. It may include annotations and may import other ontologies. An ontology document may also include namespace declarations, including those listed above that contain the reserved vocabulary for the OWL 2 language.

ontologyURI rdf:type owl:Ontology Ontology( ontologyURI ...)

Importing Ontologies

An ontology can make use of definitions from other ontologies by importing the ontologies that contain them. Importing an ontology means that the user commits to all of the statements made in that ontology.

ontologyURI owl:imports importedOntologyURI Ontology( Import ( importedOntologyURI ) ...)

Ontology Versioning & Related Annotations

Ontology-specific annotations may include version information or annotations indicating something about compatibility with other versions of the same ontology. For example, an ontology identified by an ontologyURI may also have a versionURI.

ontologyURI owl:versionInfo versionURI Ontology( ontologyURI [ versionURI] ...)

Ontology annotations may provide metadata to facilitate ontology analysis, comparison, mapping, and management. Note that they add no meaningful semantics to the ontology itself, however.

owl:backwardCompatibleWith
owl:incompatibleWith
owl:priorVersion
[owl:Ontology -> owl:Ontology]
[owl:Ontology -> owl:Ontology]
[owl:Ontology -> owl:Ontology]

Entities

Entities in OWL 2 define the vocabulary of an ontology, and include classes, datatypes, properties, and named individuals.

Classes

a:Class1 rdf:type owl:Class
a:individual1 rdf:type a:Class1
a:Class1 rdfs:subClassOf a:Class2
Declaration( Class( a:Class1 ) )
ClassAssertion( a:Class1 a:individual1)
SubClassOf( a:Class1 a:Class2 )
a:Class1 is a an OWL class
a:individual1 is an instance of / has type a:Class1
a:Class1 is a subclass of a:Class2

Built-in classes with predefined semantics in OWL include:

  • The class with URI owl:Thing - the set of all individuals, or the top concept
  • The class with URI owl:Nothing - the empty set, or the bottom concept

Datatypes

Properties

Object and data properties can be used to represent relationships in the modeled domain; annotation properties can be used to associate nonlogical information with ontologies.

Object Properties

Object properties relate pairs of individuals to one another.

a:property rdf:type owl:ObjectProperty
a:individual1 a:property a:individual2
a:property1 rdfs:subPropertyOf a:property2
Declaration( ObjectProperty( a:property ))
PropertyAssertion( a:property a:individual1 a:individual2)
SubPropertyOf (a:property1 a:property2)
a:property is an ObjectProperty
a:individual1 relates to a:individual2 via property a:property
a:property1 is a subproperty of a:property2

Built-in object properties with predefined semantics in OWL include:

  • The object property with URI owl:TopObjectProperty - connects all possible pairs of individuals, or the top role
  • The object property with URI owl:BottomObjectProperty - does not connect any pair of individuals, or the bottom role

Datatype Properties

Data properties associate individuals with constants.

a:property rdf:type owl:DatatypeProperty
a:individual a:property "constant"
a:property1 rdfs:subPropertyOf a:property2
Declaration( DataProperty( a:property ))
PropertyAssertion( a:property a:individual "constant")
SubPropertyOf (a:property1 a:property2)
a:property is a DataProperty
a:individual has value "constant" for a:property
a:property1 is a subproperty of a:property2

Built-in data properties with predefined semantics in OWL include:

  • The data property with URI owl:TopDataProperty - connects all possible individuals with all possible data values, or the top role
  • The data property with URI owl:BottomDataProperty - does not connect any individuals with any data values, or the bottom role

Annotation Properties

Annotation properties provide a means for augmenting ontologies, entities, or axioms with additional metadata. A number of built-in annotation properties from the RDF Schema vocabulary can be used in OWL. These include:

  • rdfs:label - to associate a human-readable label with an entity
  • rdfs:comment - to associate a comment with an entity
  • rdfs:seeAlso - to associate information available at some URI, or another entity, with an entity to provide additional information
  • rdfs:isDefinedBy - augment the definition of an entity with information available at some URI, or through another entity

In addition, the built-in owl:deprecated property may be used to indicate that a particular entity is deprecated within some context (i.e., set to "true"^^xsd:boolean). See Section 2.2, above, for more on ontology-specific built-in annotations.

The general form for annotation using the built-in vocabulary is as follows:

a:individual rdfs:comment "constant" EntityAnnotation( NamedIndividual( a:individual ) Comment( "constant") )

See Section 8 for more on customizing annotations.

Individuals

Individuals represent the actual objects in a domain, and may be named or anonymous. Named individuals by definition have URIs associated with them and are therefore considered entities. Examples using named individuals include:

a:individual rdf:type owl:NamedIndividual
a:individual rdf:type a:Class
a:individual a:property "constant"
Declaration( NamedIndividual( a:individual ))
ClassAssertion( a:Class a:individual)
PropertyAssertion( a:property a:individual "constant")
a:individual is a NamedIndividual
a:individual is an instance of a:Class
a:individual has value "constant" for a:property

Property Expressions

  • 'owl:DatatypeProperty' range is instance of rdfs:Datatype
  • 'owl:ObjectProperty' range is instance of owl:Class
owl:inverseOf [owl:ObjectProperty -> owl:ObjectProperty]
  • owl:OntologyProperty domain/range are owl:Ontology
  • 'owl:AnnotationProperty' range is rdfs:Literal
  • 'owl:FunctionalProperty' (s,p,o1) , (s, p,o2) =>sameAs( o1, o2)
  • 'owl:InverseFunctionalProperty' (s1,p,o) , (s2, p,o) => sameAs(s1, s2)
  • 'owl:SymmetricProperty' (s,p,o) => (o,p,s)
  • 'owl:TransitiveProperty' (a,p,b) (b,p,c) => (a,p,c)
  • 'owl:DeprecatedProperty' version control
  • owl:propertyChain
  • owl:propertyDisjointWith
  • owl:AllDisjointProperties
  • owl:ReflexiveProperty
  • owl:IrreflexiveProperty
  • owl:AsymmetricProperty
  • owl:NegativePropertyAssertion
    • owl:sourceIndividual
    • owl:assertionProperty
    • owl:targetValue
owl:equivalentProperty [rdf:Property -> rdf:Property]

Data Ranges

  • 'owl:DatatypeProperty' range is instance of rdfs:Datatype
  • 'owl:ObjectProperty' range is instance of owl:Class

Class Expressions

  • owl:datatypeComplementOf

Axioms

  • 'owl:DatatypeProperty' range is instance of rdfs:Datatype
  • 'owl:ObjectProperty' range is instance of owl:Class

Annotations

  • owl:Axiom

Global Restrictions on Axioms

  • owl:onClass
  • owl:onDatatype
  • owl:onDataRange
  • owl:withRestrictions
  • owl:SelfRestriction
  • owl:minQualifiedCardinality
  • owl:maxQualifiedCardinality
  • owl:qualifiedCardinality

Special classes

  • 'owl:Thing' all OWL individuals
owl:differentFrom
owl:sameAs
[owl:Thing -> owl:Thing]
[owl:Thing -> owl:Thing]
  • 'owl:Nothing' the complement of owl:Thing
  • 'owl:AllDifferent' OWL built-in
owl:distinctMembers [owl:AllDifferent -> rdf:List] OWL built-in


RDF/RDFS

  • RDF Node
rdfs:resource
rdf:type
rdfs:label
rdfs:comment -
rdfs:SeeAlso
rdfs:definedBy
rdf:value
[owl:Class -> owl:Class]
[owl:Class -> owl:Class]
[rdfs:Class -> rdf:List]
[owl:Class -> rdf:List]
[owl:Class -> rdf:List]
[owl:Class -> owl:Class]


  • owl:Restriction
owl:onProperty
owl:allValuesFrom
owl:someValuesFrom
owl:hasValue
owl:cardinality -
owl:maxCardinality -
owl:minCardinality -
[owl:Restriction -> rdf:Property]
[owl:Restriction -> rdfs:Class]
[owl:Restriction -> rdfs:Class]
[owl:Restriction -> ] no range constraint
[owl:Restriction -> xsd:nonNegativeInteger]
[owl:Restriction -> xsd:nonNegativeInteger]
[owl:Restriction -> xsd:nonNegativeInteger]
  • owl:DataRange sets of data values, range of data-valued property
  • 'owl:DeprecatedClass' version control
Personal tools
Semantic Web Community
Tetherless World constellation
maintenance