Re: Distributed querying on the semantic web

On Apr 22, 2004, at 11:17, ext Phil Dawes wrote:

>
> Hi Patrick,
>
> Patrick Stickler writes:
>>
>> Note that providing a formal, RDF description via MGET does not 
>> preclude
>> or impact providing representations of the employee in traditional web
>> fashion via GET, etc.
>>
>
> I know it sounds stupid, but that hadn't actually occured to me.
>
> MGET is not only
> - A mechanism for getting information about an HTTP URI
> But also:
> - A mechanism for accertaining *authoritative* information about an
> HTTP URI
>
> Where authoritative means currently intended by the author - correct?

Essentially, yes.

The web authority of the URI controls what requests it responds
to and how it responds to those requests and the owner/author/creator
of a resource employs the web authority (server) to act in its
behalf to provide particular responses to particular requests.

So a response to an MGET request reflects precisely what the
owner/author/creator (via the web authority) wishes to say about
the resource in question.

E.g. someone else may disagree with Nokia about what the term
"http://sw.nokia.com/FN-1/published" means, but if an agent
submits an MGET request to the web authority of that term

    MGET /FN-1/published HTTP/1.1
    Host: sw.nokia.com

then what they get back is Nokia's description of that resource,
no matter what anyone else thinks or says about that term.

E.g. try

    curl -X MGET "http://sw.nokia.com/FN-1/published"

;-)

The agent may choose to trust some third party description over
Nokia's own authoritative description, but that's a different
matter entirely. It nevertheless remains clear which description
is the authoritative one, and well-behaved SW agents will respect
authoritative descriptions, unless there is clear cause to do
otherwise.


>
> So when setting up a URI query facility for my terms, I should put
> statements that I author and consider authoritative at the end of an
> MGET query,

Right.

> and other arbitrary RDF about the URI (e.g. external
> statements where the URI is the object, links to external queryably
> sources, etc..), at the end of a GET 303-redirect.

Or expose such 3rd party knowledge via a general query interface.

E.g. the freely available open source URIQA implementation [1] provides
for both authoritative requests (MGET, MPUT, MDELETE) as well as for
third party requests via a servlet interface which takes as one of
its arguments an arbitrary URI (including URIs that are not HTTP 
resolvable).

The latter functionality can be used to create a centralized repository
(a'la Google) of knowledge harvested from various sources, and in fact,
this is something we do on the Nokia Semantic Web Server. E.g. the 
following
provides a 3rd party description of the DC title property:

    GET /uriqa?uri=http://purl.org/dc/elements/1.1/title HTTP/1.1
    Host: sw.nokia.com

E.g.

    curl 
"http://sw.nokia.com/uriqa?uri=http://purl.org/dc/elements/1.1/title"

The RDF returned by the above request is not the authoritative 
description
of the dc:title term, since the request is not being made to the web 
authority
purl.org, but to a 3rd party web authority. The description may or may 
not
agree with the description that the web authority would provide, if it 
were
URIQA enlightened and able to respond to an MGET request, i.e.

    MGET /dc/elements/1.1/title HTTP/1.1
    Host: purl.org

E.g.

    curl -X MGET "http://purl.org/dc/elements/1.1/title"

Note that this results in a 501 Method Not Implemented response, which 
is
*excellent* as it clearly and unambigously communicates to the agent 
that
the server is not URIQA enlightened; no guessing about what a 404 
response
might or might not mean...

Cheers,

Patrick

--

Patrick Stickler
Nokia, Finland
patrick.stickler@nokia.com

Received on Thursday, 22 April 2004 06:10:13 UTC