$$%% examples \newcommand{\exGraph}{\graph_{\mathrm{ex}}} \newcommand{\exOnto}{\onto_{\mathrm{ex}}} \newcommand{\exMappings}{\mappings_{\mathrm{ex}}} \newcommand{\exExtensions}{\extensions_{\mathrm{ex}}} \newcommand{\exRule}{r_{\mathrm{ex}}} \newcommand{\RDFSrules}{\rules_{\mathrm{RDFS}}} %% RDF \newcommand{\triple}[3]{(#1, #2, #3)} \newcommand{\tuple}[1]{\langle #1 \rangle} \newcommand{\subject}{\mathtt{s}} \newcommand{\prop}{\mathtt{p}} \newcommand{\object}{\mathtt{o}} \newcommand{\blank}{\_{:}b} \newcommand{\blankn}[1]{\_{:}#1} \newcommand{\irin}[1]{{:}\mathrm{#1}} \newcommand{\class}{\mathtt{c}} \newcommand{\nsrdf}{\mathrm{rdf{:}}} \newcommand{\nsrdfs}{\mathrm{rdfs{:}}} \newcommand{\rdftype}{\mathrm{rdf{:}type}} \newcommand{\rdfLiteral}{\mathrm{rdf{:}Literal}} \newcommand{\rdfssubClassOf}{\mathrm{rdfs{:}subClassOf}} \newcommand{\rdfssubPropertyOf}{\mathrm{rdfs{:}subPropertyOf}} \newcommand{\rdfsdomain}{\mathrm{rdfs{:}domain}} \newcommand{\rdfsrange}{\mathrm{rdfs{:}range}} \newcommand{\rdfsClass}{\mathrm{rdfs{:}Class}} \newcommand{\rdfProperty}{\mathrm{rdf{:}Property}} \newcommand{\xsdint}{\mathrm{xsd{:}int}} %% \newcommand{\type}{\tau} \newcommand{\subclass}{\prec_{sc}} \newcommand{\subproperty}{\prec_{sp}} \newcommand{\domain}{\hookleftarrow_{d}} \newcommand{\range}{\hookrightarrow_{r}} \newcommand{\rdfentailment}{\vdash_{^\mathrm{RDF}}} \newcommand{\RDFS}[1]{\mathrm{RDFS}(#1)} \newcommand{\aka}{a.k.a.~} \newcommand{\etc}{etc} \newcommand{\wrt}{w.r.t.~} \newcommand{\st}{s.t.~} \newcommand{\ie}{i.e.,~} \newcommand{\eg}{e.g.,~} \newcommand{\graph}{G} \newcommand{\rules}{\mathcal{R}} \newcommand{\sources}{\mathcal{S}} \newcommand{\views}{\mathcal{V}} \newcommand{\extensions}{\mathcal{E}} \newcommand{\onto}{\mathcal{O}} \newcommand{\mappings}{\mathcal{M}} \newcommand{\modelsrdf}{\models_\rules} \newcommand{\bgp}{P} \newcommand{\Bl}[1]{\mathrm{Bl}(#1)} \newcommand{\Val}[1]{\mathrm{Val}(#1)} \newcommand{\Var}[1]{\mathrm{Var(#1)}} \newcommand{\ext}[1]{\mathrm{ext}(#1)} \newcommand{\cert}{\mathrm{cert}} \newcommand{\ans}{\mathrm{ans}} \newcommand{\query}{\leftarrow} \newcommand{\body}[1]{\textrm{body}(#1)} \newcommand{\head}[1]{\textrm{head}(#1)} \newcommand{\cs}{\mathrm{cs}} \newcommand{\lcs}{\mathrm{lcs}} \newcommand{\cl}{\mathrm{cl}} \newcommand{\lua}{\mathrm{lua}} \newcommand{\lur}{\mathrm{lur}} \newtheorem{lemma}{Lemma} \newtheorem{definition}{Definition} \newtheorem{problem}{Problem} \newtheorem{property}{Property} \newtheorem{corollary}{Corollary} \newtheorem{example}{Example} \newtheorem{theorem}{Theorem} \newcommand{\URIs}{\mathscr U} \newcommand{\IRIs}{\mathscr I} \newcommand{\BNodes}{\mathscr B} \newcommand{\Literals}{\mathscr L} \newcommand{\Variables}{\mathscr V} % DB \newcommand{\CQ}{\ensuremath{\mathtt{CQ}}\xspace} \newcommand{\UCQ}{\ensuremath{\mathtt{UCQ}}\xspace} \newcommand{\SQL}{\ensuremath{\mathtt{SQL}}\xspace} \newcommand{\rel}[1]{\mathsf{#1}} % Cost model \newcommand{\cans}[1]{|#1|_t} \newcommand{\cref}[1]{|#1|_r} \newcommand{\db}{\mathtt{db}} % DL \newcommand{\cn}{\ensuremath{N_{C}}\xspace} \newcommand{\rn}{\ensuremath{N_{R}}\xspace} \newcommand{\inds}{\ensuremath{N_{I}}\xspace} \newcommand{\ainds}{\ensuremath{\mathrm{Ind}}\xspace} \newcommand{\funct}{\mathit{funct} \ } \newcommand{\KB}{\mathcal{K}\xspace} \newcommand{\dlr}{DL-Lite$_{\mathcal{R}}$\xspace} % Logics \newcommand{\FOL}{\ensuremath{\mathtt{FOL}}\xspace} \newcommand{\datalog}{\ensuremath{\mathtt{Datalog}}\xspace} \newcommand{\dllite}{DL-Lite\xspace} \newcommand{\true}{\mathrm{true}} \newcommand{\false}{\mathrm{false}} \newcommand{\dis}{\mathtt{dis}} \newcommand{\vars}[1]{\ensuremath{\mathrm{vars}(#1)}} %\newcommand{\terms}[1]{\ensuremath{\mathrm{terms}(#1)}} %math \renewcommand{\phi}{\varphi} \newcommand\eqdef{\stackrel{\mathclap{\normalfont\mbox{def}}}{=}} \newcommand\restr[2]{#1_{|#2}} \newcommand{\ontoBody}[1]{\mathrm{body}_\onto(#1)} %proof of the rewriting theorem \newcommand{\rdfGraph}{\graph^{\mappings}_{\extensions}} \newcommand\systemGraph{\graph^{\mappings \cup \mappings^{\text{STD}}_\onto}_{\extensions \cup \extensions_\onto}} \newcommand\viewsGraph{\graph^{\mappings^{\rules,\onto} \cup \mappings^{\text{STD}}_\onto}_{\extensions \cup \extensions_\onto}} \newcommand{\standMappings}{\mappings^{\text{STD}}_\onto} \newcommand{\reminder}[1]{[\vadjust{\vbox to0pt{\vss\hbox to0pt{\hss{\Large $\Longrightarrow$}}}}{{\textsf{\small #1}}}]} %\newcommand{\FG}[1]{\textcolor{blue}{\reminder{FG:~#1}}} \newcommand{\extVersion}{false} \newcommand{\printIfExtVersion}[2] { \ifthenelse{\equal{\extVersion}{true}}{#1}{} \ifthenelse{\equal{\extVersion}{false}}{#2}{} } \newcommand{\bda}{\true} \newcommand{\ifBDA}[2]% {% \ifthenelse{\equal{\bda}{true}}{#1}{}% \ifthenelse{\equal{\bda}{false}}{#2}{}% } %%% Local Variables: %%% TeX-master: "paper" %%% End: $$

Experiment No Heterogeneous BSBM 1M

This experiments are made following this details.

Methods Comparison

Total time

It is the total query answering time.

The materialization (MATREF) takes ?min (?ms) to compute and contains 2 049 093 triples. The saturated materialization (MATSAT) takes 4min28s (268 556ms) to compute and contains 3 395 560 triples.

total-time-comparison.png

Main Statistics on Queries

index Q01 Q01a Q01b Q02 Q02a Q02b Q02c Q03 Q04 Q07 Q07a Q09 Q10 Q13 Q13a Q13b Q14 Q16 Q19 Q19a Q20 Q20a Q20b Q20c Q21 Q22 Q22a Q23
NTRI 5 5 5 6 6 6 6 5 2 3 3 1 3 4 4 4 3 4 9 9 11 11 11 11 3 4 4 7
NREF 7 21 175 21 49 147 1225 525 1 5 19 7 670 28 84 700 1 25 63 147 21 63 525 1225 670 2 40 192
NANS 1272 4376 22738 16 56 174 1342 19 91 2 3 5617 9 13190 43157 330142 56200 8114 2015 3515 0 236 2312 7564 1085 28 434 25803

Rewritings Processing Time

Rewritings processing is the part of query answering that concerns only rewriting building and rewriting optimization. It doesn't includes the query plan optimization and evaluation.

rewriting-processing-time.png

Query Plan Processing Time

Query plan processing time are the sum of query plan optimization and query plan evaluation. Since the two method returns minimal equivalent rewriting set, we expect that there is no time different between the two method at this step.

query-plan-time.png

Reformulation Based Method (REW-CA)

Raw Statistics

INPUT NANS NTRI NREF NREW NCLASH NCOVER TREF TREW TCLASH TCOVER TCORE TOP TQEV TTOTAL
Q01 1272.0 5.0 7.0 8.0 6.0 2.0 0.2 30.0 0.0 0.6 11.2 2.2 18.4 62.6
Q01a 4376.0 5.0 21.0 16.0 12.0 4.0 0.4 87.8 0.0 1.2 23.0 3.4 37.2 153.0
Q01b 22738.0 5.0 175.0 128.0 96.0 32.0 2.4 717.8 0.2 10.0 198.4 20.8 206.2 1155.8
Q02 16.0 6.0 21.0 16.0 12.0 4.0 0.4 417.8 0.6 1.4 23.0 3.8 18.4 465.4
Q02a 56.0 6.0 49.0 32.0 24.0 8.0 1.0 962.8 0.2 1.6 43.2 6.6 32.8 1048.2
Q02b 174.0 6.0 147.0 64.0 48.0 16.0 3.0 3001.2 0.8 4.6 91.8 13.6 55.8 3170.8
Q02c 1342.0 6.0 1225.0 512.0 384.0 128.0 25.2 23852.4 5.8 63.2 697.2 107.6 383.6 25135.0
Q03 19.0 5.0 525.0 128.0 nan 64.0 8.0 7375.6 2.2 41.0 1003.6 94.8 175.0 8700.2
Q04 91.0 2.0 1.0 8.0 6.0 2.0 0.2 2.2 0.4 0.0 1.4 0.2 9.0 13.4
Q05 56200.0 4.0 1.0 8.0 7.0 1.0 0.0 2.4 0.0 0.0 3.2 0.6 281.6 287.8
Q05a 33089.0 4.0 3.0 2.0 nan 2.0 0.0 27.4 0.0 0.0 1.8 1.4 148.2 178.8
Q05b 50958.0 4.0 7.0 4.0 nan 4.0 0.2 61.8 0.0 0.0 3.0 2.4 255.4 322.8
Q06 52208.0 3.0 5.0 2.0 nan 2.0 0.0 22.4 0.0 0.4 4.0 1.4 220.8 249.0
Q07 2.0 3.0 5.0 194.0 nan 194.0 0.4 38.8 0.2 14.8 16.6 61.2 163.0 295.0
Q07a 3.0 3.0 19.0 776.0 nan 388.0 0.4 152.0 1.8 126.4 33.2 153.2 374.6 841.6
Q08 56200.0 3.0 1.0 1.0 nan 1.0 0.4 2.2 0.0 0.0 5.2 0.8 392.4 401.0
Q09 5617.0 1.0 7.0 2.0 nan 2.0 0.0 12.4 0.0 0.0 3.6 0.4 18.4 34.8
Q10 9.0 3.0 670.0 786.0 nan 586.0 5.0 4606.4 1.8 222.0 62.0 239.4 3045.2 8181.8
Q12 116.0 5.0 2.0 8.0 7.0 1.0 0.6 23.0 0.2 0.0 2.2 0.8 6.6 33.4
Q12a 720.0 5.0 6.0 16.0 14.0 2.0 0.2 65.4 0.0 0.0 3.4 1.0 19.0 89.0
Q12b 2327.0 5.0 14.0 32.0 28.0 4.0 0.2 151.6 0.0 0.0 7.2 1.8 39.6 200.4
Q13 13190.0 4.0 28.0 25.0 nan 21.0 0.8 138.8 0.2 15.2 41.4 15.4 234.4 446.2
Q13a 43157.0 4.0 84.0 50.0 nan 42.0 1.0 411.8 0.0 34.2 88.4 32.6 635.2 1203.2
Q13b 330142.0 4.0 700.0 400.0 nan 336.0 6.0 3413.2 1.6 324.4 703.2 322.0 4998.2 9768.6
Q14 56200.0 3.0 1.0 1.0 nan 1.0 0.0 10.6 0.0 0.0 4.0 1.4 235.6 251.6
Q15 28100.0 5.0 1.0 4.0 3.0 1.0 0.0 8.4 0.0 0.0 4.0 1.2 220.0 233.6
Q16 8114.0 4.0 25.0 16.0 nan 16.0 0.0 139.4 0.2 0.4 54.8 5.6 207.4 407.8
Q17 52208.0 2.0 5.0 2.0 nan 2.0 0.0 17.4 0.0 0.6 3.2 1.0 188.6 210.8
Q18 56200.0 4.0 1.0 4.0 3.0 1.0 0.0 7.6 0.0 0.0 6.6 0.8 409.8 424.8
Q19 2015.0 9.0 63.0 56.0 nan 16.0 1.6 2559.4 0.6 113.6 115.4 15.8 90.8 2897.2
Q19a 3515.0 9.0 147.0 112.0 nan 32.0 3.8 6061.6 1.4 227.8 239.6 33.4 163.0 6730.6
Q20 0.0 11.0 21.0 4.0 nan 4.0 0.6 1198.8 0.2 49.2 40.8 9.0 489.0 1787.6
Q20a 236.0 11.0 63.0 8.0 nan 8.0 2.0 3510.6 0.4 99.0 77.8 15.8 1005.0 4710.6
Q20b 2312.0 11.0 525.0 64.0 nan 64.0 19.2 29275.0 2.4 800.8 621.8 122.4 8275.8 39117.4
Q20c 7564.0 11.0 1225.0 128.0 nan 128.0 44.6 69951.8 5.4 1624.8 1269.4 249.2 16757.2 89902.4
Q21 1085.0 3.0 670.0 1060.0 566.0 385.0 5.8 800.2 4.0 117.8 58.4 154.8 2616.8 3757.8
Q22 28.0 4.0 2.0 2.0 nan 2.0 0.2 3.2 0.0 0.0 0.4 0.6 15.2 19.6
Q22a 434.0 4.0 40.0 32.0 nan 32.0 0.8 41.8 0.0 0.6 4.0 6.6 245.0 298.8
Q23 25803.0 7.0 192.0 80.0 56.0 24.0 4.0 2343.2 0.4 9.0 75.0 12.2 562.6 3006.4
Q23a 38258.0 7.0 448.0 160.0 112.0 48.0 6.0 5414.2 1.6 20.8 70.0 25.0 1049.8 6587.4

Rewriting Numbers

rewritings-numbers.png

Rewriting Processing Times

times-for-rewriting-ref.png

Query Plan Processing Times

times-for-plan-evaluation-ref.png

Rewriting Based Method (REW-C)

Raw Statistics

INPUT NANS NTRI NREF NREW NCLASH NCOVER TREF TREW TCLASH TCOVER TCORE TOP TQEV TTOTAL
Q01 1272.0 5.0 1.0 8.0 6.0 2.0 0.0 31.6 0.0 0.4 11.6 2.2 17.8 63.6
Q01a 4376.0 5.0 1.0 16.0 12.0 4.0 0.0 32.4 0.0 0.4 24.6 3.0 38.4 98.8
Q01b 22738.0 5.0 1.0 128.0 96.0 32.0 0.2 34.8 0.0 5.0 186.2 21.6 217.4 465.2
Q02 16.0 6.0 1.0 16.0 12.0 4.0 0.2 50.0 0.0 0.4 26.8 4.4 17.8 99.6
Q02a 56.0 6.0 1.0 32.0 24.0 8.0 0.0 48.4 0.0 1.2 50.4 7.0 33.0 140.0
Q02b 174.0 6.0 1.0 64.0 48.0 16.0 0.0 51.2 0.0 2.6 96.6 13.6 55.4 219.4
Q02c 1342.0 6.0 1.0 512.0 384.0 128.0 0.2 60.8 0.6 29.8 774.6 117.6 381.8 1365.4
Q03 19.0 5.0 1.0 128.0 nan 64.0 0.0 40.8 0.2 25.4 1235.4 79.4 174.6 1555.8
Q04 91.0 2.0 1.0 8.0 6.0 2.0 0.0 6.2 0.2 0.0 1.2 0.4 8.8 16.8
Q05 56200.0 4.0 1.0 8.0 7.0 1.0 0.0 6.0 0.0 0.0 3.0 1.0 290.6 300.6
Q05a 33089.0 4.0 1.0 2.0 nan 2.0 0.0 24.8 0.0 0.0 2.2 1.4 161.4 189.8
Q05b 50958.0 4.0 1.0 4.0 nan 4.0 0.0 24.2 0.0 0.0 3.2 2.2 251.6 281.2
Q06 52208.0 3.0 1.0 2.0 nan 2.0 0.0 12.8 0.0 0.0 4.0 1.6 238.6 257.0
Q07 2.0 3.0 1.0 194.0 nan 194.0 0.0 28.8 0.2 16.2 18.4 66.0 165.2 294.8
Q07a 3.0 3.0 1.0 388.0 nan 388.0 0.2 28.4 0.4 55.0 32.4 150.2 375.2 641.8
Q08 56200.0 3.0 1.0 1.0 nan 1.0 0.0 6.6 0.0 0.0 5.2 0.6 361.4 373.8
Q09 5617.0 1.0 1.0 2.0 nan 2.0 0.0 13.2 0.0 0.0 3.6 0.4 20.6 37.8
Q10 9.0 3.0 1.0 586.0 nan 586.0 0.0 75.4 0.2 167.8 62.6 242.6 3051.4 3600.0
Q12 116.0 5.0 2.0 8.0 7.0 1.0 24.2 46.2 0.2 0.0 1.6 1.0 6.4 79.6
Q12a 720.0 5.0 2.0 16.0 14.0 2.0 25.6 45.8 0.0 0.2 3.6 1.0 18.8 95.0
Q12b 2327.0 5.0 2.0 32.0 28.0 4.0 24.8 46.2 0.0 0.0 7.6 1.6 38.8 119.0
Q13 13190.0 4.0 16.0 25.0 nan 21.0 1.0 370.4 0.0 15.0 42.2 16.0 242.6 687.2
Q13a 43157.0 4.0 16.0 50.0 nan 42.0 0.8 194.4 0.0 30.0 88.2 30.8 662.8 1007.0
Q13b 330142.0 4.0 16.0 400.0 nan 336.0 0.6 223.8 0.4 279.2 813.8 395.0 5204.4 6917.2
Q14 56200.0 3.0 1.0 1.0 nan 1.0 0.0 20.8 0.0 0.0 4.2 1.0 250.0 276.0
Q15 28100.0 5.0 1.0 4.0 3.0 1.0 0.2 17.4 0.0 0.0 3.6 1.6 239.4 262.2
Q16 8114.0 4.0 1.0 16.0 nan 16.0 0.0 18.2 0.0 0.2 59.8 5.6 191.6 275.4
Q17 52208.0 2.0 1.0 2.0 nan 2.0 0.2 11.4 0.0 0.2 3.6 0.6 190.2 206.2
Q18 56200.0 4.0 1.0 4.0 3.0 1.0 0.0 15.6 0.0 0.0 6.2 1.0 408.0 430.8
Q19 2015.0 9.0 1.0 56.0 nan 16.0 0.0 84.2 0.0 146.0 121.4 17.6 92.4 461.6
Q19a 3515.0 9.0 1.0 112.0 nan 32.0 0.0 87.2 0.2 281.2 234.8 34.0 162.8 800.2
Q20 0.0 11.0 1.0 4.0 nan 4.0 0.2 106.0 0.0 45.6 41.0 9.4 508.2 710.4
Q20a 236.0 11.0 1.0 8.0 nan 8.0 0.2 109.8 0.0 87.8 77.6 16.0 997.6 1289.0
Q20b 2312.0 11.0 1.0 64.0 nan 64.0 0.0 112.2 0.4 703.8 651.0 137.2 8124.0 9728.6
Q20c 7564.0 11.0 1.0 128.0 nan 128.0 0.2 114.8 0.4 1438.8 1438.4 281.2 16514.0 19787.8
Q21 1085.0 3.0 1.0 929.0 539.0 385.0 0.0 57.8 0.8 79.4 57.2 257.2 2645.8 3098.2
Q22 28.0 4.0 2.0 2.0 nan 2.0 0.2 9.2 0.0 0.0 1.0 0.2 16.8 27.4
Q22a 434.0 4.0 24.0 32.0 nan 32.0 0.2 183.0 0.2 0.6 4.4 7.0 247.8 443.2
Q23 25803.0 7.0 64.0 80.0 56.0 24.0 769.0 1577.4 0.6 9.0 36.0 13.0 583.2 2988.2
Q23a 38258.0 7.0 64.0 160.0 112.0 48.0 681.4 1534.6 0.0 18.4 81.4 26.4 1066.0 3408.2

Rewriting Numbers

rewritings-numbers.png

Rewriting Processing Times

times-for-rewriting-rew.png

Query Plan Processing Times

times-for-plan-evaluation-rew.png

Queries

Queries are build by groups of Q, Qa, Qb … where Qb is always more general than Qa according to the ontology.

Q01<$label, $featureLabel, $value> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType110>),
              triple($product, <bsbm:productFeature>, $productFeature),
              triple($productFeature, <rdfs:label>, $featureLabel),
              triple($product, <bsbm:productPropertyNumeric>, $value);

Q01a<$label, $featureLabel, $value> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType8>),
              triple($product, <bsbm:productFeature>, $productFeature),
              triple($productFeature, <rdfs:label>, $featureLabel),
              triple($product, <bsbm:productPropertyNumeric>, $value);

