Add SHACL constraints - #552
Conversation
|
Great job!
I have not tried to execute it yet, but I think it does by looking at the way the shapes are linked. |
|
Thanks @kentthang010 ! @DrJonasWestman, thanks for taking an initial look. Can you please take a closer look to check that the file captures what you need. We can also discuss it during our call on Friday. In fact, I already told @kentthang010 that the vocabulary may still change and, as a result, the shape definitions may need to be adapted as well. |
|
I will happily do that but I think it makes more sense if I do it after our meeting on Friday. |
Makes sense.
My initial reaction would be that we shouldn't make this assumption because it would add another step to the validation process: some inferencing component would need to have the vocabulary loaded and run the inference whenever validation needs to take place. But I am happy to hear arguments in favor of making the assumption. Having said that, we can require the fed.descriptions to contain relevant triples that our current example fed.descriptions do not have (like rdf:type triples). Maybe that would already solve the issue. |
|
@kentthang010 With PR #597 merged, you can resume the work on the SHACL shapes for the feddesc vocabulary. |
|
Latest commit rewrites
I solved it by adding two new shapes Not sure if this is the cleanest solution, let me know if there is a better one! |
|
Latest commit resolves all PR comments. Although, while testing, I noticed that So in other words, I think the validator currently validates the RDF list node itself against At this point, do we want to:
|
Review coming up..
Indeed. That's not how it should be.
The latter would be better. I think you should be able to use the SHACL Property Paths feature to navigate from the root list element (the object of the |
|
Latest commit resolves the PR comments above. Both the interface and federation member shapes now use the same pattern ( |
hartig
left a comment
There was a problem hiding this comment.
From my perspective, this PR looks good now.
@DrJonasWestman what do you think?
Builds upon @DrJonasWestman's initial SHACL file by adding constraints that were present in
FederationDescriptionReader.javaandfeddesc.ttlbut not infeddesc.shacl.ttl. Also changes the shape definitions to only accept xsd:anyURI literals.May not cover all constraints present in
FederationDescriptionReader.javaorfeddesc.ttl.Ignores
BoltInterface,GraphQLEndpointInterfaceandMappingConfigurationconstraints for now as they may get reworked. It does not implement modular / incremental validation