fluree / db

Fluree database library
https://fluree.github.io/db/
Other
337 stars 21 forks source link

Feature/shacl lang+logical constraints #760

Closed dpetran closed 5 months ago

dpetran commented 5 months ago

We were very close and the work was not hard, so I decided to make our SHACL support more complete.

This PR adds support (and tests) for all remaining SHACL constraints, namely:

It also adds support for SHACL sh:alternativePath paths.

It also adds tests for existing sh:targetSubjectsOf and sh:targetNode target declarations.

The only unsupported part of SHACL that remains are the recursive sh:path variants:

bplatz commented 5 months ago

Awesome @dpetran! Super happy to see this.

I think we are also still missing class inheritance (parent class shapes should apply to child classes).

dpetran commented 5 months ago

I think we are also still missing class inheritance (parent class shapes should apply to child classes).

Thanks, that's absolutely right, I had forgotten about hierarchies.