Q01b<$label, $featureLabel, $value> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType4>),
              triple($product, <bsbm:productFeature>, $productFeature),
              triple($productFeature, <rdfs:label>, $featureLabel),
              triple($product, <bsbm:productPropertyNumeric>, $value);

Q02<$label, $value, $country> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType110>),
              triple($product, <bsbm:productPropertyNumeric>, $value),
              triple($product, <bsbm:producer>, $producer),
              triple($producer,<bsbm:country>, $country),
              triple($country, <rdf:type>, <bsbm:CountryType12>);

Q02a<$label, $value, $country> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType110>),
              triple($product, <bsbm:productPropertyNumeric>, $value),
              triple($product, <bsbm:producer>, $producer),
              triple($producer,<bsbm:country>, $country),
              triple($country, <rdf:type>, <bsbm:CountryType1>);

Q02b<$label, $value, $country> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType8>),
              triple($product, <bsbm:productPropertyNumeric>, $value),
              triple($product, <bsbm:producer>, $producer),
              triple($producer,<bsbm:country>, $country),
              triple($country, <rdf:type>, <bsbm:CountryType1>);

Q02c<$label, $value, $country> :-
              triple($product, <rdfs:label>, $label),
              triple($product, <rdf:type>, <bsbm-int:ProductType2>),
              triple($product, <bsbm:productPropertyNumeric>, $value),
              triple($product, <bsbm:producer>, $producer),
              triple($producer,<bsbm:country>, $country),
              triple($country, <rdf:type>, <bsbm:CountryType1>);

