Metamodeling for the distinction between Process and Task
Hello,
we have the following issue where I am unsure what is the correct modeling technique to tackle it. Lets consider this simplified example:
:Component a owl:Class
:Process a owl:Class
:Task a owl:Class
:hasInputType a owl:ObjectProperty ;
rdfs:domain :Process ;
rdfs:range :Component . # now refers to the individual named Component
:hasInput a owl:ObjectProperty ;
rdfs:domain :Task ;
rdfs:range :Component . # now refers to the individual named Component
What we try is to achieve the following:
- We want to relate the Process to the class Component and say that e.g. a Process like :UnsrewingProcess would relate to the to class of :Screw using :hasInputType, while an :UnscrewingTask would relate to an individual of the class :Screw using the :hasInput relation
Would I be able to say the following?
:myProcess :hasInputType :Component .
:myTask :hasInputType :MyComponentInstance .
I read into this, and what I find is that this is called "Punning" and is an OWL 2 DL https://www.w3.org/TR/owl2-primer/ see Section 8.3.
I also know that we hre enter the realm of Metamodeling and I am wondering if there is a better solution for this?
Edited by Jan-Felix Klein