An owl:imports statement, that is an instance of owl:OntologyProperty, references another OWL ontology containing definitions, whose meaning is considered to be part of the meaning of the importing ontology.

Each reference consists of a URI specifying from where the ontology is to be imported. Syntactically, owl:imports is a property with the class owl:Ontology as its domain and range.

Ontology annotations that use owl:imports have the extra effect of importing the target ontology.

The owl:imports statements are transitive, that is, if ontology A imports B, and B imports C, then A imports both B and C.


    <rdf:Property rdf:ID="imports">


        <rdf:type rdf:resource="#OntologyProperty"/>

        <rdfs:domain rdf:resource="#Ontology"/>

        <rdfs:range rdf:resource="#Ontology"/>


Example listing


If a property o is used where an ontology property is expected then it should either be one of the built in ontology properties (owl:imports, owl:priorVersion, owl:backwardCompatibleWith, and owl:incompatibleWith) or there should be a triple:

    o  rdf:type  owl:OntologyProperty


    <owl:Ontology rdf:about="">

        <rdfs:comment>An example OWL ontology</rdfs:comment>

        <owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine"/>

        <owl:imports rdf:resource="http://www.w3.org/TR/2004/REC-owl-guide-20040210/food"/>

        <rdfs:label>Wine Ontology</rdfs:label>


Other information

Importing an ontology into itself is considered a null action, so if ontology A imports B and B imports A, then they are considered to be equivalent.

Note that whether or not an OWL tool must load an imported ontology depends on the purpose of the tool. If the tool is a complete reasoner (including complete consistency checkers) then it must load all of the imported ontologies. Other tools, such as simple editors and incomplete reasoners, may choose to load only some or even none of the imported ontologies.

Although owl:imports and namespace declarations may appear redundant, they actually serve different purposes. Namespace declarations simply set up a shorthand for referring to identifiers. They do not implicitly include the meaning of documents located at the URI. On the other hand, owl:imports does not provide any shorthand notation for referring to the identifiers from the imported document. Therefore, it is common to have a corresponding namespace declaration for any ontology that is imported.

The ontology-import construct owl:imports and the ontology-versioning constructs owl:priorVersion, owl:backwardCompatibleWith and owl:incompatibleWith are defined in the OWL vocabulary as instances of the OWL built-in class owl:OntologyProperty. Instances of owl:OntologyProperty must have the class owl:Ontology as their domain and range.

Use in ISO 15926