I am creating an ontology that describes operating system components and I've run into a problem where I need to relate logical concepts with their physical counterparts but I can't imagine the exact structure and I do not understand why there is a conflict:
I have the following structure:
Daemon
File
FixedFile
TemporaryFile
UpdatableFile
ConfigFile
This structure seems correct as there are files of different type. But when I add that a Daemon has a file on disk - I can not say hasFileOnDisk exactly 1 File
because daemon can not be a config file, and on the other hand, ConfigFile
can be either Fixed,Updatable or even Temporary.
How do I relate that Daemon's hasFileOnDisk can not be ConfigFile
and ConfigFile
may be temporary,updatable or fixed but they are all files and inherit file data property fileName
?
Your problem cannot be resolved by just using inheritance relationshps between entities. You need to use other means to put constraint on hasFileOnDisk argument, for example disjoint classes.
<owl:Class rdf:ID="NonConfigFile">
<rdfs:subClassOf rdf:resource="#File"/>
<owl:disjointWith rdf:resource="#ConfigFile"/>
</owl:Class>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.