Open TShapinsky opened 5 months ago
@gtfierro I think I got most of the things we talked about yesterday. If I missed anything feel free to edit the issue. I think you should have access to the comment.
Looks great! Two things:
When a owl:imports statement is read ...
We should be specific on when these owl:imports
statements are read. I think they should be read:
Model.compile
)Model.validate
)Locally cached ontologies are indexed by the URL which was used to import/download the ontology file, not URI of the ontology defined in the file.
Technically these should be the same. A concrete example for people reading this later: the Brick ontology can be downloaded from https://brickschema.org/schema/1.4/Brick
(once I fix the Brick website), and the graph you download contains this triple
<https://brickschema.org/schema/1.4/Brick> a owl:Ontology .
However the triples inside the file all exist in the Brick namespace:
<https://brickschema.org/schema/Brick#Temperature_Sensor> a sh:NodeShape .
Interesting, I had it in my mind that the ontology would always be the prefix for most of the graph. But it seems like it pretty much just refers to the file.
There is one edge case that comes to mind, I can download the brick ontology from https://brickschema.org/schema/Brick
but the version downloaded from that url defines the ontology https://brickschema.org/schema/1.3/Brick
There is one edge case that comes to mind, I can download the brick ontology from https://brickschema.org/schema/Brick but the version downloaded from that url defines the ontology https://brickschema.org/schema/1.3/Brick
Yes, this is a "bug" due to an error in the Google Domains -> Squarespace migration. It should be fixed soon, but generally, the URL of the ontology (the versionless "schema/Brick...") should point to the latest stable version
Graph:
owl:ontology
Places where graphs are used:
Models:
Libraries:
Import resolution:
owl:imports
statement is read a request is sent to an ontology caching back end