- From: Tim Berners-Lee <timbl@w3.org>
- Date: Tue, 4 Dec 2007 14:00:32 -0500
- To: Steve Harris <steve.harris@garlik.com>
- Cc: Richard Cyganiak <richard@cyganiak.de>, Damian Steer <damian.steer@hp.com>, Chris Bizer <chris@bizer.de>, semantic-web <semantic-web@w3.org>
Steve,
First, congrats on getting QDOS out!
And surfacing the RDF!
Now to details.....
On 2007-12 -03, at 06:03, Steve Harris wrote:
>
> On 2 Dec 2007, at 17:54, Richard Cyganiak wrote:
>> Steve,
>>
>> A very interesting dataset. I see that there are DBpedia links now,
>> cool! However ...
>
> At the moment, the dbpedia links are just injected into the linked
> data output, but they will wind up in the store when I get a chance
> to add them.
>
>> On 29 Nov 2007, at 16:50, Steve Harris wrote:
>>>>>>> http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80
>>>>>>> owl:sameAs
>>>>>>> http://dbpedia.org/resource/Moby
>>>>>> I really don't think you mean that :-)
>>>>>>
>>>>>> They are primarily about the same thing, I take it. Maybe
>>>>>> http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80
>>>>>> skos:subject
>>>>>> http://dbpedia.org/resource/Moby?
>>>>>
>>>>> I assume from Steve's RDF that
>>>>> http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80
>>>>> identifies Moby as a
>>>>> person (a non-information resource) and not the HTML document
>>>>> describing
>>>>> Moby.
>>>>
>>>> Ah, apologies. Scratch what I said. I thought such URIs had to 303.
>>>
>>> That URI situation is a bit ugly, I had to trade of shorter/neater
>>> profile URIs against being more easily able to distinguish between
>>> HTML pages and URIs for people. Brevity won.
>>
>> At the moment, unfortunately, the URI scheme is broken. It uses the
>> same URI to identify two different things, a web document and a
>> person. Web documents are different things than the things talked
>> about in the document -- that's a fundamental axiom.
>
> Well, not exactly - the URI originally denoted the person, and the
> HTML profile page was http://qdos.com/profile?uri=... which was
> ugly, and the persons URI did not dereference to anything. So, I
> made the person's URI dereference to .../turtle if you Accept:'d
> application/x-turtle and return some HTML if not.
>
> Consequently there's no statements about the page with <http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80
> > as the subject.
>
> Probably/possibly I should have made the html version .../html or
> something, but I didn't. I might change this in the future, but I
> want to avoid forwarding normal users all over the place.
>
>> Let's look at qdos URIs ...
>>
>> That's clearly a web document (available in HTML and Turtle):
>> http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80
>
> You get HTTP forwarded if you want turtle, its not the same URI
> ultimately.
>
>> That's the Turtle-only version of that web document:
>> http://qdos.com/celeb/8340a9fc46297f805e66b6f9e89feb80/turtle
>>
>> The Turtle data is confused about wether that first URI identifies
>> a document or a person. It has some data about the web document
>> (e.g. date, creator) and some data about the person (name, homepage).
>
> DC date and creator refer to the SPARQL graph, not the HTML page.
> The HTML is dynamically generated.
>
>> Fortunately, fixing this is fairly easy:
>>
>> 1. Make up your mind which properties are properties of the person,
>> and which are properties of the QDos web page. I'd argue that
>> almost all are about the person.
>>
>> 2. Use http://qdos.com/celeb/834...3b80#person as the URI for all
>> the things where you mean the person.
>
> You cannot be serious! There's no way I would go through and change
> every URI referring to a person in the RDF store behind a live system.
>
Well, your external interface could munge every URI which passes
though it, for example.
Keeping the data the same.
>> 3. Add a triple that relates the document and the person, e.g. <...
>> 3b80> foaf:primaryTopic <...3b80#person>.
>>
>> Optionally, I'd suggest a few additional things:
>>
>> 4. A triple <...3b80#person> rdf:type foaf:Person would be helpful.
>
> Users get a rdf:type foaf:Person triples, celebs get rdf:type
> q:Celebrity, which should be a subClassOf foaf:Person, but I've not
> got round to adding that to the schema. The URI of the graph is the
> same as the URI of the person. That's slightly odd,
It is broken. I am not a graph! :-)
To use the same URI for different things is not odd, it is broken.
> but we have a lot of queries like
>
> GRAPH ?person {
> ?person ?prop ?obj .
> ...
> }
>
> That are used to stop queries spanning graphs. SPARQL doesn't have a
> concatenate function we could use to do
>
> GRAPH concat(?person, "/graph") { ?person ... }
>
Suppose you write { ?person gk:graph ?graph. GRAPH ?graph { ?
person name ?x }} ..
should work, no? Where gk:graph relates a person to what garlik knows
about them.
You might wan to cheat and make gk:graph a built-in which munges URIS,
I suppose,
or you could put the triples in .
I think it is important to get this right.
It might seem difficult to change now, but it will be more difficult
later
Tim
Received on Tuesday, 4 December 2007 19:00:41 UTC