RDFa-fråga (relationer mellan resurser i ett dokument)

0 views
Skip to first unread message

Staffan Malmgren

unread,
Nov 9, 2008, 5:34:05 PM11/9/08
to ss...@googlegroups.com
Hej alla,

Ytterligare en RDFa-relaterad fråga, denna gång om att uttrycka
relationer mellan två resurser i ett dokument.

Jag har följande minimala dokument, som med hjälp av RDFa beskriver två
resurser (<http://example.org/test/doc> och
<http://example.org/test/doc/part>. Var och en av resurserna är subjekt
för några RDF-påståenden:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
version="XHTML+RDFa 1.0"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:ex="http://example.org/">
<head>
<title property="dct:title">Doc title</title>
<base href="http://example.org/test/doc"/>
</head>
<body typeof="ex:Document">
<h1 property="dct:description">An example document with part</h1>
<div about="http://example.org/test/doc/part" typeof="ex:Part">
<a rel="dct:references" href="http://example.org/else/where">x</a>
</div>
</body>
</html>

Detta ger följande triples, precis som förväntat:

<http://example.org/test/doc> a ex:Document;
dct:description "An example document with part";
dct:title "Doc title".

<http://example.org/test/doc/part> a ex:Part;
dct:references <http://example.org/else/where>.

Men nu skulle jag dessutom vilja uttrycka att den senare resursen är del
av den första (dct:isPartOf), dvs få även denna triple:

<http://example.org/test/doc/part> dct:isPartOf
<http://example.org/test/doc> .

Jag har hittat två sätt som är nästan rätt:

1. sätt @rev="dct:isPartOf" på <body>. Detta ger en
dct:isPartOf-relation mellan <http://example.org/test/doc/part> och
<http://example.org/test/doc>, men skapar också en bnode för
dct:description-påståendet.

2. Lägg till en <link rel="dct:isPartOf"
resource="http://example.org/doc"/> som underelement till <div>. Detta
ger rätt triples, men är inte korrekt XHTML. Det är också betydligt mer
kod och upprepning jämfört med 1.

Jag tror mest på variant 1, men kan inte förstå varför den skapar
bnodes. Jag tror svaret finns i avsnitt 5.5 i RDFa-specen, men måste
erkänna att jag har lite svårt att följa den...

Någon som har en idé?

mvh

/Staffan


Reply all
Reply to author
Forward
0 new messages