私は現在、RDFa Lite をかなり簡単に習得した後、RDFa Core 1.1 を独学で学んでいます。はっきり言って、 と の違いと と のproperty
違いの2 つが理解できません。rel
resource
about
仕様よりも簡単な言葉で説明してください:)
私は現在、RDFa Lite をかなり簡単に習得した後、RDFa Core 1.1 を独学で学んでいます。はっきり言って、 と の違いと と のproperty
違いの2 つが理解できません。rel
resource
about
仕様よりも簡単な言葉で説明してください:)
property
対rel
:
両方の属性は、トリプルの述語rel="http://purl.org/dc/terms/creator
を示します。たとえば、述語は... has as a creator: ...
です。
違いは、どこからオブジェクトを取得するかです。少し単純化されたルールproperty
は次のとおりです。オブジェクトは取得されます...
content
属性から、またはこれがタグに存在しない場合は、datatype
タグに attr が存在しない場合:) 有効なresource
属性から、またはこれがタグに存在しない場合は、datatype
タグに attr が存在しない場合:) 有効なhref
属性から、またはこれがタグに存在しない場合は、datatype
タグに attr が存在しない場合:) 有効なsrc
属性から、またはこれがタグに存在しない場合は、少し簡略化されてrel
いますが、次の 2 つの点で異なります。
resource
属性からのみ取得されます。href
src
property
一緒に使用すると連鎖を引き起こす可能性がありますtypeof
(cf. 2 )。about
対resource
:
about
トリプルの主語を示す属性です。のルールresource
はより複雑です。主語または目的語を示す場合があり、ここでも連鎖が役割を果たします。
私見ですが、連鎖は RDFa の中で最も複雑で紛らわしい部分です (そして、構文糖衣以上のものは得られません)。私は連鎖を避けます。rel
これは、属性、rev
、resource
およびを回避することで可能になりtypeof
、同時にさらに単純化されます。したがって、次の属性のみを使用します。
about
主題のためにproperty
述語のcontent
or href
or src
(または要素の内部コンテンツ) objectの場合、上記のルールに従いますlang
オブジェクトリテラルの言語タグ用。lang="en"
datatype
オブジェクトリテラルのデータ型タグ用prefix
(ただし、ドキュメント内で 1 回だけ)、たとえば、プレフィックスを付けて URL を省略できるようにします。property="dc:creator"
vocab
(めったになく、ドキュメント内で最大でも 1 回)、URL を暗黙的に省略できるようにしますproperty="creator"
。(そして、タグを使用して<base href="...">
、ドキュメントの URL ベース値を示します。)
これは、RDFa の厳密で安全、使いやすく、解析しやすいサブセットであり、任意のトリプルを表現できます。
個人的には、rel などの使用を無視/回避することをお勧めします。特定の HTML 要素にできるだけ多くの属性を詰め込んで賢くなりすぎないようにするという経験則に従う場合、これらは RDFa を記述する必要はありません。下位互換性の理由から存在します。ただし、1.1 のその他の属性である content と datatype は学ぶ価値があります。
Stephan のアドバイスは、 RDF Lite 1.1に一般的に準拠してい@rel
ます。RDF Lite 1.1には含まれていません@about
。
もう 1 つの適切な経験則は、特定の要素に複数のエンティティのマークアップを含めようとしないことです。これは、多くの場合、画像ライセンスを指定する例でした。
@property
と@rel
は互いに非常に似ていますが、RDFa 1.0 では異なる目的を果たしていましたが、これは専門家にとっても混乱を招きました。(以前は、@rel
は他のノードであるオブジェクトを指定するため@property
に使用され、リテラル値を指定するために使用されていました。残りのいくつかの違いはありますが、巧妙でないマークアップに固執すると、 でできることはすべて で行う@property
ことができます@rel
。
同様に、@about
単に使用することを避けることができます@resource
。違いは@about
、現在のサブジェクトと現在のオブジェクトを設定することですが@resource
、子ノードの場合、(parent object
親から取得したものは になります。current object
current subject
@typeof
@resource
RDFa Lite 1.1 のベスト プラクティスを要約するには、RDFa 1.1 Primerも参照してください。
@vocab
、@prefix
、@property
、@resource
および@typeof