Comments (5)
Hi Robin,
I think we didn't take any final decision for the moment, as we are finalising first the work on defining RDF streams and their semantics.
I'd like to understand a bit more your query, in particular:
- what is "?g1"? It does not appear in the WHERE clause, so I am wondering how it can be bound
- does ?g mean: "any graph appearing in the window :w"?
- Which is the data over which "?subj2 :observedAt ?obj2" should match? (same for the content of the optional clause)
from rsp-ql.
Hi Daniele,
- and 3) There were some typos because I changed my example in the last second. Fixed.
- Yes, "any graph appearing in the window :w"
Now, the query would match all graphs in :w (and all triples in each). The pattern "?g :observedAt ?obj2" would filter the stream to include only those graphs which have that property set. Finally, the optional would catch any other meta data (such as other timestamps). Basically, it would copy the events (graphs) in the stream that match the filter (reusing the graph ids since they are the same events) and include all the meta about the events.
from rsp-ql.
In a similar way we could define a merge (join) as:
# Join of two stream s1 and s2
PREFIX : <http://examplel.org#>
REGISTER STREAM :joinedStream AS
CONSTRUCT ISTREAM {
GRAPH ?g { ?subj1 ?prop1 ?obj1 . }
?g ?prop2 ?obj2 .
}
FROM NAMED WINDOW :w1 ON :s1 [RANGE PT10S]
FROM NAMED WINDOW :w2 ON :s2 [RANGE PT10S]
WHERE {
{WINDOW :w1 {
GRAPH ?g { ?subj1 ?prop1 ?obj1 . }
OPTIONAL { ?g ?prop2 ?obj2 . }
}}
UNION
{WINDOW :w2 {
GRAPH ?g { ?subj1 ?prop1 ?obj1 . }
OPTIONAL { ?g ?prop2 ?obj2 . }
}}
}
In this query there are some details to be ironed out but this would at least be the principle in my mind. The neat thing about these queries is that the underlying graph structure in the streams doesn't have to be known since we can simply match everything in each graph.
Update:
In a merge scenario we would also have to be able to make sure that ordering among streamed items is maintained, basically, synchronise the stream if one lags behind the other by e.g. a few seconds.
from rsp-ql.
It's much clearer now, thank you.
Given that at the moment we are not focusing on the syntax of the query language, I think it would be great to move the discussion at a requirement/features level.
If I got correctly, you are asking for some features, e.g.
- should be possible to access/query the annotations over the data stream items
- should be possible to query the data items which annotations satisfy some contraints
In this context, I suggest to have a look at the requirements document and to check if they are already covered and, if not, to refine and add them.
from rsp-ql.
This discussion is also quite relevant for the abstract syntax and
semantics document, because query results should arise from entailments
(following the example of SPARQL), so to perform the sort of queries you
describe, the named graph structure must be supported the semantics of the
abstract syntax, which defines the entailments.
I have written the semantics of the abstract syntax so that the named graph
structure is retained, within an RDF dataset, and the entailments follow
from a particular specialization of RDF dataset semantics. So from this
perspective, we keep the opportunity to perform the sort of queries that
you describe above.
Tara
On Fri, Apr 15, 2016 at 1:45 AM, dellaglio [email protected] wrote:
It's much clearer now, thank you.
Given that at the moment we are not focusing on the syntax of the query
language, I think it would be great to move the discussion at a
requirement/features level.If I got correctly, you are asking for some features, e.g.
- should be possible to access/query the annotations over the data
stream items- should be possible to query the data items which annotations satisfy
some contraintsIn this context, I suggest to have a look at the requirements document and
to check if they are already covered and, if not, to refine and add them.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#61 (comment)
from rsp-ql.
Related Issues (20)
- Should identifying an RDF Stream by an IRI be part of the abstract syntax? HOT 1
- RDF Stream Profile: Time Series HOT 23
- RDF Stream Profile: Linked List HOT 12
- Discuss the practical uses of isomorphism
- Revisit and Harmonize Examples HOT 1
- Functional Requirements HOT 10
- Reorganize material for correct sequential flow HOT 1
- Use "element" to refer to the time-stamped graphs in an RDF straem HOT 1
- Discuss streamed named graph
- Punctuation HOT 2
- Reference existing RSP QL
- Section 4.1: Input
- Windows in S2S operators HOT 2
- Structure of Section 4
- Example 30
- Conformance
- vocabularies and datatypes for time intervals
- Blank node as the name of a streamed graph HOT 4
- rename "timestamped graph" HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rsp-ql.