- From: Bernard Vatant <bernard.vatant@mondeca.com>
- Date: Tue, 8 Sep 2009 12:47:11 +0200
- To: ontolog-forum@ontolog.cim3.net, semantic-web@w3.org
- Message-ID: <9d93ef960909080347u422b0554p34d7c8898f3ea876@mail.gmail.com>
Hi Toby > - Are such constructions valid in RDFS and/or OWL? >> - Are they useful? >> > > > I think they're valid, but I don't think they're especially useful. > That was the first kind of reaction I expected. :)) > dcterms:subject rdfs:range _:b . > skos:Concept rdfs:subClassOf _:b . > > foaf:Person rdfs:subClassOf _:b . > <doc> dcterms:subject <#thing> . > > what useful conclusions can a reasoner come to? It can't conclude that > <#thing> is a foaf:Person; it can't conclude that <#thing> is a > skos:Concept; in fact, <#thing> might be neither of those - it could be > anything. > Indeed, it is exactly the intended meaning. And I agree that in this case the model is totally useless. But having situations where the model is useless does not mean it's altogether useless. It's like saying umbrellas are useless because today it does not rain. So let's take another situation. Suppose I have the following: <doc1> dcterms:subject <A> . <A> a skos:Concept. <doc2> dcterms:subject <B> . <B> a foaf:Person <doc3> dcterms:subject <C> . <C> a geonames:Feature. I can conclude that doc1 and doc2 are consistent with the model, whereas I can't conclude anything for doc3. You can argue that such a conclusion is useless, but it's a conclusion nevertheless, and I can build on it in my system. I can decide to be open, and keep all triples, or stick to classes that have explicitly be recommended by DC as being in the range, therefore keep only doc1 and doc2 subjects and strike the other one, or mark it as less reliable, whatever I see fit for my implementation. Another situation is an annotation tool, where values for dcterms:subject proposed to the user for annotations would be first restricted to instances of classes explicitly known as being recommended by DC. The interface could even allow to choose between "safe" annotation limited to recommended classes, and "wild" annotation, using any URI you see fit. Similar to what is implemented at faviki. Recommended option is to annotate using a limited set of URIs (DBpedia URIs), but you can by-pass the option and annotate with your own URIs. See http://www.faviki.com that you surely know. > A related OWL construct is: > > ex:subject rdfs:range _:b . > _b: owl:unionOf ( skos:Concept foaf:Person ) . > > Where the reasoner could at least conclude that if <doc> ex:subject > <#thing> then <#thing> must be either a skos:Concept or a foaf:Person or > both. This is more useful for reasoning with, because combined with a few > other inferences it could narrow down <#thing>'s class. > Indeed, but this is exactly what is *not* wanted. We don't want to *restrict* the range to those classes, only explicitly *allow* them. > > OK, given that your original example is not much use to automated > reasoners, could it at least be helpful to humans reading the schema? Yes, > perhaps, but it's likely they'd be served better by text written in natural > language - a rdfs:comment, skos:note, etc. > It's not uncompatible, but I hope the above example proves that implementations could also leverage a formal declaration. -- Bernard Vatant Senior Consultant Vocabulary & Data Engineering Tel: +33 (0) 971 488 459 Mail: bernard.vatant@mondeca.com ---------------------------------------------------- Mondeca 3, cité Nollez 75018 Paris France Web: http://www.mondeca.com Blog: http://mondeca.wordpress.com ----------------------------------------------------
Received on Tuesday, 8 September 2009 10:47:51 UTC