diff --git a/shacl12-rules/index.html b/shacl12-rules/index.html index bfdbc583..b825b80f 100644 --- a/shacl12-rules/index.html +++ b/shacl12-rules/index.html @@ -173,18 +173,32 @@

Document Conventions

Prefix Namespace + Informal Name rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + RDF rdfs: http://www.w3.org/2000/01/rdf-schema# + RDFS + + + srl: + http://www.w3.org/ns/shacl-rules# + SHACL Rules + + + shnex: + http://www.w3.org/ns/shnex# + SHACL Node Expressions sh: http://www.w3.org/ns/shacl# + SHACL shrl: @@ -197,10 +211,12 @@

Document Conventions

xsd: http://www.w3.org/2001/XMLSchema# + XML Schema ex: - http://example.com/ + http://example.com/ns# + Example

@@ -563,6 +579,7 @@

Concrete Syntax forms for Shapes Rules

 PREFIX :       <http://example/>
 PREFIX rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX shr     <http://www.w3.org/ns/shacl-rules#>
 PREFIX sh:     <http://www.w3.org/ns/shacl#>
 PREFIX shrl:   <http://www.w3.org/ns/shacl-rules#>
 PREFIX sparql: <http://www.w3.org/ns/sparql#>
@@ -644,10 +661,7 @@ 

RDF Rules Syntax

-

Describe how the abstract model maps to triples??. - way round - copes with extra triples. - Output is the instance of the abtract model that generates the triples - - but need to define "maximal". +

Alternative: Describe how the abstract model maps to triples.

@@ -941,6 +955,101 @@

Evaluation of a Rule Set

+
+

Drafting Notes

+
+

Attaching Rules to Shapes

+
+

@@ Discussion

+

+ See SHACL AF `sh:rule`, + which describes triple rules, + with special cases + of property value rules + and SPARQL Rules (AKA "CONSTRUCT rules"). +

+

Core issue 517 : classification shapes

+

+ How much compatibility? + At one level, nothing needs to be done because they have separate evaluation + and it is only a matter of whether an engine supports them or not. + It might be helpful to say when they happen (before 1.2 Rules — see also default values) + and can infer whether they generate inferred triple. +

+ +
+
+ +
+

Parameterization

+
+

@@ Discussion

+

Define a new rule that is another rule with some variables already set

+
    +
  • Where do the settings come from?
  • +
  • Is is just one "row" or a data table?
  • +
  • Logically, some `BIND` steps at the start of the rule body
  • +
+
+
+ +
+

More on evaluation

+
+

@@ Discussion

+

The main evaluation description creates all inferred triples using + the datalog "naive" algorithm.

+

Do we need to talk about backward evaluation and stratification?

+ +
+
+ +
+

Negation as semi-positive datalog

+
+

@@ Discussion

+

Negation (e.g., via SPARQL `NOT EXISTS`/`EXISTS`) can be allowed if + the pattern is executed only on the base data graph, not including the + inferred graph, i.e., inferred triples are not seen. + Or stratification — not seeing inferred triples from the current stratum. +

+

Priority for this feature?

+
+
+ +
+

Assignment restrictions

+
+

@@ Discussion

+

+ Assignment takes the rule language outside datalog. + Can we define when it is "safe" (e.g., triples involving the assignment + are not mentioned in the body of any other rule)? +

+

Do we need "order" in the syntax?

+
+
+
+

Work space named tuples

+
+

@@ Discussion

+

+ Currently, SHACL Rules are, in datatlog-speak, only unnamed 3-tuples. + To support "programming" in rules, should we allow transient (not part of the output, + only during rulset evaluation) named n-tuples?
+ e.g., name(termOrVar, ...), possibly with a unique marker, e.g., + ` + U+0060 grave accent + giving `name(termOrVar, ...). +

+
+
+
+

Shapes Rules Language Grammar