- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Sat, 18 May 2013 12:38:52 -0700
- To: Henry Story <henry.story@bblfish.net>
- Cc: Sandro Hawke <sandro@w3.org>, Jan Wielemaker <J.Wielemaker@vu.nl>, Seaborne Andy <andy.seaborne@epimorphics.com>, "public-rdf-comments@w3.org" <public-rdf-comments@w3.org>
On May 18, 2013, at 10:08 AM, Henry Story <henry.story@bblfish.net> wrote:
>
> On 18 May 2013, at 18:18, Henry Story <henry.story@bblfish.net> wrote:
>
>>
>> On 17 May 2013, at 13:38, Sandro Hawke <sandro@w3.org> wrote:
>>
>>> On 05/17/2013 06:00 AM, Jan Wielemaker wrote:
>>>> On 05/17/2013 11:49 AM, Andy Seaborne wrote:
>>>>
>>>> [this fragment is from Charles Greer, not answered by Andy]
>>>>
>>>>> 1. Could the spec be modified to allow TriG to be a superset of
>>>>> turtle? Specifically, could the production rules be modified to allow
>>>>> a set of triples outside of any '{' '}' to be the same as triples in a
>>>>> default anonymous graph? It seems that even now, the rules allow
>>>>> multiple anonymous graph productions, whose union would be the unnamed
>>>>> graph. It would be convenient if we could dispense with these anonymous
>>>>> curly braces altogether if possible.
>>>>
>>>> Having implemented TriG yesterday on top of the Turtle parser, I must say that I was happily surprised that TriG does not allow for triples
>>>> outside {}. This means you can detect whether a document is a Turtle
>>>> or TriG document at the first triple.
>>
>> I completely agree. If we can have Trig be an extension of Turtle, then we
>> are just one step from N3. Having this would be very useful to be
>> able to quote graphs and do simple things that Atom allows one to do such
>> as having a graph expressing the content of other resources.
>>
>> eg:
>>
>> So instead of having to write something like
>>
>> <> rdf:member [ owl:sameAs <member> ;
>> :title "An Order for a sanwich" ;
>> :updated "2013-05-13..."^^xsd:dateTime;
>> :content """
>> @base ...
>> @prefix ...
>>
>> <> :title "An Order for a Sandwich";
>> :primaryTopic <#x>
>> <#x> a TunaSandwich
>> ....
>> """^^lang:Turtle
>> ] .
>>
>> One could write:
>>
>> <> rdf:member [ owl:sameAs <member> ;
>> :title "An Order for a sandwich" ;
>> :updated "2013-05-13..."^^xsd:dateTime;
>> :content {
>> <member> :title "An Order for a Sandwich";
>> :primaryTopic [ a TunaSandwich ] ....
>>
>> }
>> ] .
>
> Sorry that was N3. I am not sure what the Trig way to do that would be.
> But I don't think the = sign is the right solution. That should be
> reserved for owl:sameAs as it is in N3.
>
> In N3 graphs can be unnamed so the :content relation above
> I think there is better expressed with log:semantics.
>
> This seems better
>
> <Eric/ericP-foaf.rdf> log:semantics {
> @base <http://www.w3.org/People/Eric/> .
> @prefix ericFoaf: <ericP-foaf.rdf#> .
> ericFoaf:ericP :givenName "Eric" ;
> :knows <http://norman.walsh.name/knows/who/dan-brickley> ,
> [ :mbox <mailto:timbl@w3.org> ] ,
> <http://getopenid.com/amyvdh> .
> }
>
>
> going on what is here:
> http://www.w3.org/2010/01/Turtle/Trig
That still looks more like N3 than TriG. In existing TriG, you'd probably do something more like the following:
{
<> rdf:member [owl:sameAs <member>;
:title "An Order for a sandwich";
:updated "2013-05-13..."^^xsd:dateTime;
}
<member> {
<member> :title "An Order for a Sandwich";
:primaryTopic [ a TunaSandwich]
}
The proposed change, would be to be able to drop the {} around the default graph, not to allow a graph to appear in the subject or object position. So, with TriG which is a straight extension of Turtle, this might look like the following:
<> rdf:member [owl:sameAs <member>;
:title "An Order for a sandwich";
:updated "2013-05-13..."^^xsd:dateTime;
<member> {
<member> :title "An Order for a Sandwich";
:primaryTopic [ a TunaSandwich]
}
Personally, I would like to be able to avoid having {} around the default graph, but people of objected that this makes it difficult to know if you are getting a graph syntax or a dataset syntax. Note that this situation already exists with JSON-LD, and a consumer only wanting a graph should just take the default graph portion of the document and discard the named graph portions. You could also distinguish document type by Mime type.
Gregg
>
>>
>> One needs this if one is going to be able to for example GRDDL something
>> as simple as an Atom Syntax document that contains RDF.
>>
>>>
>>
>> Social Web Architect
>> http://bblfish.net/
>>
>
> Social Web Architect
> http://bblfish.net/
>
>
Received on Saturday, 18 May 2013 19:39:21 UTC