Hello out there!
<rdf:Description rdf:nodeID="Menu">
<dcterms:hasPart rdf:nodeID="Homepage">
<dcterms:hasPart rdf:nodeID="Projekte">
<dc:identifier rdf:nodeID="P01" />
<dc:identifier rdf:nodeID="P02" />
</dcterms:hasPart>
</dcterms:hasPart>
</rdf:Description>
Nein, so geht das nicht. In RDF musst du immer Tripel Subjekt-Prädikat-Objekt notieren. dcterms:hasPart soll aber nicht Subjekt eines Tripels sein, sondern immer nur Prädikat.
Das Tripel
genid:Menu dc:hasPart genid:Homepage .
in RDF/XML:
<rdf:Description rdf:nodeID="Menu">
<dc:hasPart rdf:nodeID="Homepage"/>
</rdf:Description>
oder alternativ:
<rdf:Description rdf:nodeID="Menu">
<dc:hasPart>
<rdf:Description rdf:nodeID="Homepage"/>
</dc:hasPart>
</rdf:Description>
Soll das Objekt des Tripels nicht Subjekt eines anderen Tripels sein, sind beide Schreibweisen möglich.
Du willst aber über genid:Homepage noch Aussagen machen, das also als Subjekt verwenden:
genid:Menu dc:hasPart genid:Homepage .
genid:Homepage dc:hasPart genid:Projekte .
<rdf:Description rdf:nodeID="Menu">
<dc:hasPart>
<rdf:Description rdf:nodeID="Homepage">
<dc:hasPart rdf:nodeID="Projekte">
</rdf:Description>
</dc:hasPart>
</rdf:Description>
oder
<rdf:Description rdf:nodeID="Menu">
<dc:hasPart>
<rdf:Description rdf:nodeID="Homepage">
<dc:hasPart>
<rdf:Description rdf:nodeID="Projekte"/>
</dc:hasPart>
</rdf:Description>
</dc:hasPart>
</rdf:Description>
Mit dem rdf:nodeID lag ich wohl nicht ganz richtig. Wenn derselbe Wert des rdf:about-Attributs mehrmals auftritt, sollte auch klar sein, dass es sich um denselben Knoten im RDF-Graphen handelt.
Du solltest also schreiben können:
<rdf:RDF
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>
<rdf:Description rdf:about="http://example.net/index.html">
<dc:title>Hauptseite</dc:title>
<dc:description>Meine Homepage</dc:description>
</rdf:Description>
<rdf:Description rdf:about="http://example.net/projekte.html">
<dc:title>Projekte</dc:title>
<dc:description>Meine Projekte</dc:description>
</rdf:Description>
<rdf:Description rdf:about="http://example.net/projekte/p01.html">
<dc:title>Projekte 01</dc:title>
<dc:description>Mein erstes Projekt</dc:description>
</rdf:Description>
<rdf:Description rdf:about="http://example.net/projekte/p02.html">
<dc:title>Projekte 02</dc:title>
<dc:description>Mein zweites Projekt</dc:description>
</rdf:Description>
<rdf:Description rdf:about="http://example.net/index.html">
<dcterms:hasPart>
<rdf:Description rdf:about="http://example.net/projekte.html">
<dcterms:hasPart>
<rdf:Description rdf:about="http://example.net/projekte/p01.html"/>
</dcterms:hasPart>
<dcterms:hasPart>
<rdf:Description rdf:about="http://example.net/projekte/p02.html"/>
</dcterms:hasPart>
</rdf:Description>
</dcterms:hasPart>
</rdf:Description>
</rdf:RDF>
Dummerweise zeigt der RDF-Validator gerade keine Graphen an. Vorhin ging’s noch.
See ya up the road,
Gunnar
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)