Details
-
Type:
Bug
-
Status: Accepted
-
Resolution: Unresolved
-
Affects Version/s: BIGDATA_RELEASE_1_3_2
-
Fix Version/s: None
-
Component/s: NanoSparqlServer
-
Labels:None
Description
<rdf:Description rdf:nodeID="defaultDataset"> <rdf:type rdf:resource="http://www.w3.org/ns/sparql-service-description#Dataset"/> <rdf:type rdf:resource="http://rdfs.org/ns/void#Dataset"/> <title xmlns="http://purl.org/dc/terms/">kb</title> <Namespace xmlns="http://www.bigdata.com/rdf#/features/KB/">kb</Namespace> <sparqlEndpoint xmlns="http://rdfs.org/ns/void#" rdf:resource="http://localhost:8080/bigdata/namespace/kb/sparql/kb/sparql"/> <sparqlEndpoint xmlns="http://rdfs.org/ns/void#" rdf:resource="http://localhost:8080/bigdata/LBS/namespace/kb/sparql/kb/sparql"/> <uriRegexPattern xmlns="http://rdfs.org/ns/void#">^.*</uriRegexPattern> <defaultGraph xmlns="http://www.w3.org/ns/sparql-service-description#" rdf:nodeID="defaultGraph"/> </rdf:Description>
But the correct URL should be:
<sparqlEndpoint xmlns="http://rdfs.org/ns/void#" rdf:resource="http://localhost:8080/bigdata/namespace/kb/sparql/kb/sparql"/>
Also the generated endpoints are based on the requestURL. This means that they will include the "/namespace" URI component when produced by a SERVICE DESCRIPTION request. We need to look at the invocation contexts and ensure that the resulting URI is a SPARQL end point in all cases (ending in /sparql not /namespace).
Finally, the /LBS/ endpoints are incorrect. They need to be rewritten to use /LBS/leader/ and /LBS/read/. Those URI path components will correctly locate the leader-based LBS redirect and the load balanced read-only based LBS re-direct.
A related issue as noted on the list: Are you aware that the service description of a namespace gives this sparql endpoint:
<Namespace>kb</Namespace> <sparqlEndpoint rdf:resource="http://localhost:8080/bigdata/namespace/kb/sparql/kb/sparql"/>
instead of
<Namespace>kb</Namespace> <sparqlEndpoint rdf:resource="http://localhost:8080/bigdata/namespace/kb/sparql"/>