Skip to content

Initial content for 'Inference Rules' #452

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

Draft
wants to merge 1 commit into
base: gh-pages
Choose a base branch
from
Draft

Conversation

afs
Copy link
Contributor

@afs afs commented Jul 29, 2025

First pass at content for SHACL rules.

While this is a draft pull request, the important concerns are structure and design.

@HolgerKnublauch
Copy link
Contributor

Great start! I am assuming there will be some (RDF) vocabulary like sh:rule that links those rules to shapes, so that the target mechanisms come into the mix?

@afs
Copy link
Contributor Author

afs commented Jul 29, 2025

Great start! I am assuming there will be some (RDF) vocabulary like sh:rule that links those rules to shapes, so that the target mechanisms come into the mix?

That's the plan - it's in gist sketch.

Targets sh:targetClass (and its implicit form), sh:targetSubjectsOf and sh:targetObjectsOf are equivalent to triple patterns so make that syntax logically map to a generator of $this -- $this a :Class, $this :property ??, ?? :property $this -- and can be made to work for forward and backward implementation.

sh:targetNodes with node expressions may need limiting to the node expressions evaluated over the base graph, not triples currently being inferred. Node expressions are opaque as to what they depend on so backward chaining breaks and forward chaining can only work by blindly re-evaluating.

Similarly sh:target [ a sh:SPARQLTarget ; - though often that can be triple patterns.

So for regularity, maybe all targets should be "base graph only" generators of $this - run the rule once at the start of general evaluation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants