OWL 2 Reference Card
From Semantic Portal Wiki
- 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

