- From: Max Völkel <voelkel@fzi.de>
- Date: Tue, 8 Aug 2006 19:49:17 +0200
- To: semantic-web@w3.org
Hi Christian, here I clarify my idea:
>> e.g.
>> (a,x,c)
>> (x, rdfs:subPropertyOf, foaf:knows)
>> (a,y,c)
>> (y, rdfs:subPropertyOf, foaf:knows)
>>
>> an then we can add
>> x hasHappendenIn :Kindergarten
>> and they got sepratated and years later they met again
>> y hasHappendedIn :HighSchool
>> - you get the example I hope.
>>
> I don't like the approach and I think it is in some way conceptually
> incorrect.
> If you specilize a property (e.g. reads_at_my_desk
> rdfs:subPropertyOf reads) and then make some statement about it
> (e.g. reads_at_my_desk ex:happens_in ex:my_office) than you are
> reifing the act of reading something sitting at my desk but not the
> statement in which teh property is used...
> if I say
> ex:christian ex:reads_at_my_desk ex:paper_1
> ex:john ex:reads_at_my_desk ex:paper_2
I propose to do
ex:christian ex:876587658 ex:paper_1
ex:john ex:287682822 ex:paper_2
and also say:
ex:876587658 rdfs:subPropertyOf ex:read
so we entail
ex:christian ex:read ex:paper_1
which is good for simple queries (who read what?)
Conceptually, this says that christian has a very particular way of
reading paper1. In fact I propose to never use the URI ex:876587658
for any other triple on earth ever again.
So I have pretty high costs of managing URIs.
Now I can (even in another graph, thats why I don't use blank nodes)
say:
ex:876587658 ex:location ex:myFavoriteCafe
to tell everybody that Christian is reading papers in a cafe.
Conceptually, this blurs the distinction between ABox and TBox, but
maybe that's just a human-friendly way of modeling?
> what do I have to do to actually talk about the fact that chritian was
> reading paper_1? for example if I want to specify the moment in which an
> action has been done I can't say: ex:reads_at_my_desk ex:when
> ex:august2006....
With the "unique property instance URI"-approach you can, because you
would never use the same property instance URI again in the p-role of
a triple.
> well you could invent a new property that is
> "ex:reads_at_my_desk_in_august2006" and then make a new statement
> (christian ex:reads_at_my_desk_in_august2006 ex:paper_1), but irt
> seems to me not so convenient :-)
Instead of stuffing *more* information into the property I suggest to
separate. One could even take a radical approach an says:
ex:Christian ex:9876587658765 ex:Paper1
ex:9876587658765 radical:hasType ex:read
ex:9876587658765 radical:location ex:niceCafe
ex:9876587658765 radical:duration "2 hours"^xsd:time
ex:9876587658765 radical:mood ex:angry
....
So not putting ANY semantics directly in the relation at all.
This is the way we are MAYBE going to implement a personal information
manager with RDF. But I like the rdfs:subPropertyOf-approach, because
the entailments give you better compatibility with existing query
expectations.
Do I need reification at all then?
Is reification support in current triple stores good (=fast)?
Pointers?
Kind regards for reading all this,
Max Völkel
--
Dipl.-Inform. Max Völkel, Universität Karlsruhe / FZI
nepomuk.semanticdesktop.org
voelkel@fzi.de +49 721 9654-854 www.xam.de
*Second* Workshop on Semantic Wikis: http://semwiki.org/wibke2006
Received on Tuesday, 8 August 2006 17:49:40 UTC