3-Round-Stones / callimachus

Callimachus is a highly scalable platform for creating and running data-driven websites
Other
95 stars 24 forks source link

No results from federated query #226

Open normansuesstrunk opened 8 years ago

normansuesstrunk commented 8 years ago

I'm trying to run the following query:

PREFIX geovocab-geom2:  <http://geovocab.org/geometry#>
PREFIX lgdo:    <http://linkedgeodata.org/ontology/>
PREFIX lgdm:    <http://linkedgeodata.org/meta/>
PREFIX dccs:    <http://www.example.org/dc/Bibstatv1/dccs/>
PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX prop: <http://www.example.org/dc/Bibstatv1/prop/>
PREFIX lgd: <http://linkedgeodata.org/triplify/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX ds: <http://www.example.org/dc/Bibstatv1/dataset/>

SELECT ?obs ?lgdresource ?city ?label
WHERE { 
    SERVICE <http://linkeddata.fh-htwchur.ch/openrdf-sesame/repositories/LibraryStatisticData> {
        ?obs prop:Z1 ?lgdresource . 
    }
    SERVICE <http://linkeddata.fh-htwchur.ch/sparqlify-web-admin-server/services/linkedgeodata/sparql> {
            ?lgdresource 
                lgdo:addr%3Acity ?city;
                rdfs:label  ?label .
    }
}

When i test the query with Jena ARQ, the query works, i get the expected results. If I create a named query in callimachus, i get no results back. Queries with 1 service clause are working in callimachus:

PREFIX geovocab-geom2:  <http://geovocab.org/geometry#>
PREFIX lgdo:    <http://linkedgeodata.org/ontology/>
PREFIX lgdm:    <http://linkedgeodata.org/meta/>
PREFIX dccs:    <http://www.example.org/dc/Bibstatv1/dccs/>
PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX prop: <http://www.example.org/dc/Bibstatv1/prop/>
PREFIX lgd: <http://linkedgeodata.org/triplify/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX ds: <http://www.example.org/dc/Bibstatv1/dataset/>

SELECT ?obs ?lgdresource
WHERE { 
    SERVICE <http://linkeddata.fh-htwchur.ch/openrdf-sesame/repositories/LibraryStatisticData> {
        ?obs prop:Z1 ?lgdresource . 
    }
}
3roundstones commented 8 years ago

I think this is very likely to be a Sesame bug...

Regards,

Dave

http://about.me/david_wood

On Sep 3, 2015, at 08:54, Norman Süsstrunk notifications@github.com wrote:

I'm trying to run the following query:

PREFIX geovocab-geom2: http://geovocab.org/geometry# PREFIX lgdo: http://linkedgeodata.org/ontology/ PREFIX lgdm: http://linkedgeodata.org/meta/ PREFIX dccs: http://www.example.org/dc/Bibstatv1/dccs/ PREFIX qb: http://purl.org/linked-data/cube# PREFIX dct: http://purl.org/dc/terms/ PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX prop: http://www.example.org/dc/Bibstatv1/prop/ PREFIX lgd: http://linkedgeodata.org/triplify/ PREFIX xsd: http://www.w3.org/2001/XMLSchema# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX dcat: http://www.w3.org/ns/dcat# PREFIX prov: http://www.w3.org/ns/prov# PREFIX ds: http://www.example.org/dc/Bibstatv1/dataset/

SELECT ?obs ?lgdresource ?city ?label WHERE { SERVICE http://linkeddata.fh-htwchur.ch/openrdf-sesame/repositories/LibraryStatisticData { ?obs prop:Z1 ?lgdresource . } SERVICE http://linkeddata.fh-htwchur.ch/sparqlify-web-admin-server/services/linkedgeodata/sparql { ?lgdresource lgdo:addr%3Acity ?city; rdfs:label ?label . } } When i test the query with Jena ARQ, the query works, i get the expected results. If I create a named query in callimachus, i get no results back. Queries with 1 service clause are working in callimachus:

PREFIX geovocab-geom2: http://geovocab.org/geometry# PREFIX lgdo: http://linkedgeodata.org/ontology/ PREFIX lgdm: http://linkedgeodata.org/meta/ PREFIX dccs: http://www.example.org/dc/Bibstatv1/dccs/ PREFIX qb: http://purl.org/linked-data/cube# PREFIX dct: http://purl.org/dc/terms/ PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX prop: http://www.example.org/dc/Bibstatv1/prop/ PREFIX lgd: http://linkedgeodata.org/triplify/ PREFIX xsd: http://www.w3.org/2001/XMLSchema# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX dcat: http://www.w3.org/ns/dcat# PREFIX prov: http://www.w3.org/ns/prov# PREFIX ds: http://www.example.org/dc/Bibstatv1/dataset/

SELECT ?obs ?lgdresource WHERE { SERVICE http://linkeddata.fh-htwchur.ch/openrdf-sesame/repositories/LibraryStatisticData { ?obs prop:Z1 ?lgdresource . } } — Reply to this email directly or view it on GitHub.

normansuesstrunk commented 8 years ago

Yes, it seems like this is a bug in Sesame, Issue in the Sesame JIRA: https://openrdf.atlassian.net/browse/SES-926?jql=text%20~%20%22Invalid%20join%22

I get the same error when i run the query in the default sparql endpoint from callimachus.

If i change the query with a fixed value for the subject in the first Service Clause, the query works:

(... prefixex ...)

SELECT ?bibNameInStatistic ?lgdresource ?city ?label
WHERE { 
    SERVICE <http://linkeddata.fh-htwchur.ch/openrdf-sesame/repositories/LibraryStatisticData> {
        ds:obs364 
            prop:Z1 ?lgdresource; 
            prop:Z2 ?bibNameInStatistic . 

    }
    SERVICE <http://linkeddata.fh-htwchur.ch/sparqlify-web-admin-server/services/linkedgeodata/sparql> {
            ?lgdresource 
                lgdo:addr%3Acity ?city;
                rdfs:label  ?label .
    }
}

So, basically, using two remote endpoints work. The problem seems to handle multiple joins if the first query to a remote endpoint returns multiple rows.