Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interplay of timestamped graph predicate with stream order and time-bounded substreams #11

Open
AlasdairGray opened this issue Jun 11, 2015 · 7 comments

Comments

@AlasdairGray
Copy link

Should the predicate p in a timestamped graph (g,p,t) be considered when deciding upon the order of timestamped graphs in the stream S or when considering which timestamped graphs are included in a time-bounded substream?

@keski
Copy link
Contributor

keski commented Jun 16, 2015

A stream S consists of a sequence of timestamped graphs (g,p,t), where p is a temporal property and t is a timestamp. A timestamped graph may be associated with multiple temporal properties (e.g., observation time and generated time). The stream is assumed to be ordered with regard to at least one temporal property.

Example:
A sensor registers vehicles at a street crossing. At a defined time interval all observations made since the last output is pushed to the stream, e.g. output at time t_5 is:

(g_1,"generated at",t_5)
(g_2,"generated at",t_5)
(g_3,"generated at",t_5)
(g_1,"observed at",t_1)
(g_2,"observed at",t_2)
(g_3,"observed at",t_3)

The stream is ordered with regard to the temporal property "generated at", and possibly the property "observed at" as well.

Note: If timestamps are assumed to be unique then observations with the same timestamps should be merged into a single timestamped graph.

@AlasdairGray
Copy link
Author

Note: If timestamps are assumed to be unique then observations with the same timestamps should be merged into a single timestamped graph.

I don't think that is the correct approach. If we are insisting on unique timestamps then you need to use a finer grained timestamp and give separate timestamps.

However I personally feel that we should not have the limitation of a unique timestamp.

@keski
Copy link
Contributor

keski commented Jun 16, 2015

I too feel that we should not limit ourselves to unique timestamps. In my mind it is sufficient that a window defines the sequence/set of timestamped graphs that are included in the bounded substream.

@jpcik
Copy link
Contributor

jpcik commented Jun 16, 2015

I think as long as t is ordered it should be fine. I think this discussion is related to what was said in the mailing list. The problem is that if i receive (g1,p,t1) and then (g2,p,t1), then you got no way to know if you have to 'wait' for more data. I suspect that this is a serialization/implementation problem. In that case your protocol could take the option of being strict and allow only one graph per (p,t).

@nimonika
Copy link

The other (probably implementation specific interpretation) alternative to this is to define the relationship between the graphs themselves using http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#directlyFollows or http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#directlyPrecedes. This of course results in handling more triples than necessary but may provide some flexibility in handling graphs with the same timestamp. I use this as in my scenario, I do have multiple event graphs with the same timestamp.

@keski
Copy link
Contributor

keski commented Jun 16, 2015

The 'wait' for more data is of course related to the punctuation discussion, which was brought up on the mailing list. Using directlyFollows and directlyPrecedes could be a good idea: 1) directlyFollows allows us to specify the ordering explicitly (e.g. when two graphs have the same timestamp), and 2) directlyPrecedes (or a property we define) can be used to punctuate the stream.

@nimonika
Copy link

@keski I use it in pretty much this way, although in my case, punctuation is not really needed. Note that it is also possible to define a weaker interpretation of this using http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#follows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants