en:site:recherche:logiciels:sparqlwithspark:watdivf5
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:site:recherche:logiciels:sparqlwithspark:watdivf5 [14/09/2016 14:53] – created hubert | en:site:recherche:logiciels:sparqlwithspark:watdivf5 [16/09/2016 23:07] (current) – [WatDiv Query F5 plans] hubert | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Query F5 ====== | + | {{indexmenu_n> |
- | SPARQL Hybrid DF plan | + | |
- | < | + | ====== WatDiv Query F5 plans====== |
- | // 1st triple pattern | + | |
+ | === SPARQL Hybrid DF plan === | ||
+ | |||
+ | < | ||
+ | // First triple pattern | ||
val retailer = getIdSO(" | val retailer = getIdSO(" | ||
- | val t1 = VP2EXP(getIdP(" | + | val idP1 = getIdP(" |
- | val e1 = sc.parallelize(1 to NB_FRAGMENTS, | + | val s1 = List( |
- | val t1OK = t1.unionAll(e1) | + | |
- | val orderedList1 | + | |
(" | (" | ||
(" | (" | ||
(" | (" | ||
- | val orderedList2 | + | val s2 = List( |
(" | (" | ||
(" | (" | ||
- | val l1 = orderedList1.map{case(ns, | + | |
+ | val subset = df.where(s" | ||
+ | subset.count | ||
+ | val DATA = subset | ||
+ | |||
+ | val tp1 = DATA.where(s" | ||
+ | val e1 = sc.parallelize(1 to NB_FRAGMENTS, | ||
+ | val tp1a = t1.unionAll(e1) | ||
+ | |||
+ | val l1 = s1.map{case(ns, | ||
+ | val idP = getIdP(ns, p) | ||
+ | DATA.where(s" | ||
+ | |||
+ | val l2 = s2.map{case(ns, | ||
+ | val idP = getIdP(ns, p) | ||
+ | DATA.where(s" | ||
+ | |||
+ | val v1 = getIdP(" | ||
+ | val snf1 = tp1a.join(l1(0)," | ||
+ | |||
+ | val query = snf1.join(l2(0)," | ||
+ | |||
+ | </ | ||
+ | |||
+ | === S2RDF plan === | ||
+ | |||
+ | <code scala> | ||
+ | val VP2EXP=VP2Random | ||
+ | |||
+ | val tp1 = VP2EXP(getIdP(" | ||
+ | |||
+ | val l1 = s1.map{case(ns, | ||
val idP = getIdP(ns, p) | val idP = getIdP(ns, p) | ||
VP2EXP(idP).withColumnRenamed(" | VP2EXP(idP).withColumnRenamed(" | ||
- | val l2 = orderedList2.map{case(ns, | + | val v1 = getIdP(" |
+ | val snf1 = tp1.join(l1(0)," | ||
+ | |||
+ | val l2 = s2.map{case(ns, | ||
+ | val idP = getIdP(ns, p) | ||
+ | VP2EXP(idP).withColumnRenamed(" | ||
+ | |||
+ | val query = snf1.join(l2(0)," | ||
+ | |||
+ | </ | ||
+ | |||
+ | === S2RDF + Hybrid plan === | ||
+ | |||
+ | |||
+ | <code scala> | ||
+ | val VP2EXP=VP2Subject | ||
+ | |||
+ | val s1 = List( | ||
+ | (" | ||
+ | (" | ||
+ | (" | ||
+ | val s2 = List( | ||
+ | (" | ||
+ | (" | ||
+ | |||
+ | // First triple pattern | ||
+ | val retailer = getIdSO(" | ||
+ | val tp1 = VP2EXP(getIdP(" | ||
+ | val e1 = sc.parallelize(1 to NB_FRAGMENTS, | ||
+ | val tp1a = tp1.unionAll(e1) | ||
+ | |||
+ | val l1 = s1.map{case(ns, | ||
val idP = getIdP(ns, p) | val idP = getIdP(ns, p) | ||
VP2EXP(idP).withColumnRenamed(" | VP2EXP(idP).withColumnRenamed(" | ||
val v1 = getIdP(" | val v1 = getIdP(" | ||
- | val snf1 = t1OK.join(l1(0)," | + | val snf1 = tp1a.join(l1(0)," |
+ | |||
+ | val l2 = s2.map{case(ns, | ||
+ | val idP = getIdP(ns, p) | ||
+ | VP2EXP(idP).withColumnRenamed(" | ||
val query = snf1.join(l2(0)," | val query = snf1.join(l2(0)," | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Go to [[en: | ||
+ |
en/site/recherche/logiciels/sparqlwithspark/watdivf5.1473857637.txt.gz · Last modified: by hubert