Re: URIs within URIs

Hi Luca,

> I'm wondering whether there has been any research regarding the idea
> of having URIs contain an actual URI, that would then resolve
> information about what the linked dataset states about the input URI.
> 
> Example:
> 
> http://foo.com/alice -> returns data about what foo.com has regarding alice
> 
> http://bar.com/endpoint?uri=http%3A%2F%2Ffoo.com%2Falice -> doesn't
> just resolve the alice URI above, but returns what bar.com wants to
> say about the alice URI

This specific use case has been one of the motivations behind Triple Pattern Fragments [1][2].
Section 4.3 of our publication on the Linked Data on the Web workshop [2] specifically tackles this issue.

The problem with dereferencing is that the URI of a concept
only leads to the information about this concept by the particular source
that has created this specific URI—even though there might be others.
For instance, even if http://example.org/#company was the official URI of
the company EXAMPLE, it is unlikely the source of the most objective information
about this company. But how can we find that information then?

And the problem gets worse with URIs like http://xmlns.com/foaf/0.1/Person.
This URI gives you exactly 0 persons, as strange as this might seem to an outsider.


With Triple Pattern Fragments, you can say:
“give me all information this particular dataset has about concept X.”
For instance, given the resource http://dbpedia.org/resource/Barack_Obama,
here is data for this person *in a specific dataset*:
http://data.linkeddatafragments.org/dbpedia?subject=http%3A%2F%2Fdbpedia.org%2Fresource%2FBarack_Obama

Here is data about http://xmlns.com/foaf/0.1/Person in that same dataset:
http://data.linkeddatafragments.org/dbpedia?object=http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2FPerson

Note how these resources are *not* created by hacking URI patterns manually;
instead, you can find them through a hypermedia form:
    - http://data.linkeddatafragments.org/dbpedia
This form woks for both HTML and RDF clients, thanks to the Hydra Core Vocabulary.
In other words, this interface is a hypermedia-driven REST interface through HTTP.


This gets us to a deeper difference between (current) Linked Data and the rest of the Web:
Linked Data uses only links as hypermedia controls,
whereas the remainder of the Web uses links *and forms*.
Forms are a much more powerful mechanism to discover information.

So part of what we want to achieve with Triple Pattern Fragments
is to broaden the usage of Linked Data from links to more expressive hypermedia.
This truly allows “anybody to say anything about anything”—
and to discover that information, too!

> I know SPARQL endpoints already have this functionality, but was
> wondering whether any formal research was done towards this direction
> rather than a full-blown SPARQL endpoint.
> 

> The reason I'm looking for this sort of thing is because I simply need
> to ask certain third-party datasets whether they have data about a URI
> (inbound links).

Consider using a Triple Pattern Fragments server [3].
Their handy and very cheap to host in comparison to SPARQL servers!

Best,

Ruben

[1] http://www.hydra-cg.com/spec/latest/triple-pattern-fragments/
[2] http://ceur-ws.org/Vol-1184/ldow2014_paper_04.pdf
[3] https://github.com/LinkedDataFragments/Server.js

Received on Friday, 22 August 2014 16:20:15 UTC