ROBOT

- - - - - - - - - -
view on github
getting started
common errors
chaining commands
global options
makefile
plugins
- - - - - - - - - -
annotate
collapse
convert
diff
expand
explain
export
export-prefixes
extract
filter
materialize
measure
merge
mirror
python
query
reason
reduce
relax
remove
rename
repair
report
template
unmerge
validate-profile
verify
- - - - - - - - - -
ROBOT is licensed under the
BSD 3-Clause License.
Theme by orderedlist

Multiple Asserted Superclasses

Problem: A class has more than one asserted named parent. This filters any axioms with the is_inferred true annotation, but inferences may not always be annotated. Double check where the parent is coming from before making changes.

Solution: Use logical axioms to infer dual parentage.

PREFIX oboInOwl: <http://www.geneontology.org/formats/oboInOwl#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?entity ?property ?value WHERE {
  VALUES ?property {rdfs:subClassOf}
  ?entity a owl:Class .
  ?entity ?property ?value .
  ?entity ?property ?value2 .
  FILTER (?value != ?value2)
  FILTER (!isBlank(?value))
  FILTER (!isBlank(?value2))
  FILTER NOT EXISTS {
    ?axiom owl:annotatedSource ?entity .
    ?axiom owl:annotatedTarget ?value .
    ?axiom owl:annotatedProperty rdfs:subClassOf .
    ?axiom oboInOwl:is_inferred ?inf .
    FILTER regex(str(?inf), "true")
  }
}
ORDER BY ?entity