Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
site:recherche:logiciels:sparqlwithspark [13/09/2016 17:53] hubert [Data sets] |
site:recherche:logiciels:sparqlwithspark [13/09/2016 17:56] hubert [Chain queries] |
||
---|---|---|---|
Ligne 32: | Ligne 32: | ||
The plans produced by each method are: | The plans produced by each method are: | ||
+ | * SPARQL RDD: | ||
+ | <code> | ||
+ | val d1 = triples.filter{case(s,(p,o))=> p==1389363200 || p==18843 || p==1089470464 || p==18970 }.map{case(x1,(p, x2))=> (x2, x1)} | ||
+ | val d2 = triples.filter{case(s,(p,o))=> p==P2}.mapValues{case(p,x3) => x3} | ||
+ | val d3 = triples.filter{case(s,(p,o))=> p==P3}.mapValues{case(p,x4) => x4} | ||
+ | val d4 = triples.filter{case(s,(p,o))=> p==P4}.mapValues{case(p,x5) => x5} | ||
+ | |||
+ | val j1 = d1.join(d2).map{case(x2,(x1, x3))=> (x3, (x1,x2))} | ||
+ | val j2 = j1.join(d3).map{case(x3,((x1,x2), x4))=> (x4, (x1,x2,x3))} | ||
+ | val j3 = j2.join(d4).map{case(x4,((x1,x2,x3), x5))=> (x5, (x1,x2,x3,x4))} | ||
+ | j3.count | ||
+ | </code> | ||
* SPARQL DF: | * SPARQL DF: | ||
Ligne 56: | Ligne 68: | ||
res.count | res.count | ||
</code> | </code> | ||
+ | |||
=== Chain6 query === | === Chain6 query === | ||