RE: Joseki - publishing RDF

For SIMILE:

For SIMILE, I suggest that the web aspect of the architecture is that there
are databases on the web (Knowledge Bases) and applications look up
information about concepts (people, works of art).  Several different KBs
can have information about the same concept.

This paradigm is simple, works on top of existing web infrastructure, and
(dare I say it) uncontroversial.

It does not solve the problem of "have URI, tell me about without any other
knowledge".   Now that is controversial.


Not for SIMILE:

-------- Original Message --------
> From: Kevin Smathers <mailto:ks@saro2.hpl.hp.com>
> Date: 20 November 2003 18:13
> 
> Hi Andy,
> 
> A better description of what I was trying to get at during this
> morning's telecon was to ask if Joseki couldn't be used to
> publish nodes using the same URL as identifies the RDF node itself.

So could you say more about the use case, the reason why?  Why do you want
the representation and some metadata about a thing at the same place on the
web with, say, embedding the metadata in the representation (in the result
of GET)?

Joseki uses plain, old HTTP.  Joseki published models (KBs) at their URL.
Each KB has information about our resources.  That RDF is independent of the
resource described (e.g. all 3rd party information).

> 
> Right now this is impossible with Joseki because of the way that Joseki
> structures queries.
> 
> Suppose there is a node <http://www.ank.com/~kevin> that I've said
> identifies me.

Is that a web page or is that "Kevin Smathers"?

This is httpRange-14 that is being debated widely at the moment.  I do not
understand all the subtleties but I can try to capture some of the
positions:

1/ The web is a web of documents.  Documents are on the web.
   URLs and URIrefs only refer to documents.

2/ Documents and concepts (Tim Berners-Lees position, badly expressed
   URLs refer to document (information resources)
   URIrefs refer to concepts within that resource
     Consequence: concepts are http:// with fragId.  They must have a #

3/ Everything / anything can be on the web.
   Its whatever the claimant says.

4/ It's context-dependent.
   If you GET the thing, it's a web page (context is http usage)
   It can identify a person.
   It can identify a web page.
   Consequence: Just the URI isn't enough to do anything.

Note that in 3 there is a requirement of consistency - you're example does
not meet that as it is both a web page and a person.  You may claim
http://www.ank.com/~kevin is you but when I go GET I don't get a
representation of you, I get a web page with title "A&K Winery : Kevin
Smathers, CBWO".  This is why I suggest urn:uuid's for people - so systems
can exchange a reference to the concept. What is the foaf:fullName of the
web page?

Consider the possibly less charged (it not about people):

http://chandra.harvard.edu/photo/2003/ngc1068/index.html

Question: Does this make NGC1068 on the web?

(This question is often posed in terms of "Paris" or "DanC's black Toyota".)

>  To retrieve that node using Joseki I would write
> (using GET, and ignoring URL quoting for the moment):
> 
>    GET /users?lang=fetch&query=http://www.ank.com/~kevin

Untrue : Joseki supports plain GET.  GET returns a representation of the
resource.  It is unclear in web architecture whether that can include
metadata about the thing in question; there are people in the debate in
www-rdf-rules/www-rdf-logic suggesting MIME type negotiation, others suggest
a new HTTP verb.

The paradigm I have is that the semantic web has information resources (KBs)
available.  c.f Google.  Applications can look up about a resource in a KB.

The "fetch" operation needs two things to find information : the KB and the
URI of the resource.  There can be many places where information about a
resource are to be found.  I may have some information about <foo> and so
might you.

So - web architecture - this request is asking the KB at
http://example.org/users (NB absolute URL to identify the KB).

Are your trying to solve the problem that you have a URI and, without any
other information, wish to get metadata about the resource identified by the
URI?  Joseki's fills in the piece of this puzzle where there are many
different KBs that might have metadata about the resource.  Like the web
service world, I'm assuming that the application is not isolated, it found
out about the resource in some way and this can be informing as to good
places to look.

Is there, to you, a different between the representation of a resource and
metadata about the resource?  This is a 2000 year old philosophical issue.

> 
> Now if I try to make my URL something that Joseki can understand, I
> still can't  reference that node directly because it will again be
> prefixed by the Joseki query syntax, e.g.:
>   
> <http://www.ank.com:2020/users?lang=fetch&query=http://www.ank.com/~kevin>
> 
> would be fetched using:
> 
>    GET
>
/users?lang=fetch&query=http://www.ank.com:2020/users?lang=fetch&query=http:
//www.ank.com/~kevin
> 
> Yikes, it is like looking into back to back mirrors.

No - you are trying to construct a "reductio ad absurdum" argument but
mixing the concept with statements about the concept.

Also, for SIMILE, there is a difference between a work and a manifestation
of a work.  There are two concepts - and hence potentially two names (URIs).

> 
> However, if Joseki could respond to a relative request such as the
> following and use its own configuration and the hostname of the
> machine it is running on to determine what the original node was
> that was being requested, then it could self-referentially return
> the exact node by its own identity, e.g.:
> 
>    GET /users/~kevin
> 
> should retrieve a node (from the Model 'users') named
> 
>    <http://www.ank.com:2020/users/~kevin>

Firstly - mechanically this is just rewriting the incoming request to serve
"GET http://example.org/users/~kevin" with the results of another request.
Purely a local matter - mod_rewrite or mod_alias can do that, alternatively
do it in web.xml.

Second - isn't "/users" just your URI for the KB that has information about
http://www.ank.com/~kevin (I am confused here because your example URI keeps
changing).

Third - It is hard, practically, to consistently turn relative URIs to
absolute URIs:

Consider: 
http://www.ank.com/~kevin
http://www.ank.com./~kevin  (final dot after "com" - an absolute DNS name)
http://206.170.148.113/~kevin
http://www.ank.com/~kevin/  (final /)

Currently, doing a GET on all these yields the same representation.

In the phone conference you wanted Joseki to convert relative URIs to
absolute one on output.  It is difficult to see which way it should be done.
Deep in a servlet, there are all sorts of different routes a request may
have come in, including being passed on by a front-end web server to a
back-end app server.

> 
> In this way a running Joseki server could be the reference source for
> its 
> own nodes, which is appropriate in cases where the server is the
> canonical 
> source for those nodes.  This is especially true for e.g. anonymous
> nodes, 
> but also applies to any node that a user has decided is defined by
> itself. 
> 
> Cheers,
> -kls
> 
> 

Information (metadata) about a thing is different from (a representation of)
the thing itself.

See also URIQA - and the debate in www-rdf-logic/rules/interst with Patrick
Sticker advocating the new HTTP verb MGET.  This seems to be close to what
you want.

See also the discussion on embedding RDF in HTML which is also an
interesting additional to the semantic web.

	Andy

PS Removed www-archive from the distribution list. 

Received on Friday, 21 November 2003 08:58:08 UTC