- From: Ursula Bartels <bartels@mskgmbh.com>
- Date: Fri, 06 Dec 2002 15:52:12 +0100
- To: "Jeen Broekstra" <jeen.broekstra@aidministrator.nl>
- Cc: "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
Thanks a lot .... i think i could see, where i was thinking wrong.
the metamodel what i try to implement you can find here (it is an uml-diagram):
http://donald.1dok.org/eng/frameset_metamodel.html
>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.
oh yes you right ...
>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".
the step from ErstellerName to Name is actually redundant i think,
when i understand your code right.
so i tried to implement it again (this time in english .. i think is better for understanding the coherences) now.
the meaning is:
-'EinsdokBasicDocument' is the Top level class
-beside others "nameOfAuthor" is a property of 'EinsdokBasicDocument' and ranges in the
belonging class "NameOfAuthor"
-class "NameOfAuthor" has other Properties
<?xml version="1.0"?>
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="c:/Projekte/RDF/RDF_Projekt/EinsdokBasicDocument.rdfs">
<!--
Top level class 'EinsdokBasicDocument'
-->
<rdfs:Class rdf:ID="EinsdokBasicDocument"/>
<!--
Properties specific to EinsdokBasicDocument
-->
<rdfs:Property rdf:ID="documentClass">
<rdfs:domain rdf:resource="#EinsdokBasicDocument"/>
<rdfs:range rdf:resource="#Literal"/>
</rdfs:Property>
<rdfs:Property rdf:ID="nameOfAuthor">
<rdfs:domain rdf:resource="#EinsdokBasicDocument"/>
<rdfs:range rdf:resource="#NameOfAuthor"/>
</rdfs:Property>
<rdfs:Property rdf:ID="creationDate">
<rdfs:domain rdf:resource="#EinsdokBasicDocument"/>
<rdfs:range rdf:resource="#Literal"/>
</rdfs:Property>
<rdfs:Property rdf:ID="version">
<rdfs:domain rdf:resource="#EinsdokBasicDocument"/>
<rdfs:range rdf:resource="#Literal"/>
</rdfs:Property>
<rdfs:Property rdf:ID="accessibility">
<rdfs:domain rdf:resource="#EinsdokBasicDocument"/>
<rdfs:range rdf:resource="#Literal"/>
</rdfs:Property>
<!--
instantiate Property "NameOfAuthor" ?
-->
<rdfs:Class rdf:ID="NameOfAuthor"/>
<rdf:Property rdf:ID="salutation">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="titel">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="givenNames">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="lastName">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="serviceDesignation">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="function">
<rdfs:domain rdf:resource="#NameOfAuthor"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
</rdf:RDF>
the next step would be the subclass "FormlessLetter" wich inherit the properties specific to "EinsdokBasicDocument"
in this way:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="c:/Projekte/RDF/RDF_Projekt/EinsdokBasicDocument.rdfs">
<!--
SubProperty of EinsdokBasicDocument
-->
<rdfs:Class rdf:ID="FormlessLetter">
<rdfs:subClassOf rdf:resource="#EinsdokBasicDocument"/>
</rdfs:Class>
<!--
Properties specific to FormlessLetter
-->
<rdf:Property rdf:ID="NameOfSender">
<rdfs:domain rdf:resource="#FormlessLetter"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="NameOfRecipient">
<rdfs:domain rdf:resource="#FormlessLetter"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
<rdf:Property rdf:ID="AddressOfSender">
<rdfs:domain rdf:resource="#FormlessLetter"/>
<rdfs:range rdf:resource="#Literal"/>
</rdf:Property>
....and so on
you helped me a lot!! i hope i understand it right?
Ursula Bartels
MSK GESELLSCHAFT FUER AUTOMATISIERUNG MBH
Friedrich-Ebert-Allee 33
22869 Schenefeld
Germany
Telefon +49 40 839 286 15
Telefax +49 40 839 286 29
e-mail bartels@mskgmbh.com
www.1dok.org
Received on Friday, 6 December 2002 09:52:12 UTC