Q03<$product1, $product2> :-
           triple($product1, <rdf:type>, <bsbm-int:ProductType12>),
           triple($product1, <bsbm:productPropertyNumeric>, "774"),
           triple($product1, <bsbm:producer>, $producer),
           triple($product2, <rdf:type>, <bsbm-int:ProductType2>),
           triple($product2, <bsbm:producer>, $producer);

Q04<$vendor, $vendorLabel, $vendorHomepage> :-
             triple($vendor, <rdfs:label>, $vendorLabel),
             triple($vendor, <foaf:homepage>, $vendorHomepage);

Q05<$offer, $offerURL, $vendor, $vendorLabel, $vendorHomepage> :-
             triple($offer, <bsbm:vendor>, $vendor),
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($vendor, <rdfs:label>, $vendorLabel),
             triple($vendor, <foaf:homepage>, $vendorHomepage);

Q05a<$offer, $offerURL> :-
             triple($offer, <bsbm:vendor>, $vendor),
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($vendor, <bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType11>);

Q05b<$offer, $offerURL> :-
             triple($offer, <bsbm:vendor>, $vendor),
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($vendor, <bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType1>);

Q06<$review, $product, $rating> :-
             triple($review, <bsbm:reviewFor>, $product),
             triple($review, <http://purl.org/stuff/rev#reviewer>, $reviewer),
             triple($review, <bsbm:rating>, $rating);

Q06a<$review, $product, $rating> :-
             triple($review, <bsbm:reviewFor>, $product),
             triple($review, <http://purl.org/stuff/rev#reviewer>, $reviewer),
             triple($review, <bsbm:rating>, $rating),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType11>);

Q06b<$review, $product, $rating> :-
             triple($review, <bsbm:reviewFor>, $product),
             triple($review, <http://purl.org/stuff/rev#reviewer>, $reviewer),
             triple($review, <bsbm:rating>, $rating),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType2>);

Q07<$country> :-
            triple($org, <rdf:type>, <foaf:Organization>),
            triple($org, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType222>);

Q07a<$country> :-
            triple($org, <rdf:type>, <foaf:Organization>),
            triple($org, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType22>);

Q08<$offer, $offerURL, $price, $deliveryDays> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays);

