Re: Is there a way to automatically distinguish SPARQL endpoint and LDF server?

Hi Ruben and Miguel,

Thank you very for the quick answers!

Looks like at this moment we should follow this algorithm:
 - request the RDF-based description,
 - check whether it has [ a void:Dataset ; void:uriLookupEndpoint
"<lookup uri>" ] triples and <lookup uri> ends with
"{?subject,predicate, object}" string, if yes, then it's TPF server
 - otherwise assume that it's a SPARQL endpoint and send a query and
hope it'll succeed. Otherwise fail the query execution.

Cheers,
Maxim

On Sat, Aug 22, 2015 at 1:10 AM, Ruben Verborgh <ruben.verborgh@ugent.be> wrote:
> Hi Miguel,
>
>> for completeness I would add that as a fact also SPARQL endpoints MAY self-describe themselves in RDF using the "SPARQL 1.1 Service Description Vocabulary" [1].
>
> Indeed, very good point.
>
>> By the way, I guess some other "brute force" methods can be used to test if an URL points to a SPARQL endpoint, like sending a very simple SPARQL 1.0 query.
>
> In practice, yes; in theory, not really.
> E.g., I could set up a server that responds to ?query=simple_sparql_query but not to any other query.
> Exotic example, I know, but the only hard guarantees are self-descriptive responses
> (assuming the server tells the truth—but you trust the server anyway if you're going to query).
>
> Best,
>
> Ruben

Received on Monday, 24 August 2015 15:50:38 UTC