Re: rdf newbie

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