Q09<$product, $value> :-
              triple($product, <bsbm:productPropertyNumeric>, $value);

Q10<$country, $agentType> :-
            triple($agent, <rdf:type>, $agentType),
            triple($agent, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType222>);

Q10a<$country, $agentType> :-
            triple($agent, <rdf:type>, $agentType),
            triple($agent, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType22>);

Q10b<$country, $agentType> :-
            triple($agent, <rdf:type>, $agentType),
            triple($agent, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType2>);

Q11<$label, $p, $country> :-
            triple($x, <rdfs:label>, $label),
            triple($x, $p, $org),
            triple($org, <rdf:type>, <foaf:Organization>),
            triple($org, <bsbm:country>, $country),
            triple($country, <rdf:type>, <bsbm:CountryType222>);

Q14<$product, $p, $offer, $vendor> :-
              triple($product, <bsbm:producer>, $p),
              triple($offer, <bsbm:product>, $product),
              triple($offer, <bsbm:vendor>, $vendor);

Q15<$review, $product, $label, $personName, $title> :-
             triple($product, <rdfs:label>, $label),
             triple($review, <bsbm:reviewFor>, $product),
             triple($review, <http://purl.org/stuff/rev#reviewer>, $person),
             triple($person, <foaf:name>, $personName),
             triple($review, <http://purl.org/dc/elements/1.1/title>, $title);

Q16<$review, $product, $title, $text> :-
             triple($review, <bsbm:reviewFor>, $product),
             triple($product, <rdf:type>, <bsbm-int:ProductType2>),
             triple($review, <http://purl.org/dc/elements/1.1/title>, $title),
             triple($review, <http://purl.org/stuff/rev#text>, $text);

Q17<$review, $product, $rating> :-
             triple($review, <bsbm:reviewFor>, $product),
             triple($review, <bsbm:rating>, $rating);

Q18<$offer, $product, $label, $vendor, $price> :-
              triple($offer, <bsbm:product>, $product),
              triple($product, <rdfs:label>, $label),
              triple($offer, <bsbm:vendor>, $vendor),
              triple($offer, <bsbm:price>, $price);

Q19<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <rdf:type>, <bsbm-int:ProductType8>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType12>);

Q19a<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <rdf:type>, <bsbm-int:ProductType8>),
             
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType2>);

Q19b<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <rdf:type>, <bsbm-int:ProductType3>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType12>);

