You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After #96, the Brick ontology imports successfully — but the resulting graph has 1,530 entity types and 0 relationships. Every node is disconnected, which makes the imported ontology unusable for exploration.
Repro
Download Brick 1.4 as RDF/XML (content negotiation on https://brickschema.org/schema/Brick, Accept: application/rdf+xml)
The relationship mapper only builds relationships from owl:ObjectProperty elements carrying rdfs:domain/rdfs:range pairs. Brick 1.4 contains just 2 rdfs:domain and 5 rdfs:range statements in the whole 5.2 MB file — its actual graph structure is the class taxonomy:
2,016 rdfs:subClassOf statements between classes (e.g. brick:DDAHU rdfs:subClassOf brick:Air_Handling_Unit), which the parser ignores entirely.
This affects any ontology whose structure is primarily a class hierarchy (most published OWL taxonomies), not just Brick.
Expected behavior
rdfs:subClassOf references between imported classes should be extracted as relationships so the taxonomy is visible and navigable in the graph.
(Brick also expresses property domain/range constraints via SHACL property shapes — sh:property → sh:path/sh:class — which could be a further enhancement, but the subClassOf hierarchy is the dominant structure and the highest-value fix.)
Happy to submit a PR for this — follow-up to #96 as noted in its description.
Describe the bug
After #96, the Brick ontology imports successfully — but the resulting graph has 1,530 entity types and 0 relationships. Every node is disconnected, which makes the imported ontology unusable for exploration.
Repro
https://brickschema.org/schema/Brick,Accept: application/rdf+xml)Root cause
The relationship mapper only builds relationships from
owl:ObjectPropertyelements carryingrdfs:domain/rdfs:rangepairs. Brick 1.4 contains just 2rdfs:domainand 5rdfs:rangestatements in the whole 5.2 MB file — its actual graph structure is the class taxonomy:rdfs:subClassOfstatements between classes (e.g.brick:DDAHU rdfs:subClassOf brick:Air_Handling_Unit), which the parser ignores entirely.This affects any ontology whose structure is primarily a class hierarchy (most published OWL taxonomies), not just Brick.
Expected behavior
rdfs:subClassOfreferences between imported classes should be extracted as relationships so the taxonomy is visible and navigable in the graph.(Brick also expresses property domain/range constraints via SHACL property shapes —
sh:property→sh:path/sh:class— which could be a further enhancement, but the subClassOf hierarchy is the dominant structure and the highest-value fix.)Happy to submit a PR for this — follow-up to #96 as noted in its description.