12.5 Reusing Existing Ontologies 295
merged to form a single XML document. The merger occurs each time the
main XML document is processed. In particular, this means that changing
one of the five XML documents would also change the merged document.
By contrast, if one constructed a new document by cutting and pasting,
then changes to any of the five XML documents would not be reflected in
the new document.
- Import.This is similar to inclusion except that the information in an im-
ported ontology remains in its original namespace. To refer to a resource
in the imported document, it is necessary to qualify it with the namespace
of the imported ontology. Distinguishing imported resources with names-
paces helps prevent ambiguity when the same concept name is used in
more than one imported ontology.
Each ontology language has its own special way to include and to import:
- XML.One can only include into an XML document. There is no XML
import mechanism. The mechanism for inclusion is called anentity,and
there are two main kinds of entity, distinguished by the character that sig-
nals the inclusion. One can use either an ampersand or a percent sign. The
percent sign is used for including material into a DTD. The ampersand is
used for including material into the XML document. This was discussed
in section 1.4. - XSD.Both include and import are supported by XSD. The include mech-
anism uses theincludeelement. Because included elements are in the
same namespace, there is the possibility of the same name being used for
two different purposes. Theredefineelement can be used to eliminate
such an ambiguity. Alternatively, one can choose to use theimportele-
ment which prevents ambiguities by keeping resources in different names-
paces. - RDF.There is no special mechanism for importing or including RDF on-
tologies beyond what is already available for XML documents. - OWL.One can import an OWL ontology into another one by using a prop-
erty namedowl:imports. In addition, it is possible to declare that a re-
source in one namespace is the same as a resource in another. This allows
one to introduce concepts from one namespace to another one namespace.
This is similar to theredefineelement of XSD.