Re: First meeting of our group

On 12/11/18 6:03 PM, Gregg Kellogg wrote:
> Having a hard time finding other references, but around the time the 
> RDF 1.1 WG was completing TriG, there was a thought to do a follow-on 
> which would be a super-set of TriG (TrigN3?) allowing more N3-like 
> syntax. I have a branch in my implementation [1] which had a sample 
> grammar [2] that would allow graphs to appear as the subject or object 
> of a statement. I recall Sandro, Andy S., Eric P. and Gavin C. were 
> involved in discussing this as well. This would have allowed something 
> like the following (from Notation 3 Logic [3]):
>
> {
>   _:x :wrote _:y.
>    _:y log:includes {_:z :weather _:w}.
>   _:x :livesIn _:z
> } log:implies {
>   <Boston> :weather _:y
> }.
>
> to be syntactically valid (without describing what it means). My 
> interpretation is that graphs can have blank-node names, so that 
> dataset might be equivalent to the following:
>
> _:g1 { _:x :wrote _:y.  _:y log:includes _:g2 . _:x :livesIn _:z}
> _:g2 {_:z :weather _:w}
> _:g3 {<Boston> :weather _:y}
> _:g1 log:implies _:g3 .
>

Yes, I'm still quite grumpy we didn't include this.  It's trivial 
syntactic sugar, and would have made generalized 
<https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf> Trig a 
superset of N3 at the syntactic level, or very close to it. Then the 
semantics of N3 Rules would be a matter for the log: vocabulary, not 
syntax.   (And in that case, you could exchange "N3" rules via other 
Dataset languages and APIs, like SPARQL, JSON-LD, and N-Quads.)  Well... 
okay, no, you'd still need some trick to deal with variables, but there 
are various ideas for that.

The original proposal was here: 
https://lists.w3.org/Archives/Public/public-rdf-wg/2013Jul/0190.html

> There’s a separate conversation to be had about graphs being 
> first-order resources (along with RDF* statements).
>

I'd suggest we do the above syntactic sugar trick, then we have graphs 
as first-order resources, being part of RDF Datasets.

Technically there's a missing link between the graph name and the graph, 
because the spec never says that the graph name denotes the graph, but I 
suggest that simply treating it as if it did is good enough, especially 
when the graph name is a blank node, which isn't going to be used for 
anything else.

> There was also some discussion in 2015 [4] on subject-lists:
>
> :Alice, :Bob, :Charlie :hasFriend :Doug.
>
> and for predicates:
>
> :sandro foaf:firstName,vcard:firstName "Sandro"
>
> and for graphs:
>
> GRAPH :g1, :g2, :g3 { ... some triples }
>

Indeed, I love that trick, too!   Something to keep in mind if we're 
making an extension to trig with inline graphs.  The names floating in 
my head for this are mugl or mugs, for multigraph language / syntax.  Or 
superturtle.

    -- Sandro

> Gregg Kellogg
> gregg@greggkellogg.net <mailto:gregg@greggkellogg.net>
>
> [1] https://github.com/ruby-rdf/rdf-trig/tree/feature/TrigN3
> [2] https://github.com/ruby-rdf/rdf-trig/blob/feature/TrigN3/etc/trig.bnf
> [3] https://www.w3.org/DesignIssues/Notation3.html
> [4] 
> https://lists.w3.org/Archives/Public/public-sparql-dev/2015JanMar/0030.html
>
>> On Dec 11, 2018, at 9:03 AM, Doerthe Arndt <doerthe.arndt@ugent.be 
>> <mailto:doerthe.arndt@ugent.be>> wrote:
>>
>> Dear all,
>>
>> Now that Dave offered to provide us a W3C git (thank you once 
>> again!), we should move on to the next point and identify the topics 
>> we want to work on. I set up a doodle to find the right time for a  
>> first meeting. Based on your answers so far, I thought that 16:00 UCT 
>> was the best time for such a meeting but if you think differently 
>> just let me know and I will adapt the doodle:
>>
>> https://doodle.com/poll/h7xrxhuwfvy8aqmu
>>
>> The list of open topics we discovered so far was (note that is an 
>> open list, I just summarize here what I remember):
>>
>>   * Provide a *formal semantics *for N3, open issues there:
>>       o *Implicit quantification:* scoping of universal variables and
>>         existential variables (blank nodes)
>>       o *Explicit quantification: *what is the scope of @forSome and
>>         @forAll? Do we want to allow any URI as variable?
>>       o *Meaning of built-in functions: *we need to agree on
>>         built-ins we want to see as part of N3 logic and formalise them.
>>       o *Meaning of cited formulas: *we need to agree on one
>>         formalisation for the meaning of cited formulas.
>>       o *Formalisation of a proof calculus *(but this can only be
>>         done after fixing the meaning of formulas).
>>       o *Lists: *lists are treated differently in RDF and N3 do we
>>         want to keep that? than we should clarify the relations of
>>         the standards.
>>
>>
>>   * To agree on formal semantics we really should focus on the
>>     expected *use cases* and here I would like to get some insights*.
>>     *We especially need to know:*
>>     *
>>       o *Which built-ins do we need?* Candidates are the ones which
>>         are already implemented for Cwm
>>         (https://www.w3.org/2000/10/swap/doc/CwmBuiltins), or the one
>>         identified by the RIF working group
>>         (https://www.w3.org/TR/rif-dtb/) or we could also look into
>>         the different functions which are available in SPARQL filters.
>>       o *How do want to use cited graphs: *There is a whole list how
>>         the related concept TriG could be understood
>>         (https://www.w3.org/TR/rdf11-datasets/). Behind these there
>>         are for sure applications which drove the definition*s *and I
>>         think it could help to understand what these were. But I also
>>         think that all of you have ideas how to use the concepts, so
>>         maybe we could create examples?*
>>         *
>>       o *How expressive does the rule reasoning need to be? *This
>>         will influence how we formalise the quantification, so I
>>         would like to know where you want to use N3 reasoning for.
>>
>>
>>   * We should also keep the *relation to other standards* close:
>>       o we should try to align with RDF where possible
>>       o do we need a JSON-LD specification?
>>       o what is the position towards TriG? Reification? RIF?
>>
>>
>>   * Together with the formalisation we should also discuss whether we
>>     provide a reference implementation together
>>
>> I would like to add these topics to the git as soon as we have it, we 
>> can also all propose new issues, discuss them there and prioritize. I 
>> hope that we end up with a short list of things we all tackle together.
>>
>> So, for a first step, please fill in the doodle till the end of the week.
>>
>> Kind regards,
>> Doerthe
>>
>>
>> -- 
>> Dörthe Arndt
>> Researcher Semantic Web
>> imec - Ghent University - IDLab | Faculty of Engineering and Architecture | Department of Electronics and Information Systems
>> Technologiepark-Zwijnaarde 19, 9052 Ghent, Belgium
>> t: +32 9 331 49 59 | e:doerthe.arndt@ugent.be  
>

Received on Tuesday, 11 December 2018 23:34:56 UTC