- From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- Date: Wed, 6 Apr 2005 12:26:25 +0200
- To: "'Jeen Broekstra'" <jeen@aduna.biz>
- Cc: <semantic-web@w3.org>
Jeen, Thanks for your response! I was rather naïve, huh? When I understand this well, it is impossible to write something like a catalog with RDF/RDFS, such as for a Volkswagen Passat where one has the choice of engines, shift gear vs automatic, colors, etc, etc. Would one need OWL for that, and can OWL do that? When I read the OWL documentation I doubt that.In the process industry we must model esoteric things like pump curves and multidimensional properties (our definition of property is totally different). But again, I am a newcomer in this world of the Semantic Web, so I may very well underestimate OWL. With respect to the range and domain matter I found the impossibility to define this locally very impractical to start with, with the results like you described below ("but will infer that your dinnerTables are PassengerVehicles"). I have been working with XML Schema for the last four years. The nice thing about it is that you can create a schema as a template, and then generate an XML file from it (it needs population of the undefined attributes). So I had expected that RDF Schema could do the same, and produce skeleton RDF/XML files. Nope! I have downloaded Protégé a while ago, but unfortunately they just had a new version with a completely different layout, but with the old user guide. So it will take some time to plough through it. My problem with software always is that I expect too much from it. As to the browser subject: I read, much to my surprise, in Appendix A of the Primer: "...RDF uses URIrefs only to identify things, while browsers also use URIrefs to retrieve things." I was surprised, because why on earth would you use a "Resource Description" Framework without being able to find that description? So, a browser should be able to find the resource at its URI, and then give me the information about that resource that I require. Again, too naïve, I guess. Regards, Hans -----Original Message----- From: Jeen Broekstra [mailto:jeen@aduna.biz] Sent: woensdag 6 april 2005 11:28 To: Hans Teijgeler Cc: semantic-web@w3.org Subject: Re: Inheritance Hans Teijgeler wrote: > Assume we have: > > myclass:PassengerVehicle rdf:Type rdfs:Class > myclass:FourPassengerVehicle rdfs:subClassOf myclass:PassengerVehicle > myclass:FourPassengerVehicle myprops:seats "4" This is incorrect - or at least, probably not what you intended. Here, you are assigning four seats to the *class* FourPassengerVehicle. This does _not_ express that instances of this class have four seats. > myclass:Volkswagen rdfs:subClassOf myclass:FourPassengerVehicle > myobjects:myCar rdf:Type myclass:Volkswagen > > then: > > * does "normal" RDF/RDFS-compliant software "know" that all > instances of myclass:Volkswagen have 4 seats? > * and does it know that myCar has four seats? No. It does not even know that instances of FourPassengerVehicles have four seats. What you are looking for is a cardinality constraint. This is not expressible in RDF/RDFS unfortunately, you will need OWL for this. > or in other words: does specialization (rdfs:subClassOf) and typing > (rdf:Type) actually and reliably lead to inheritance of properties? It does, actually, but only in a very limited fashion, not in the way you want it. Using rdfs:domain and rdfs:range properties can be coupled with classes, and these are inherited. In your example, you could add: myprops:seats rdfs:domain myClass:PassengerVehicle. ...indicating that the seats property can be used on instances of PassengerVehicle. It will by inference be true that it can also be used on any instances of subtypes of PassengerVehicle. An additional 'difficulty' if you are coming from an OO/closed-world mindset is that in RDF, domain and range are not actual restrictions: if you have the above domain restriction, it is still perfectly legal to define some instance of an entierely different class, say, myClass:dinnerTable, and have its instances use the seats property. Most RDF processors will not interpret this as an error, but will infer that your dinnerTables are PassengerVehicles. ...which may or may not be what you intended :) > PS I have been unable to locate such "normal" software (IDE, > validators, browsers, etc.) that can be used without being a > programmer (I'm a data > modeller) Any hints? There are a couple of RDF/RDFS editors around. Most editing environments actually deal with more powerful SW languages, like OWL, but are still useful when only using RDF. Protege (http://protege.stanford.edu/) is one. As for browsers: I am not sure what you would expect such tools to do. There are no generalized RDF browsers that I am aware of, but if you explain the type of functionality that you are after, I'm sure someone on this list will pipe up :) HTH. Jeen -- Jeen Broekstra Aduna BV Knowledge Engineer Julianaplein 14b, 3817 CS Amersfoort http://aduna.biz The Netherlands tel. +31(0)33 46599877 fax. +31(0)33 46599877
Received on Wednesday, 6 April 2005 10:26:42 UTC