Meeting minutes
<AndyS> present?
<DavidHabgood> Agenda: scheduling for future meetings; whether to still talk to Derta re. n3; work items for document esp. syntax variants
Andy: agenda for today is: scheduling for future meetings; whether to still talk to Doethe re. n3; work items for document esp. syntax variants
timeslot: Wednesday is best for everyone, at current time 10:30 UTC
AndyS: do we still want meeting with Dörthe, scheduling across timezones can be difficult. Worth coming up with wording around differences, e.g. logic system w/ rules vs. datalog
<AndyS> https://
<AndyS> and https://
Andy: will try to schedule a slot on Wednesday, if not Tuesday
Livio: some items still unclear, e.g. aggregates
… would be good to clarify difference w/ n3
AndyS: need to be careful on difference in writing for standard vs academic paper; standard to be normative
… also have options e.g. w3c notes, or adding to github discussions as means to include other information, comparisons
… suggest focus on defining SHACL rules, and see whether a comparison is required, can review comments for input
simonstey: will be comments on comparisons to n3, RIF; could go into primer, else expecting comments around reinventing existing
Robert: is it worth justifying decisions in the spec a bit
AndyS: could mention SHACL AF to show the demand for such a spec
simonstey: might be better to focus on justifying decisions rather than comparisons with others
Livio: can't compare against all others
Robert: consider complexity of comparing with other things
AndyS: the other techs show a need/demand; SHACL rules is an attempt to bring it closer to SHACL/SPARQL
<simonstey> https://
Oggy: good to understand intent/motivation for spec in addition to the specs as well
syntax
AndyS: RULE .. WHERE .. , IF .. THEN .., Datalog one with curly brackets. Has to be something to terminate a rule body, otherwise blurs into next rule
… EBNF strictly, rules must be on one line, char at end of line is a terminator, this is how not run into head of next production
… would need to do arbitrary lookaheads as can be many rules
Livio: do we also allow backtracking, as in prolog, "goal seek" behaviour
AndyS: not same as backtracking in prolog; no backtracking symbols or notion of "cut"
… can be an implementation detail. Can do brute force forward chain, query outcome
… can allow property functions as part of a SPARQL engine doing inference with rules
simonstey: how would the integration work, rules and sparql
AndyS: would work separately, call each other
Robert: graphwise has a current rule language, has some limitations, looking to implement SHACL 1.2 incl. rules
… use cases where owl reasoning is overkill; completion of KG use cases
… negation as failure is a useful feature for these cases
AndyS: would the implementation cover/be in RDF4J
Robert: potentially as they're tightly related
<AndyS> [8] Rule ::= Rule1 | Rule2 | Rule3 | Declaration
<AndyS> [9] Rule1 ::= 'RULE' HeadTemplate 'WHERE' BodyPattern
<AndyS> [10] Rule2 ::= 'IF' BodyPattern 'THEN' HeadTemplate
<AndyS> [11] Rule3 ::= HeadTemplate ':-' BodyPattern
Andy: RULE/WHERE and IF/THEN can accommodate people's different conceptual models
… third datalog syntax :- if any could be the one to remove
Livio: people will likely converge on one format; if to pick one, would pick Rule2
Oggy: is there any impact with having the RDF format for rules
simonstey: doesn't necessarily need to support arbitrary SHACL constructs
AndyS: non single valued functions do not fit in with the current abstract syntax
simonstey: Rule3 syntax it is datalog like but not quite so can be confusing anyway
Robert: Rule3 similar to other syntaxes as well
AndyS: actions on the end of rules, go through one pass of actions, IF THEN could be a good fit for the actions
consensus is 1&2 support different mental models
AndyS: actions are open, like CONSTRUCT, less restrictions, could allow more arbitrary creation of terms in an action
Oggy: old problem of combining constraint language + open world language e.g. OWL; papers on compiling rules into SHACL itself
<AndyS> https://
Robert: OWL fragments, has requirements around explicit typing, could use SHACL to check syntax first, then rules on top of this
Oggy: e.g. could complete type hierarchy using rules before doing other operations w/ OWL
<AndyS> https://
simonstey: part of historical reason for inclusion of RDFS in SHACL was to accommodate interests from different people
Robert: RDFS subclassing built in can be problematic, is odd that there isn't an equivalent sub property of
<simonstey> eiter
<Oggy> Thomas Eiter
<simonstey> https://
Oggy: have a proof of completeness
Livio: entailment discussion, how did it end
AndyS: out of scope for rules, can refer to an entailment regime