- From: Jeen Broekstra <jeen.broekstra@aidministrator.nl>
- Date: Fri, 06 Dec 2002 12:52:34 +0100
- To: Ursula Bartels <bartels@mskgmbh.com>
- CC: "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
Ursula Bartels wrote: > Hi, > > I'm working for the project 1dok.org. there we proposed our "extensible hierarchical meta data model". > That means a hierarchical system of document classes which starting from a 1dok basic document. > Now i try to implement this model into RDFS. > > For the first class "EinsdokBasisdokument" it looks like this: > > > <!-- > Top level class 'EinsdokBasisdokument' > --> > <rdfs:Class rdf:ID="EinsdokBasisdokument"/> > <!-- > Properties specific to EinsdokBasisdokument > --> > <rdfs:Property rdf:ID="Dokumenttyp"> > <rdfs:domain rdf:resource="#EinsdokBasisdokument"/> > <rdfs:range rdf:resource="#Literal"/> > </rdfs:Property> > <rdfs:Property rdf:ID="ErstellerName"> > <rdfs:domain rdf:resource="#EinsdokBasisdokument"/> > <rdfs:range rdf:resource="#Literal"/> > </rdfs:Property> [snip] > <!-- > SubProperty specific to ErstellerName > --> > <rdfs:Property rdf:ID="Name"> > <rdfs:subPropertyOf rdf:resource="#ErstellerName"/> > </rdfs:Property> > <!-- > Propertyies specific to Name > --> > <rdfs:Property rdf:ID="Anrede"> > <rdfs:domain rdf:resource="#Name"/> > <rdfs:range rdf:resource="#Literal"/> > </rdfs:Property> [snip] > </rdf:RDF> > > But i am not happy with this. i am not sure that i can give a > subproperty properties with the > according domain. or perhaps is it possible to declare a subproperty > as a class again (with attributes respectively > properties in RDFS)? Thanks for help!!!! Two minor points: First, Property is in the rdf namespace, so it's "rdf:Property". Second, it might be a good idea to modify the capitalization. It is sort of customary (though not obligatory of course) to start class names with a capital, and property names with a lower-case letter. That way it is easier to keep them apart. It seems that in your modeling there is a mixup between classes and properties. Specifying properties of properties in this fashion does not really work, because you can not identify which specific instance of the property you want to say something about. For example, suppose we instantiate the class EinsdokBasisdokument with an object foo that has as name "Foo bar": my:foo rdf:type my:EinsdokBasisdokument. my:foo my:Name "Foo Bar". If I understand your model correctly, I suppose that at this point you would like to use e.g. the "Anrede" property to say something about this *particular* Name, but that is not possible using the above construction. You have no identifier to point to this *particular* property, and besides, the domain of "Anstelle" is the class "Name", which is not the same thing as the property "Name". I'd say that if you wanted to do this (properties of properties), you'd have to resort to using reification instead. Either that or create an object of type Name on which you can then declare several properties of names. Something like this: .... <rdfs:Class rdf:ID="ErstellerName"/> <rdfs:Class rdf:ID="Name"> <rdfs:subClassOf rdf:resource="#ErstellerName"/> </rdfs:Class> <rdf:Property rdf:ID="erstellerName"> <rdfs:domain rdf:resource="#EinsdokBasisdokument"/> <rdfs:range rdf:resource="#ErstellerName"/> </rdf:Property> <rdf:Property rdf:ID="name"> <rdfs:subPropertyOf rdf:resource="#erstellerName"/> <rdfs:range rdf:resource="#Name"/> </rdf:Property> <rdf:Property rdf:ID="anrede"/> <rdfs:domain rdf:resource="#Name"/> <rdfs:range rdf:resource="#Literal"/> </rdf:Property> ... I hope this helps. Jeen -- jeen.broekstra@aidministrator.nl aidministrator nederland bv - http://www.aidministrator.nl/ julianaplein 14b, 3817 cs amersfoort, the netherlands tel. +31-(0)33-4659987, fax. +31-(0)33-4659987
Received on Friday, 6 December 2002 06:54:00 UTC