- 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