Re: Linked Data on qdos.com

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