-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shape inheritance only works when single dataset is used #60
Comments
For inheritance to work, your "ontology" ( |
No, I don't think it does. Class hierarchy is not property of data itself but of the its meta model (classes). Holger suggest to run the validation over the union graphs which does work already as I mention above. The only problem is when the two RDF/JS datasets are separated. I would consider merging them in memory (maybe opt-in, to prevent copying large amounts of data). That would be transparent to the caller, whether they use one or two datasets as input. |
I like the idea of merging the datasets inside the validator, but I'm afraid of the consequences, mostly regarding blank nodes. We're back to the same considerations: if we can agree that users should not expect blank nodes to keep their ID in the final "validation report" dataset, changing these IDs during validation shouldn't be an issue. |
I think blank nodes will not be a problem if the "merging" happened in named graphs inside the joint dataset. The only requirement would be address them as |
I tried to evaluate how easy this change would be and I think it will require a major refactoring: mostly passing clownface pointers around instead of nodes without context. |
The validator supports shape hierarchies using
rdfs:subClassOf
but they are not applied correctly if the data graph and shapes graph are separate instances ofDataset
Consider this example.
The result is false-positive, even though the validated instance should be validated as
foaf:Agent
.The correct results is returned if a single dataset is populated, for example using actual named graphs:
The text was updated successfully, but these errors were encountered: