Experiments 27-03 BSBM existential 1M
This experiments are made on the RDF integration system using GLAV mappings on BSBM 1M.
Methods Comparison
Total time
It is the total query answering time.
Rewriting time
The rewriting time is the time to build complete set of rewriting of the query according to mappings. It doesn't include optimizations.
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.
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.
Reformulation Based Method
Raw Statistics
This statistics are build from 5 runs after 1 dry run.
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.0 | 34.4 | 0.2 | 0.4 | 12.4 | 2.8 | 40.4 | 90.6 |
Q01a | 4376.0 | 5.0 | 21.0 | 16.0 | 12.0 | 4.0 | 0.2 | 98.4 | 0.2 | 0.6 | 23.8 | 4.8 | 87.6 | 215.6 |
Q01b | 22738.0 | 5.0 | 175.0 | 128.0 | 96.0 | 32.0 | 2.8 | 832.2 | 1.2 | 8.4 | 196.8 | 34.6 | 608.6 | 1684.6 |
Q02 | 16.0 | 6.0 | 21.0 | 16.0 | 12.0 | 4.0 | 0.4 | 465.8 | 0.2 | 0.6 | 22.6 | 5.4 | 50.0 | 545.0 |
Q02a | 56.0 | 6.0 | 49.0 | 32.0 | 24.0 | 8.0 | 1.0 | 1080.0 | 0.6 | 2.0 | 50.8 | 11.0 | 97.2 | 1242.6 |
Q02b | 174.0 | 6.0 | 147.0 | 64.0 | 48.0 | 16.0 | 3.4 | 3195.8 | 0.6 | 5.4 | 88.8 | 19.6 | 191.8 | 3505.4 |
Q02c | 1342.0 | 6.0 | 1225.0 | 512.0 | 384.0 | 128.0 | 27.8 | 26524.4 | 4.4 | 57.0 | 750.8 | 180.0 | 1492.0 | 29036.4 |
Q03 | 19.0 | 5.0 | 525.0 | 128.0 | nan | 64.0 | 7.8 | 8664.4 | 1.6 | 40.6 | 1092.8 | 111.4 | 763.4 | 10682.0 |
Q04 | 91.0 | 2.0 | 1.0 | 8.0 | 6.0 | 2.0 | 0.2 | 2.6 | 0.0 | 0.0 | 1.2 | 1.0 | 7.8 | 12.8 |
Q05 | 56200.0 | 4.0 | 1.0 | 8.0 | 7.0 | 1.0 | 0.0 | 2.4 | 0.0 | 0.0 | 3.4 | 2.2 | 321.4 | 329.4 |
Q05a | 33089.0 | 4.0 | 3.0 | 2.0 | nan | 2.0 | 0.0 | 30.6 | 0.0 | 0.0 | 1.4 | 1.0 | 189.0 | 222.0 |
Q05b | 50958.0 | 4.0 | 7.0 | 4.0 | nan | 4.0 | 0.2 | 70.2 | 0.0 | 0.0 | 3.8 | 1.8 | 355.4 | 431.4 |
Q06 | 52208.0 | 3.0 | 5.0 | 2.0 | nan | 2.0 | 0.4 | 24.4 | 0.0 | 0.6 | 4.0 | 1.4 | 376.6 | 407.4 |
Q06a | 29377.0 | 6.0 | 15.0 | 4.0 | nan | 4.0 | 0.4 | 356.2 | 0.2 | 0.8 | 8.2 | 4.8 | 365.2 | 735.8 |
Q06b | 17815.0 | 6.0 | 35.0 | 8.0 | nan | 8.0 | 0.8 | 815.4 | 0.6 | 1.6 | 17.0 | 9.2 | 405.4 | 1250.0 |
Q07 | 2.0 | 3.0 | 5.0 | 194.0 | nan | 194.0 | 0.2 | 48.4 | 0.2 | 12.0 | 16.4 | 99.8 | 992.8 | 1169.8 |
Q07a | 3.0 | 3.0 | 19.0 | 776.0 | nan | 388.0 | 0.0 | 172.4 | 0.4 | 105.0 | 32.4 | 248.2 | 2089.6 | 2648.0 |
Q08 | 56200.0 | 3.0 | 1.0 | 1.0 | nan | 1.0 | 0.0 | 2.2 | 0.0 | 0.0 | 4.8 | 1.8 | 348.0 | 356.8 |
Q09 | 5617.0 | 1.0 | 7.0 | 2.0 | nan | 2.0 | 0.2 | 13.8 | 0.0 | 0.0 | 5.4 | 0.4 | 29.6 | 49.4 |
Q10 | 9.0 | 3.0 | 670.0 | 786.0 | nan | 586.0 | 5.0 | 5301.8 | 1.4 | 183.6 | 61.2 | 246.4 | 3149.4 | 8948.8 |
Q10a | 14.0 | 3.0 | 2132.0 | 3144.0 | nan | 1172.0 | 18.2 | 16907.4 | 3.8 | 1148.0 | 128.2 | 723.0 | 6730.2 | 25658.8 |
Q10b | 24.0 | 3.0 | 5300.0 | 9432.0 | nan | 2344.0 | 49.2 | 42350.2 | 12.2 | 5598.4 | 260.2 | 2399.8 | 14269.6 | 64939.6 |
Q11 | 116.0 | 5.0 | 11052.0 | 48.0 | 42.0 | 1.0 | 173.2 | 101074.8 | 9.2 | 4.0 | 2.0 | 1.0 | 7.4 | 101271.6 |
Q14 | 56200.0 | 3.0 | 1.0 | 1.0 | nan | 1.0 | 0.4 | 11.4 | 0.0 | 0.0 | 4.0 | 1.6 | 343.8 | 361.2 |
Q15 | 28100.0 | 5.0 | 1.0 | 4.0 | 3.0 | 1.0 | 0.0 | 9.4 | 0.0 | 0.0 | 4.2 | 2.2 | 298.2 | 314.0 |
Q16 | 8114.0 | 4.0 | 25.0 | 16.0 | nan | 16.0 | 0.2 | 152.4 | 0.0 | 0.4 | 55.8 | 13.4 | 443.4 | 665.6 |
Q17 | 52208.0 | 2.0 | 5.0 | 2.0 | nan | 2.0 | 0.0 | 19.8 | 0.0 | 0.4 | 3.6 | 1.0 | 342.0 | 366.8 |
Q18 | 56200.0 | 4.0 | 1.0 | 4.0 | 3.0 | 1.0 | 0.0 | 8.0 | 0.0 | 0.0 | 6.2 | 2.0 | 470.6 | 486.8 |
Q19 | 2015.0 | 9.0 | 63.0 | 56.0 | nan | 16.0 | 1.8 | 2852.0 | 1.0 | 111.4 | 120.0 | 119.6 | 526.4 | 3732.2 |
Q19a | 3515.0 | 9.0 | 147.0 | 112.0 | nan | 32.0 | 4.0 | 6598.0 | 1.0 | 218.8 | 242.4 | 243.2 | 1038.6 | 8346.0 |
Q19b | 15511.0 | 9.0 | 525.0 | 448.0 | nan | 128.0 | 15.0 | 23436.0 | 3.8 | 897.6 | 1013.2 | 1003.8 | 4213.8 | 30583.2 |
Q20 | 0.0 | 11.0 | 21.0 | 4.0 | nan | 4.0 | 0.6 | 1322.8 | 0.2 | 47.2 | 40.4 | 58.4 | 427.2 | 1896.8 |
Q20a | 236.0 | 11.0 | 63.0 | 8.0 | nan | 8.0 | 1.8 | 3939.2 | 0.0 | 96.8 | 81.2 | 116.8 | 1081.4 | 5317.2 |
Q20b | 2312.0 | 11.0 | 525.0 | 64.0 | nan | 64.0 | 17.0 | 32608.4 | 3.8 | 778.2 | 684.2 | 953.6 | 8437.6 | 43482.8 |
Q20c | 7564.0 | 11.0 | 1225.0 | 128.0 | nan | 128.0 | 46.4 | 75972.0 | 7.0 | 1567.8 | 1396.4 | 1926.8 | 17105.0 | 98021.4 |
Q21 | 1085.0 | 3.0 | 670.0 | 1060.0 | 566.0 | 385.0 | 6.0 | 793.4 | 2.0 | 103.4 | 53.6 | 178.2 | 2733.8 | 3870.4 |
Reformulation and Rewriting Numbers
Rewriting Processing Times
The label on bar represents the number of reformulations.
Rewriting Time According to Reformulation Number
Query Plan Processing Times
Method Based on Mapping Saturation
Raw Statistics
INPUT | NANS | NTRI | NREF | NREW | NCLASH | NCOVER | TREF | TREW | TCLASH | TCOVER | TCORE | TOP | TQEV | TTOTAL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q01 | 1272.0 | 5.0 | nan | 8.0 | 6.0 | 2.0 | nan | 34.4 | 0.0 | 0.4 | 12.0 | 2.0 | 38.0 | 86.8 |
Q01a | 4376.0 | 5.0 | nan | 16.0 | 12.0 | 4.0 | nan | 37.2 | 0.0 | 0.8 | 23.4 | 4.4 | 84.8 | 150.6 |
Q01b | 22738.0 | 5.0 | nan | 128.0 | 96.0 | 32.0 | nan | 38.8 | 0.4 | 5.0 | 189.8 | 35.2 | 581.2 | 850.4 |
Q02 | 16.0 | 6.0 | nan | 16.0 | 12.0 | 4.0 | nan | 49.2 | 0.0 | 0.6 | 22.2 | 5.6 | 48.4 | 126.0 |
Q02a | 56.0 | 6.0 | nan | 32.0 | 24.0 | 8.0 | nan | 49.4 | 0.0 | 1.8 | 46.4 | 10.2 | 96.0 | 203.8 |
Q02b | 174.0 | 6.0 | nan | 64.0 | 48.0 | 16.0 | nan | 52.6 | 0.0 | 2.8 | 97.6 | 21.2 | 188.2 | 362.4 |
Q02c | 1342.0 | 6.0 | nan | 512.0 | 384.0 | 128.0 | nan | 68.0 | 1.2 | 32.2 | 899.0 | 192.2 | 1482.0 | 2674.6 |
Q03 | 19.0 | 5.0 | nan | 128.0 | nan | 64.0 | nan | 49.8 | 0.8 | 22.6 | 1306.0 | 102.0 | 745.0 | 2226.2 |
Q04 | 91.0 | 2.0 | nan | 8.0 | 6.0 | 2.0 | nan | 6.6 | 0.0 | 0.0 | 1.6 | 0.8 | 8.4 | 17.4 |
Q05 | 56200.0 | 4.0 | nan | 8.0 | 7.0 | 1.0 | nan | 6.2 | 0.2 | 0.0 | 3.6 | 2.0 | 318.8 | 330.8 |
Q05a | 33089.0 | 4.0 | nan | 2.0 | nan | 2.0 | nan | 24.6 | 0.0 | 0.0 | 1.8 | 1.0 | 191.4 | 218.8 |
Q05b | 50958.0 | 4.0 | nan | 4.0 | nan | 4.0 | nan | 24.6 | 0.2 | 0.0 | 2.8 | 2.0 | 348.6 | 378.2 |
Q06 | 52208.0 | 3.0 | nan | 2.0 | nan | 2.0 | nan | 14.6 | 0.0 | 0.0 | 3.8 | 1.4 | 363.4 | 383.2 |
Q06a | 29377.0 | 6.0 | nan | 4.0 | nan | 4.0 | nan | 42.0 | 0.0 | 0.8 | 8.2 | 4.8 | 368.6 | 424.4 |
Q06b | 17815.0 | 6.0 | nan | 8.0 | nan | 8.0 | nan | 43.8 | 0.0 | 1.0 | 16.0 | 9.2 | 412.0 | 482.0 |
Q07 | 2.0 | 3.0 | nan | 194.0 | nan | 194.0 | nan | 32.4 | 0.6 | 15.0 | 17.8 | 85.6 | 1016.2 | 1167.6 |
Q07a | 3.0 | 3.0 | nan | 388.0 | nan | 388.0 | nan | 33.0 | 0.6 | 59.0 | 38.0 | 270.0 | 2095.2 | 2495.8 |
Q08 | 56200.0 | 3.0 | nan | 1.0 | nan | 1.0 | nan | 6.2 | 0.0 | 0.0 | 5.0 | 1.6 | 337.6 | 350.4 |
Q09 | 5617.0 | 1.0 | nan | 2.0 | nan | 2.0 | nan | 14.4 | 0.0 | 0.0 | 3.8 | 0.4 | 30.2 | 48.8 |
Q10 | 9.0 | 3.0 | nan | 586.0 | nan | 586.0 | nan | 81.6 | 0.4 | 160.8 | 67.0 | 260.8 | 3177.4 | 3748.0 |
Q10a | 14.0 | 3.0 | nan | 1172.0 | nan | 1172.0 | nan | 90.4 | 0.8 | 639.6 | 143.8 | 878.4 | 6768.8 | 8521.8 |
Q10b | 24.0 | 3.0 | nan | 2344.0 | nan | 2344.0 | nan | 102.8 | 1.8 | 2515.8 | 280.4 | 2811.6 | 14431.0 | 20143.4 |
Q11 | 116.0 | 5.0 | nan | 16.0 | 14.0 | 1.0 | nan | 135.2 | 0.0 | 0.0 | 2.0 | 0.6 | 6.0 | 143.8 |
Q14 | 56200.0 | 3.0 | nan | 1.0 | nan | 1.0 | nan | 24.6 | 0.0 | 0.0 | 4.6 | 1.6 | 367.0 | 397.8 |
Q15 | 28100.0 | 5.0 | nan | 4.0 | 3.0 | 1.0 | nan | 19.6 | 0.0 | 0.0 | 4.2 | 2.2 | 292.2 | 318.2 |
Q16 | 8114.0 | 4.0 | nan | 16.0 | nan | 16.0 | nan | 20.2 | 0.2 | 0.0 | 70.6 | 13.8 | 430.0 | 534.8 |
Q17 | 52208.0 | 2.0 | nan | 2.0 | nan | 2.0 | nan | 12.0 | 0.0 | 0.6 | 3.2 | 1.2 | 362.2 | 379.2 |
Q18 | 56200.0 | 4.0 | nan | 4.0 | 3.0 | 1.0 | nan | 16.8 | 0.0 | 0.0 | 6.6 | 2.0 | 435.8 | 461.2 |
Q19 | 2015.0 | 9.0 | nan | 56.0 | nan | 16.0 | nan | 93.2 | 0.4 | 138.6 | 121.6 | 115.8 | 524.6 | 994.2 |
Q19a | 3515.0 | 9.0 | nan | 112.0 | nan | 32.0 | nan | 94.8 | 1.0 | 283.0 | 255.0 | 260.4 | 1037.0 | 1931.2 |
Q19b | 15511.0 | 9.0 | nan | 448.0 | nan | 128.0 | nan | 143.4 | 2.0 | 1170.4 | 1039.2 | 977.4 | 4155.8 | 7488.2 |
Q20 | 0.0 | 11.0 | nan | 4.0 | nan | 4.0 | nan | 145.6 | 0.2 | 43.4 | 40.2 | 55.6 | 439.0 | 724.0 |
Q20a | 236.0 | 11.0 | nan | 8.0 | nan | 8.0 | nan | 116.0 | 0.0 | 86.6 | 121.6 | 111.6 | 1045.6 | 1481.4 |
Q20b | 2312.0 | 11.0 | nan | 64.0 | nan | 64.0 | nan | 128.4 | 0.4 | 709.4 | 683.2 | 913.4 | 8600.0 | 11034.8 |
Q20c | 7564.0 | 11.0 | nan | 128.0 | nan | 128.0 | nan | 127.8 | 0.4 | 1420.4 | 1526.4 | 1962.0 | 17209.4 | 22246.4 |
Q21 | 1085.0 | 3.0 | nan | 929.0 | 539.0 | 385.0 | nan | 55.8 | 1.2 | 74.4 | 53.4 | 209.6 | 2770.8 | 3165.2 |
Rewriting Numbers
Rewriting Processing Times
Query Plan Processing Times
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);