oml
oml copied to clipboard
OML needs to support the creation of defined classes
User Story
OWL supports 3 kinds of classes: primitive, defined, and anonymous. Anonymous classes are created as needed by reasoners (and not relevant to this issue).
OML only directly supports primitive. There is no support for defined classes.
Detailed Description
Various upper ontologies as well as custom topologies often use defined classes. OML needs a way to allow users to create defined classes (which use the owl:equivalentClass instead of owl:subClassOf element).
<owl:Class rdf:about="http://fqdn/example#Sailboat">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://fqdn/example#Boat"/>
<owl:Restriction>
/* restriction omitted for clarity */
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
In order to make OML (and openCAESAR) easier to adopt, OWL users will most likely expect the ability to create the same OWL constructs using OML as they would if they had directly authored items in OWL. Otherwise, reliance on upper topologies will be seen as a major blocker to the adoption of OML.
References
https://en.wikipedia.org/wiki/Upper_ontology https://www.w3.org/2003/01/owl-guide/Overview.html#owl_equivalentClass https://drive.google.com/file/d/1A3Y8T6nIfXQ_UQOpCAr_HFSCwpTqELeP/view
This ability is coming up in OML v2 (https://www.opencaesar.io/projects/2023-2-1-OML-v2.html).
In particular, you will be able to specify the following:
concept Sailboat = Boat [
restricts ...
]
This says that Sailboat is equivalent to the intersection of Boat and the restriction.