Hello,

I have container resources which I want to retrieve from one of their
elements.
Here is an RDF/XML part of my data:


<rdf:Description rdf:about="
http://www.telemis.com/CalculationResult/9e892a88-7257-4af3-881d-2eb304437546
">
<rdf:type rdf:resource="http://www.telemis.com/CalculationResult"/>
<TM:uid rdf:datatype="http://www.w3.org/2001/XMLSchema#string
">9e892a88-7257-4af3-881d-2eb304437546</TM:uid>
...
</rdf:Description>

<rdf:Description rdf:nodeID="A525">
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq"/>
<rdf:_1 rdf:resource="
http://www.telemis.com/CalculationResult/9e892a88-7257-4af3-881d-2eb304437546
"/>
<rdf:_2 rdf:resource="
http://www.telemis.com/CalculationResult/9e892a88-7257-4af3-881d-45208e34af13
"/>
</rdf:Description>

<rdf:Description rdf:about="
http://www.telemis.com/CalculationResultCollection/a7d808d7-7689-4dfb-82c4-b0763f0dcd34
">
<rdf:type rdf:resource="http://www.telemis.com/CalculationResultCollection
"/>
<TM:uid rdf:datatype="http://www.w3.org/2001/XMLSchema#string
">a7d808d7-7689-4dfb-82c4-b0763f0dcd34</TM:uid>
<TM:listCalculationResult rdf:nodeID="A525"/>
</rdf:Description>


The representation of this context could be:

(CalculationResultCollection)
--listCalculationResult-->
(seq-blank-node)
+--(rdf:_1)-->(CalculationResult1)
+--(rdf:_2)-->(CalculationResult2)
+--...

I've a SPARQL query which gives me a set of CalculationResult nodes.
My question is: by which SPARQL query can I trace back to the
CalculationResultCollection containing resource(s) ?

Here is the SPARQL query which gives me a set of CalculationResult nodes:

PREFIX : <http://www.telemis.com/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?calculationResult
WHERE {
?calculationData a :CalculationData ;
:value "0"^^xsd:string .
?seqCalculationDataCollection ?seqCalculationDataCollectionIndex
?calculationData .
?calculationDataCollection a :CalculationDataCollection ;
:listCalculationData ?seqCalculationDataCollection .
?calculationResult a :CalculationResult ;
:calculationDataCollection ?calculationDataCollection .
}

I tried to complete my WHERE clause with statements like I did to trace
back to ?calculationDataCollection from ?calculationData but I cannot get
the wanted result because the system freezes. Note that the SPARQL query
here above returns good results.

Is there a better practice to do that with acceptable performances ?

Thank you in advance for your help.



-- 
*Laurent Rucquoy*
R&D Engineer

laurent.rucq...@telemis.com
Tel: +32 (0) 10 48 00 27
Fax: +32 (0) 10 48 00 20

Telemis
Avenue Athéna 2
1348 Louvain-la-Neuve
Belgium
www.telemis.com
*Extending Human Life*

"Au delà du Pacs...Découvrez le Macs
<https://drive.google.com/a/telemis.com/file/d/0B8xEcRPFLfNdRmFRMlRSZ0k5djA/view?usp=sharing>
" sur le stand Telemis #118 du 4. - 6 Juin - Centre des congrès de Bâle !

Reply via email to