LinkedDataFragments / Client.js

[DEPRECATED] A JavaScript client for Triple Pattern Fragments interfaces.
http://linkeddatafragments.org/
Other
92 stars 35 forks source link

Single URI for multiple fragments result in hash collision #31

Closed pietercolpaert closed 7 years ago

pietercolpaert commented 7 years ago

Problem

A single URI for multiple fragments result in hash collision. The federated client assigns an “empty” label to a certain fragment, and therefore also to similar fragments.

Reproduce

Example query that works: http://client.linkeddatafragments.org/#datasources=http%3A%2F%2Fdata.linkeddatafragments.org%2Flinkedgeodata;http%3A%2F%2Fpieter.pm%2Fparkingtest.ttl&query=SELECT%20*%20WHERE%20%7B%0A%20%20%20%20%3FsGent%20a%20%3Chttp%3A%2F%2Fvocab.datex.org%2Fterms%23UrbanParkingSite%3E%20%3B%0A%20%20%20%20%20%23%20%20%20%20%20%20%20%20%20%20%20%20%3Fp%20%3Fo%20.%0A%7D%20LIMIT%2020 Example query that does not work while it should: http://client.linkeddatafragments.org/#datasources=http%3A%2F%2Fdata.linkeddatafragments.org%2Flinkedgeodata;http%3A%2F%2Fpieter.pm%2Fparkingtest.ttl&query=SELECT%20*%20WHERE%20%7B%0A%20%20%20%20%3FsGent%20a%20%3Chttp%3A%2F%2Fvocab.datex.org%2Fterms%23UrbanParkingSite%3E%20%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Fp%20%3Fo%20.%0A%7D%20LIMIT%2020

RubenVerborgh commented 7 years ago

The data in http://pieter.pm/parkingtest.ttl currently contains

<http://pieter.pm/parkingtest.ttl> void:count "200" .

while the correct predicate is void:triples. Fixing this yields the expected result.

The error is triggered only with ≥ 2 triple patterns, because then count metadata is used to optimize the join order.