Q20<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <bsbm:productFeature>, $productFeature),
             triple($productFeature, <rdfs:label>, "biographies"),
             triple($product, <rdf:type>, <bsbm-int:ProductType110>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType12>);

Q20a<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <bsbm:productFeature>, $productFeature),
             triple($productFeature, <rdfs:label>, "biographies"),
             triple($product, <rdf:type>, <bsbm-int:ProductType8>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType12>);

Q20b<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <bsbm:productFeature>, $productFeature),
             triple($productFeature, <rdfs:label>, "biographies"),
             triple($product, <rdf:type>, <bsbm-int:ProductType2>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType12>);

Q20c<$offer, $offerURL, $price, $deliveryDays, $value> :-
             triple($offer, <bsbm:offerWebpage>, $offerURL),
             triple($offer, <bsbm:price>, $price),
             triple($offer, <bsbm:deliveryDays>, $deliveryDays),
             triple($offer, <bsbm:product>, $product),
             triple($product, <bsbm:productFeature>, $productFeature),
             triple($productFeature, <rdfs:label>, "biographies"),
             triple($product, <rdf:type>, <bsbm-int:ProductType2>),
             triple($product, <bsbm:productPropertyNumeric>, $value),
             triple($product, <bsbm:producer>, $producer),
             triple($producer,<bsbm:country>, $country),
             triple($country, <rdf:type>, <bsbm:CountryType1>);

