问题
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.
来源:https://stackoverflow.com/questions/47695745/referring-to-a-concept-in-a-not-imported-ontology