Hi,
I have an issue understanding BIND keyword
I understand it creates a new variable (name, value) pair / binding within
a {} scope
However, the spec also says it breaks the graph pattern scope {} into 2 {}s
but does not clarify what that means (especially when the previous {} does
not bring one row, but zero or multiple rows).
Also, i have the sparql query below:
If i move binds between an outer scope and an inner GRAPH ?g {} one: the
results change
SELECT *
WHERE {
BIND (xsd:dateTime(xsd:string("2013-10-09T10:02:33+02:00")) AS
?etdXML) .
BIND (xsd:string("2b38dc8c-2aa4-11b2-80d6-f73f30a9f3c9") AS ?legId) .
BIND (IRI(elh-isolib:buildLegURI(?legId)) AS ?legUri) .
elh-activity:PlannedJourneyLeg elh-config:hasDataGraph ?legDataGraph .
GRAPH ?legDataGraph {
?plan elh-activity:planFor ?legUri .
?plan ?p1 ?o1 .
?schedule elh-activity:isCurrentScheduleOf ?plan .
?schedule elh-activity:estimatedTimeOfDeparture ?etd .
?schedule ?p2 ?o2
FILTER (bound(?etdXML)).
FILTER elh-fun:isValidArg(?etdXML) .
FILTER (?etdXML = ?etd) .
}
}
that brings empty result set.
Moving the binds inside the GRAPH {} brings an expected set of rows.
How can I learn why and what is the difference?
Also, when binds are outside, TBC complains that the query will iterate all
the graphs in the system, suggesting ?legDataGraph is not bound, although
if i execute the binds plus the triple pattern
(elh-activity:PlannedJourneyLeg elh-config:hasDataGraph ?legDataGraph) and
remove the GRAPH ..{} part, it does bring a result row with all values
populated correctly..so I am very confused.
there are multiple questions in here
i could not find a reasonable explanation in sparql 1.1 spec or in some
books
what ways to clarify those things to you suggest?
Thanks,
Nicu Marasoiu / Computas AS
--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary
Network (EVN), TopBraid Composer, TopBraid Live, TopBraid Insight,
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
---
You received this message because you are subscribed to the Google Groups
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.