- From: Abraham Bernstein <bernstein@ifi.uzh.ch>
- Date: Sun, 23 Mar 2014 12:46:47 +0100
- To: Manfred Hauswirth <manfred.hauswirth@deri.org>
- Cc: Daniele Dell'Aglio <daniele.dellaglio@polimi.it>, public-rsp@w3.org
+1
On 21.03.2014, at 15:12, Manfred Hauswirth <manfred.hauswirth@deri.org> wrote:
> +1
>
> On 21/03/14 13:47, Daniele Dell'Aglio wrote:
>> Hi all,
>> I also like the proposal, but I think that first we should define the
>> data model, and only after that we should discuss about its
>> serialization (and here, Trig can be a solution).
>> Just to make some examples:
>> - we didn't reach a consensus about how put the timestamps (and how many
>> timestamps)
>> - can a stream bring the same graph different times (maybe with
>> different triples)? I mean, what happens if the the stream contains:
>> GRAPH :g1{...} [after some time/elements] GRAPH :g1{...}
>> - who decide the timestamp(s) associated to a graph? Let's for example
>> consider a case with one timestamp representing the validity of the
>> graph. What happens if two streams describes the same graph with
>> different timestamp values?
>>
>> So, I really think that we need to understand what is a stream of
>> graphs, and only after we can discuss about the syntax and how to
>> implement it.
>>
>> Daniele
>>
>> On 03/21/2014 02:21 PM, Roland Stühmer wrote:
>>> Hi Mikko!
>>>
>>> I like it. I am using Trig in my streaming system DCEP [1] inside SOAP
>>> messages but also in plain HTTP streaming [3].
>>>
>>> https://github.com/play-project/play-commons/tree/master/play-commons-eventformat
>>>
>>>
>>> By the way an alternative way for a receiver to know when an event
>>> (composed of many triples) is finished we can use HTTP chunked
>>> connections [4]. The connection is long-lived (like a subscription) but
>>> the sender sends a new HTTP chunk for every single event. Start and end
>>> and the size of chunks can be detected by the receiever thanks to pure
>>> HTTP 1.1.
>>>
>>> Best!
>>>
>>> Roland.
>>>
>>> [1] https://github.com/play-project/play-dcep/
>>>
>>> [3]
>>> https://github.com/play-project/play-eventadapters/tree/master/play-eventadapter-ldstreams
>>>
>>> [4] http://en.wikipedia.org/wiki/Chunked_transfer_encoding
>>>
>>>
>>> On 21.03.2014 14:11, Mikko Rinne wrote:
>>>> Hi, All!
>>>>
>>>> TriG (http://www.w3.org/TR/trig/) reached W3C recommendation status in
>>>> February. As it has the basic support for streaming named graphs, there
>>>> have been some discussions in our team on whether we should take it into
>>>> use. As I haven't seen any discussion on the list or in the RSP CG
>>>> minutes on TriG, I was wondering whether there are already strong views
>>>> for or against?
>>>>
>>>> For those not familiar with TriG, it is " an extension of Turtle,
>>>> extended to support representing a complete RDF Dataset". A couple of
>>>> sample events could be represented in TriG like this:
>>>>
>>>> -------------TriG-------------
>>>>
>>>> *
>>>>
>>>> @prefix : <http:example.org/default#> .
>>>>
>>>> @prefix ep:
>>>> <http://www.ontologydesignpatterns.org/cp/owl/eventprocessing.owl#> .
>>>>
>>>> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
>>>>
>>>>
>>>> :ev1 { [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.158776 ; geo:long 24.881490 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T09:18:21"^^xsd:dateTime . }
>>>>
>>>>
>>>> :ev2 { [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.187458 ; geo:long 24.821272 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T09:42:00"^^xsd:dateTime . }
>>>>
>>>>
>>>> :ev3 { [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.187634 ; geo:long 24.821491 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T10:18:21"^^xsd:dateTime . }
>>>>
>>>> *
>>>> -------------------------------
>>>>
>>>> It is not terribly different from doing the same with SPARQL Update:
>>>>
>>>> -----------SPARQL Update-------------
>>>>
>>>> *
>>>>
>>>> PREFIX ep:
>>>> <http://www.ontologydesignpatterns.org/cp/owl/eventprocessing.owl#> .
>>>>
>>>> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
>>>>
>>>>
>>>> INSERT DATA {
>>>>
>>>>
>>>> GRAPH <http:example.org/default#ev1> {
>>>>
>>>> [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.158776 ; geo:long 24.881490 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T09:18:21"^^xsd:dateTime . }
>>>>
>>>>
>>>> GRAPH <http:example.org/default#ev2> {
>>>>
>>>> [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.187458 ; geo:long 24.821272 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T09:42:00"^^xsd:dateTime . }
>>>>
>>>>
>>>> GRAPH <http:example.org/default#ev3> {
>>>>
>>>> [] a ep:EventObject ;
>>>>
>>>> geo:Point [ geo:lat 60.187634 ; geo:long 24.821491 ; ] ;
>>>>
>>>> ep:hasEventObjectSamplingTime
>>>> "2014-01-07T10:18:21"^^xsd:dateTime . }
>>>>
>>>>
>>>> } # end-of INSERT DATA
>>>>
>>>> * -------------------------------
>>>>
>>>> The nice thing about TriG is that it would be easier to synchronize in
>>>> the middle of a stream (no "INSERT DATA" needed).
>>>>
>>>> Encapsulating streaming objects into graphs has the benefit, as pointed
>>>> out earlier by Axel, that the end of the object is explicitly marked.
>>>>
>>>> What do you think?
>>>>
>>>> Mikko
>>>
>>
>>
>
> --
> Prof. Manfred Hauswirth
> INSIGHT Centre for Data Analytics
> Digital Enterprise Research Institute (DERI)
> National University of Ireland, Galway
> http://www.manfredhauswirth.org/
>
-----------------------------------------------------------------
| Professor Abraham Bernstein, PhD
| University of Zürich, Department of Informatics
| web: http://www.ifi.uzh.ch/ddis/bernstein.html
Received on Sunday, 23 March 2014 11:49:01 UTC