Skip to content

Reduce operation with property chains #1014

@hkir-dev

Description

@hkir-dev

For the given ontology:

Prefix(:=<http://purl.obolibrary.org/obo/test.owl#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)


Ontology(<http://purl.obolibrary.org/obo/test.owl>

Declaration(Class(<http://purl.obolibrary.org/obo/Kupffer_cell>))
Declaration(Class(<http://purl.obolibrary.org/obo/liver>))
Declaration(Class(<http://purl.obolibrary.org/obo/liver_lobule>))
Declaration(ObjectProperty(<http://purl.obolibrary.org/obo/located_in>))
Declaration(ObjectProperty(<http://purl.obolibrary.org/obo/part_of>))

############################
#   Classes
############################

# Class: <http://purl.obolibrary.org/obo/Kupffer_cell> (<http://purl.obolibrary.org/obo/Kupffer_cell>)

SubClassOf(<http://purl.obolibrary.org/obo/Kupffer_cell> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/located_in> <http://purl.obolibrary.org/obo/liver>))
SubClassOf(<http://purl.obolibrary.org/obo/Kupffer_cell> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/located_in> <http://purl.obolibrary.org/obo/liver_lobule>))

# Class: <http://purl.obolibrary.org/obo/liver_lobule> (<http://purl.obolibrary.org/obo/liver_lobule>)

SubClassOf(<http://purl.obolibrary.org/obo/liver_lobule> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/part_of> <http://purl.obolibrary.org/obo/liver>))


SubObjectPropertyOf(ObjectPropertyChain(<http://purl.obolibrary.org/obo/located_in> <http://purl.obolibrary.org/obo/part_of>) <http://purl.obolibrary.org/obo/located_in>)
)

below assertion can already be inferred through partonomy + property chain located_in o part_of → located_in

SubClassOf(<http://purl.obolibrary.org/obo/Kupffer_cell> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/located_in> <http://purl.obolibrary.org/obo/liver>))

So this statement is redundant and should be stripped by the reduce command. But the reduce operation doesn't delete it now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions