Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OML needs to support the creation of defined classes #101

Open
mprather opened this issue Oct 5, 2022 · 1 comment
Open

OML needs to support the creation of defined classes #101

mprather opened this issue Oct 5, 2022 · 1 comment

Comments

@mprather
Copy link

mprather commented Oct 5, 2022

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

@melaasar
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants