Comments (5)
See also #65.
from rdf-star.
I have looked through this in detail now and I would say that we actually do not need to do anything here---at least, if we make two assumptions (which we may make explicit in the spec):
- We assume SA mode.
- We assume that every mention of the words "RDF term" and "term" in Sec.18.4 of the SPARQL 1.1 spec is meant to refer to our notion of an RDF* term.
The first assumption is necessary for the following reason.
In SA mode, every embedded triple t that is not also contained directly in the given RDF* graph G (i.e., t ∉ G) is not asserted and, thus, should be ignored during path pattern matching. Ignoring such an embedded triple t happens trivially with the current definitions of property path pattern evaluation in Sec.18.4 of the SPARQL 1.1 spec.
In contrast, an embedded triple t' that is also contained directly in the given RDF* graph G (i.e., t' ∈ G) is asserted and, thus, must not be ignored during path pattern matching. However, due to the fact that t' ∈ G, the triple is considered by the current definitions of property path pattern evaluation, as desired.
The second assumption is necessary to be able to consider nested RDF* triples (i.e., triples that have an embedded triple as their subject or their object) during path pattern matching. Then, a path that matches a property path expression may start from an embedded triple or may end in an embedded triple (or both). It is even possible that intermediate nodes along such a path are embedded triples.
As an example, consider the RDF* graph in the following snippet of Turtle*.
<<:s1 :p1 :o1>> :q1 <<:s2 :p2 :o2>> .
<<:s2 :p2 :o2>> :q2 :a .
...and consider the following SPARQL* query.
SELECT ?x ?y WHERE {
?x :q1/:q2* ?y
}
The result of this query over the RDF* graph consists of two solution mappings:
- μ1 = { ?x -> t1, ?y -> t2 } and
- μ2 = { ?x -> t1, ?y -> :a },
where t1 is the triple (:s1,:p1,:o1) and t2 is the triple (:s2,:p2,:o2).
from rdf-star.
I think this issue can now be closed. @hartig @afs do you concur?
from rdf-star.
Concur
from rdf-star.
Concur
from rdf-star.
Related Issues (20)
- SPARQL-star DESCRIBE Queries
- RDF-star semantics (as currently defined) is non-monotonic HOT 4
- sparql-compare type signature conflicts with description
- Confusing definition of sparql-compare for triples with IRI components HOT 1
- Issue with sparql-compare semantics and ORDER BY
- RDF-star IRI 404 HOT 1
- Self-referential resource URI for testing manifest documents is incorrect HOT 6
- [Question] Indexing strategies for reified triples HOT 2
- deeply nested triples or blank nodes? HOT 2
- Referential opacity entailment examples HOT 2
- Clarification on comparison to reified statements
- What is the graph of a quoted triple? HOT 14
- [Question] RDF-star and Nesting Annotations HOT 2
- Subset of RDF-star without recursion HOT 1
- Question about sparql-star-pattern-9 eval test HOT 2
- [Request]: Negative syntax tests for annotation syntax n-triples and n-quads HOT 2
- (tracking) need explicit notes that `<<` and `>>` are not any of the visually similar characters HOT 9
- trig-star : grammar and tests are inconsistent HOT 2
- How can a data property be restricted to apply only to a specific type of statement? HOT 2
- Triple annotation with Parser Tokens HOT 1
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 rdf-star.