Referring to a concept in a not-imported ontology

2019-08-18 00:32发布

问题:

I want to refer to concepts defined in other ontologies, using only the respective concepts URI, without importing the outer ontology. I think that this is compatible with OWL semantics, using owl:equivalentTo property.

Can somebody confirm that this is correct? Furthermore, could someone provide me with an example on how to do it (preferably using Protege)?

回答1:

Assume there is an ontology anOnt: in which there is a term anOnt:Term that you want to reuse in your ontology yourOnt:. You may import anOnt: and you're done. However, you can also redeclare the term anOnt:Term in your ontology, like this:

yourOnt:  a  owl:Ontology .
anOnt:Term  a  owl:Class .
# use anOnt:Term as you wish

But these options are only necessary if you want to comply with OWL 2 DL. OWL also defines OWL Full, and its RDF-based semantics, where terms do not have to be declared at all. So you can just write:

yourOnt:SomeTerm  rdfs:subClass  anOnt:Term .

and that's compatible with OWL semantics, in the sense of the OWL 2 RDF-based semantics.

For more on whether you should use owl:imports or redeclare terms, or just reuse terms, you can read an answer I wrote on answers.semanticweb.com (a now deceased website). For more on why OWL 2 has two semantics, you can read another answer I wrote on answers.semanticweb.com.



回答2:

The only way you can refer to concepts in an external ontology is by importing it. After you have imported it you can use owl:equivalentTo to assert that say the Identity concept in your ontology is equivalent to the external:ID concept of the external ontology.



标签: owl protege