Q21<$product, $type> :-
             triple($product, <bsbm:productFeature>, $productFeature),
             triple($productFeature, <rdfs:label>, "biographies"),
             triple($product, <rdf:type>, $type);

number of answers.png

REW Method Query Plans

  • Q01a

Q01a.svg

  • Q01b

Q01b.svg

  • Q01

Q01.svg

  • Q02a

Q02a.svg

  • Q02b

Q02b.svg

  • Q02c

Q02c.svg

  • Q02

Q02.svg

  • Q03

Q03.svg

  • Q04

Q04.svg

  • Q05a

Q05a.svg

  • Q05b

Q05b.svg

  • Q05

Q05.svg

  • Q06a

Q06a.svg

  • Q06b

Q06b.svg

  • Q06

Q06.svg

  • Q07a

Q07a.svg

  • Q07

Q07.svg

  • Q08

Q08.svg

  • Q09

Q09.svg

  • Q10

Q10.svg

  • Q11

Q11.svg

  • Q12a

Q12a.svg

  • Q12b

Q12b.svg

  • Q12

Q12.svg

  • Q13a

Q13a.svg

  • Q13b

Q13b.svg

  • Q13

Q13.svg

  • Q14

Q14.svg

  • Q15

Q15.svg

  • Q16

Q16.svg

  • Q17

Q17.svg

  • Q18

Q18.svg

  • Q19a

Q19a.svg

  • Q19b

Q19b.svg

  • Q19

Q19.svg

  • Q20a

Q20a.svg

  • Q20b

Q20b.svg

  • Q20c

Q20c.svg

  • Q20

Q20.svg

  • Q21

Q21.svg

  • Q22a

Q22a.svg

  • Q22

Q22.svg

  • Q23a

Q23a.svg

  • Q23

Q23.svg