robot icon indicating copy to clipboard operation
robot copied to clipboard

Reduce operation with property chains

Open hkir-dev opened this issue 3 years ago • 1 comments

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.

hkir-dev avatar Jun 20 '22 18:06 hkir-dev

If this can be fixed, I'd be happy for it to be optional switch on 'reduce'. It's possible that other types of redundancy are being missed too, so it would be good document further.

dosumis avatar Jun 21 '22 09:06 dosumis