Reputation: 1198
First I will list how I was doing what I want to do when I had just one Ontology, then I will list my question with two ontologies just to give you the full context of my problem. (and excuse me if i used the words such as properties in wrong context, that is why I will add pictures to support my question)
When I had just one ontology, I had an Object Property, and I could add property (you may call it annotation) for it like this:
It was simple, just click on add annotation, and create a new annotation called "degreeBy" and set the value.
However, now I have two ontologies (the same example but different name for the properties), where I have a data property in one ontology and an object property in another ontology.
I created a thrid ontology in protege by importing the two ontologies.
so now I have in the object property section:
where hasFeature
is an object property coming from the first ontology, and I have in the data property section:
where hasSimilarityValue
is a data property (with range double) coming from the second ontology.
Now I want to say that the hasFeature
property has hasSimilarityValue
with a specific value. As I showed you, this was easy when I had just on ontology, but now, when I click on the hasFeature
property and then click add annotation, i can't see the hasSimilarityValue
there, this is why I see:
could you help me please
Upvotes: 1
Views: 3657
Reputation: 10659
This is not possible in OWL 2 DL - you are trying to use a data property as an annotation property. This is called punning - using two entities with the same IRI but different type - and it is only allowed between classes and individuals, or classes and datatypes.
You can do this through code, for example with the OWL API, but your ontology will be OWL 2 Full and tools like Protege might have problems dealing with it.
Upvotes: 2