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

Mapping for Equivalent classes #139

Open
DougalW opened this issue Oct 19, 2020 · 2 comments
Open

Mapping for Equivalent classes #139

DougalW opened this issue Oct 19, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@DougalW
Copy link

DougalW commented Oct 19, 2020

Hi, just a thought - to map equivalent classes, how about converting these to primitive classes e.g. take the class "System" where "A system is an artifact with component parts where the parts contribute to the goal of the system".

    <owl:Class rdf:about="https://businessontology.com/ontology/System">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="https://businessontology.com/ontology/Artifact"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="https://businessontology.com/ontology/hasPart"/>
                        <owl:someValuesFrom rdf:resource="https://businessontology.com/ontology/Component"/>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="https://businessontology.com/ontology/Artifact"/>
    </owl:Class>

When converted to a primitive class becomes:

    <owl:Class rdf:about="https://businessontology.com/ontology/System">
        <rdfs:subClassOf rdf:resource="https://businessontology.com/ontology/Artifact"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="https://businessontology.com/ontology/hasPart"/>
                <owl:someValuesFrom rdf:resource="https://businessontology.com/ontology/Component"/>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

which now conforms to the OBA mapping.

@dgarijo dgarijo added the enhancement New feature or request label Oct 19, 2020
@dgarijo
Copy link
Contributor

dgarijo commented Oct 19, 2020

This looks like a good idea, but I would have to double check with other cases. Is it a safe assumption to always map it as a subclass? I cannot think of anything that could be wrong right now.

@DougalW
Copy link
Author

DougalW commented Oct 19, 2020

I think it's safe to map to one or more subclasses - this is the behaviour in Protege if you select Edit / Convert to Primitive Class. The only problem I can see is if there's complex boolean expressions, but in that case I would refactor my ontology to suit the mapping.

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

No branches or pull requests

2 participants