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
