- 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