GDD-Nantes / FedShop

Code for FedShop: The Federated Shop Benchmark
GNU General Public License v3.0
8 stars 0 forks source link

Engines do not produce the same results as expected #33

Closed mhoangvslev closed 1 year ago

mhoangvslev commented 1 year ago
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT DISTINCT ?product ?label ?propertyTextual WHERE {
    { 
        ?product rdfs:label ?label .
        # const!* bsbm:ProductType597
        ?product rdf:type ?localProductType .
        ?localProductType owl:sameAs bsbm:ProductType597 .
        # const!* bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature1 .
        ?localProductFeature1 owl:sameAs bsbm:ProductFeature18499.
        # const** bsbm:ProductFeature19842 != bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature2 .
        ?localProductFeature2 owl:sameAs bsbm:ProductFeature19842.
        ?product bsbm:productPropertyTextual1 ?propertyTextual .
        ?product bsbm:productPropertyNumeric1 ?p1 .
        # const** "1002.0"^^xsd:double < ?p1
        FILTER ( ?p1 > "1002.0"^^xsd:double )
    } UNION {
        ?product rdfs:label ?label .
        # const!* bsbm:ProductType597
        ?product rdf:type ?localProductType .
        ?localProductType owl:sameAs bsbm:ProductType597 .
        # const!* bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature1 .
        ?localProductFeature1 owl:sameAs bsbm:ProductFeature18499 .
        # const* bsbm:ProductFeature27760 != bsbm:ProductFeature19842, bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature3 .
        ?localProductFeature3 owl:sameAs bsbm:ProductFeature27760 .
        ?product bsbm:productPropertyTextual1 ?propertyTextual .
        ?product bsbm:productPropertyNumeric2 ?p2 .
        # const "656.0"^^xsd:double < ?p2
        FILTER ( ?p2 > "656.0"^^xsd:double ) 
    } 
}
ORDER BY ?product ?label ?propertyTextual
##OFFSET 5
LIMIT 10
product label propertyTextual
http://www.ratingsite2.fr/Product100168 dinghies perter feat footage's rioted coliseums Ernie's
http://www.ratingsite33.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.ratingsite48.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.ratingsite52.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.ratingsite61.fr/Product100168 dinghies perter feat footage's rioted coliseums Ernie's
http://www.ratingsite61.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.ratingsite64.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.vendor15.fr/Product100168 dinghies perter feat footage's rioted coliseums Ernie's
http://www.vendor17.fr/Product75785 hopper bibliographer gewgaw's Anglicanism tyrant rococo's opted ringmaster's
http://www.vendor26.fr/Product100168 dinghies perter feat footage's rioted coliseums Ernie's
mhoangvslev commented 1 year ago

SELECT DISTINCT ?product ?label ?propertyTextual WHERE { VALUES ( ?bgp1 ?bgp2 ) { ( http://localhost:34210/sparql/?default-graph-uri=http://www.vendor9.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite52.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.vendor44.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite48.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.vendor17.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite33.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite64.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite61.fr/ http://localhost:34210/sparql/?default-graph-uri=nan ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.vendor15.fr/ ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.vendor68.fr/ ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.vendor7.fr/ ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.vendor26.fr/ ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite2.fr/ ) ( http://localhost:34210/sparql/?default-graph-uri=nan http://localhost:34210/sparql/?default-graph-uri=http://www.ratingsite61.fr/ ) } { SERVICE ?bgp1 { ?product rdfs:label ?label .

const!* bsbm:ProductType597

        ?product rdf:type ?localProductType .
        ?localProductType owl:sameAs bsbm:ProductType597 .
        # const!* bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature1 .
        ?localProductFeature1 owl:sameAs bsbm:ProductFeature18499.
        # const** bsbm:ProductFeature19842 != bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature2 .
        ?localProductFeature2 owl:sameAs bsbm:ProductFeature19842.
        ?product bsbm:productPropertyTextual1 ?propertyTextual .
        ?product bsbm:productPropertyNumeric1 ?p1 .
        # const** "1002.0"^^xsd:double < ?p1
        FILTER ( ?p1 > "1002.0"^^xsd:double )
    } 
} UNION {
    SERVICE ?bgp2 {
        ?product rdfs:label ?label .
        # const!* bsbm:ProductType597
        ?product rdf:type ?localProductType .
        ?localProductType owl:sameAs bsbm:ProductType597 .
        # const!* bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature1 .
        ?localProductFeature1 owl:sameAs bsbm:ProductFeature18499 .
        # const* bsbm:ProductFeature27760 != bsbm:ProductFeature19842, bsbm:ProductFeature18499
        ?product bsbm:productFeature ?localProductFeature3 .
        ?localProductFeature3 owl:sameAs bsbm:ProductFeature27760 .
        ?product bsbm:productPropertyTextual1 ?propertyTextual .
        ?product bsbm:productPropertyNumeric2 ?p2 .
        # const "656.0"^^xsd:double < ?p2
        FILTER ( ?p2 > "656.0"^^xsd:double ) 
    } 
}

} ORDER BY ?label

OFFSET 5

LIMIT 10

momo54 commented 1 year ago

What is wrong with this query and results ? It looks ok to me...

mhoangvslev commented 1 year ago

It was a bug in my ORDER BY rewriting function. It's gone now.

mhoangvslev commented 1 year ago

Note that queries without ORDER BY originally still require some post processing in order to be compared.