Hello,
I am trying to create a spin rule that allows for the aggregation of
values.
Let's think of a simple basis ontology (
a1 has b1 .
a1 has b2 .
a2 has b1 .
b1 _property 5 .
b2 _property 2 .
a1 rdf:type A .
a2 rdf:type B .
I would like to create the triples saying:
a1 _result 7 .
a2 _result 5 .
which then provide the result of (5+2) and (5) (aggregation as a SUM)
I tried to work with two different queries:
Query A
CONSTRUCT {
?this base:_result ?result
}
WHERE {
{
SELECT ( SUM( ?value ) AS ?result )
WHERE { ?this rdf:type base:A . ?this base:has ?b . ?b
base:_property ?value }
}
}
It seems that it does not get executed at all.
Query B
CONSTRUCT {
?this base:_result ?result
}
WHERE {
?this rdf:type base:A
{
SELECT ( SUM( ?value ) AS ?result )
WHERE { ?this rdf:type base:A . ?this base:has ?b . ?b
base:_property ?value }
}
}
This query seems to get executed, but ?result is bound to 12 instead of 7
or 5. It seems that ?this within the SUB-SELECT is not bound to the
respective instance in the SUB-Query.
The w3c specification for SPARQL-subqueries says that bound variables
should not be forwarded to sub queries in order to allow for parallel
execution of the queries.
What is the specification for SPIN?
How would I aggregate some values with SPIN and create a new triple with
this aggregated value based on a specific "?this" ?
--
-- 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 Ensemble, 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/groups/opt_out.