5

Web サイトのセマンティクスについて少し混乱しています。すべての URI がリソースを表す必要があることを理解しています。Web ページ内の RDFa によって提供されるすべての情報は、その Web ページの URI によって表されるリソースを記述していると思います。私の質問は: Web サイトのサブページにセマンティック データを提供するためのベスト プラクティスは何ですか。

私の場合、schema.org と opengraph ボキャブラリーを備えた RDFa を使用して、magma という劇団の Web サイトを作成したいと考えています。ウェルカム ページ ( http://magma.com/)、連絡先ページ ( http://magma.com/contact/)、個々のプレイのページ ( ) があるとしますhttp://magma.com/play/<playid>/

ここで、ようこそページと連絡先ページの両方が同じリソース (マグマ) を表し、そのリソースに関する異なる情報を提供していると思います。ただし、再生ページは、たまたまマグマによってのみ実行される再生を表しています。それとも、プレイページもマグマを表していますが、そのグループによって実行されるプレイに関する情報を提供していると言ったほうがよいでしょうか? 私が偶然見つけた 3 番目のオプションはhttp://schema.org/WebPageです。特に のようなサブタイプContactPageが関連しているようです。

実装に関して言えば、RDFa はどこに置くのですか?

最後に: 私の選択によって、サードパーティ (Google、Facebook など) による Web サイトの扱いはどのように変わりますか?

この質問は少し曖昧だと思います。より具体的にするために、批判する可能性のある例を追加します。

<html vocab="http://schema.org/" typeof="TheaterGroup">
  <head>
    <meta charset="UTF-8"/>
    <title>Magma - Romeo and Juliet</title>

    <!-- magma sematics from a template  file -->
    <meta property="name" content="Magma"/>
    <meta property="logo" content="/static/logo.png"/>
    <link rel="home" property="url" content="http://magma.com/"/>
  </head>

  <body>
    <h1>Romeo and Juliet</h1>

    <!-- semantics of the play -->
    <div typeof="CreativeWork" name="Romeo and Juliet">
      ...
    </div>

    <h2>Shows</h2>

    <!-- samantics of magma events -->
    <ul property="events">
      <li typeof="Event"><time property="startDate">...</time></li>
      ...
    </ul>
  </body>
</html>
4

2 に答える 2

10

すべての URI がリソースを表す必要があることを理解しています。Web ページ内の RDFa によって提供されるすべての情報は、その Web ページの URI によって表されるリソースを記述していると思います。

HTTP URI は、ページ自体またはページの内容を識別することができます。URI がページを識別しているのか、それとも物を識別しているのかは、単に見ただけではわかりません。

例 (Turtle 構文):

<http://en.wikipedia.org/wiki/The_Lord_of_the_Rings> ex:author "John Doe"

これは、URI を含む HTML ページが「John Doe」によって作成されたことを意味している可能性があります。http://en.wikipedia.org/wiki/The_Lord_of_the_Ringsあるいは、その HTML ページ (→ 小説) で記述されているものは、"John Doe" によって作成されたものである可能性があります。もちろん、これは重要な違いです。

URI が表すものを区別するにはさまざまな方法があり、それについてはいくつかの論争があります。これに関する議論はhttpRange-14 issueとして知られています。たとえば、ウィキペディアの記事Web リソースを参照してください。

1 つの方法は、ハッシュ URIを使用することです(この回答も参照してください)。例:プレーに関するページhttp://magma.com/play/42を識別でき、プレーを識別できます。http://magma.com/play/42#play

もう 1 つの方法は、HTTP ステータス コード 303を使用することです。コード200はモノに関するページの表現を提供し、コード303 See Otherはモノを識別する追加の URI を提供します。このメソッドは DBpedia で使用されます。

303 と Hash の選択を参照してください。

現在、RDFa を使用すると、ページ自体とページによって表されるものの両方についてステートメントを作成できます。対応する URI を件名として使用するだけです (たとえば、resource属性を使用して)。

http://magma.com/#magmaでは、劇団を表すとしましょう。これで、すべてのページ (/contact、/play/、…) でこの URI を使用して、グループ respに関するステートメントを作成できます。グループを参照します。

<div resource="http://magma.com/#magma">
  <span property="ex:name">Magma</span>
</div>

<div resource="http://magma.com/">
  <span property="ex:name">Website of Magma</span>
</div>
于 2013-04-15T13:59:59.733 に答える