- From: Michael Schneider <schneid@fzi.de>
- Date: Sun, 23 Sep 2007 17:10:19 +0200
- To: "Emanuele D'Arrigo" <manu3d@gmail.com>
- Cc: "public-owl-dev-request@w3.org" <public-owl-dev@w3.org>
Hi, Emanuele! >-----Original Message----- >From: public-owl-dev-request@w3.org >[mailto:public-owl-dev-request@w3.org] On Behalf Of Emanuele D'Arrigo >Sent: Sunday, September 23, 2007 2:08 PM >To: public-owl-dev-request@w3.org >Subject: Why the encapsulation? > > >Hi there, newbie here, typing from the UK. > >I'm in the process of evaluating the various SemanticWeb-related >technologies for the company I work for, with the aim at providing >recommendations for the architecture of the internal Asset Management >System (*). > >I've read a fair amount of W3 documents on the subject but >there is something I don't quite understand in OWL and RDF. > >Take the following property description from the OWL >Language Reference: > ><owl:ObjectProperty rdf:ID="hasBankAccount"> > <rdfs:domain> > <owl:Class> > <owl:unionOf rdf:parseType="Collection"> > <owl:Class rdf:about="#Person"/> > <owl:Class rdf:about="#Corporation"/> > </owl:unionOf> > </owl:Class> > </rdfs:domain> ></owl:ObjectProperty> > >Why the domain has to be declared as an anonymous >class and then as a union? Couldn't it be declared >simply like this: > ><owl:ObjectProperty rdf:ID="hasBankAccount"> > <rdfs:domain> > <owl:Class rdf:about="#Person"/> > <owl:Class rdf:about="#Corporation"/> > </rdfs:domain> This is simply a syntax error: You have to give a /single/ resource to the 'rdfs:domain' property, but you put in /two/ of them. Note that in the first definition above, the 'owl:unionOf' property does not really get two classes as its objects, but it gets an instance of class 'rdf:List' as its /single/ object. This is achieved via the additional 'rdf:parseType="Collection"' attribute in the 'owl:unionOf' element, and this is a shortcut for a much longer expression (rdf:List expressions are pretty ugly). The list itself then has two classes as its elements. It is the specific semantics of 'owl:unionOf' to build a union class from all the classes occuring within its object list. >What's the rationale behind the further encapsulation? You need to give a /single/ owl:Class as the object of the 'domain' property. Thus, if you want to put in a complex class, like a union of classes, you can do it in the way above: Build an anonymous class, and make it the owl:unionOf all classes, which are elements of the object list. Cheers, Michael > >Manu > >(*) I work in the Visual Effects/Computer Generated >Imagery field. For us an asset can be anything from >a file to a magnetic tape, from a DVD-R to a specific >computer, from a meeting room to a person. The >relationships between these assets are sometimes >static but often dynamic. A semantics-aware application >based on an amorphous network of triples sounds >like an extremely flexible approach but I have to >wrap my head around a few key issues (one of which >is the question above) and I have to evaluate if RDF >and OWL, as powerful as they are, are already too >powerful for our needs. > > > -- Dipl.-Inform. Michael Schneider FZI Forschungszentrum Informatik Karlsruhe Abtl. Information Process Engineering (IPE) Tel : +49-721-9654-726 Fax : +49-721-9654-727 Email: Michael.Schneider@fzi.de Web : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555 FZI Forschungszentrum Informatik an der Universität Karlsruhe Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe Tel.: +49-721-9654-0, Fax: +49-721-9654-959 Stiftung des bürgerlichen Rechts Az: 14-0563.1 Regierungspräsidium Karlsruhe Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
Received on Sunday, 23 September 2007 15:10:35 UTC