• 検索結果がありません。

RDF シリアライゼーションのシンタックスの例

ドキュメント内 Semantics Developer’s Guide (ページ 37-42)

3.2 トリプルのロード

3.2.2 RDF シリアライゼーションのシンタックスの例

このセクションでは、次の

RDF

シリアライゼーション形式の例について説明します。

RDF/XML

Turtle

RDF/JSON

N3

N-Triples

N-Quads

TriG

3.2.2.1 RDF/XML

RDF/XML

は、一意の

RDF

シンタックスを

XML

として記述するオリジナルの標準で

す。RDFグラフを

XML

ドキュメントとしてシリアライズするために使用します。

この例では、3つのプレフィックス「rdf」、「xsd」、「d」を定義します。

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:d="http://example.org/data/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema/">

<rdf:Description rdf:about="http://example.org/data#item22">

<d:shipped rdf:datatype="xsd:date">2013-05-14</d:shipped>

<d:quantity rdf:datatype="xsd:integer">27</d:quantity>

<d:invoiced rdf:datatype="xsd:boolean">true</d:invoiced>

<d:costPerItem rdf:datatype="xsd:decimal">10.50</d:costPerItem>

</rdf:Description>

</rdf:RDF>

N-Quads

オプションのコンテキスト値で

N-Triples

を拡張するスーパーセットの

シリアライゼーションです。例につい ては、「N-Quads」(40ページ)を参照 してください。

.nq application/n-quads

TriG RDF

名前付きグラフおよび

RDF

データ セットのプレーンテキストシリアライ ゼーションです。例については、

TriG

」(

41

ページ)を参照してくださ い。

.trig application/trig

形式 説明 ファイル

形式

MIME

タイプ

3.2.2.2 Turtle

Turtle(Terse RDF Triple Language)シリアライゼーションは、SPARQL

に類似のシン

タックスを使用して

RDF

データモデル内のデータを表現します。Turtleシンタックス は、

RDF

データモデル内のトリプルを

3

つの

IRI

のグループで表現します。

次に例を示します。

<http://example.org/item/item22>

<http://example.org/details/shipped>

<http://purl.org/dc/elements/1.1/date> "2013-05-14".

このトリプルは、アイテム

22

2013

5

14

日に出荷されたことを記述しています。

Turtle

シンタックスでは、@prefixを使用して

IRI

の共通部分を取り除くことで、複数の

ステートメントに関する情報を短縮化できます。これにより、

RDF

Turtle

ステート メントは迅速に記述できます。シンタックスは

RDF/XML

に似ていますが、RDF/XML とは異なり、

XML

に依存しません。

Turtle

シンタックスは、有効な

N3

Notation 3

)で もあります。これは、Turtleが

N3

のサブセットであるためです。

注:

Turtle

は、有効な

RDF

グラフだけをシリアライズできます。

この例では

4

つのトリプルで

1

つのトランザクションを記述しています。「

shipped

」オ ブジェクトには「date」データ型が割り当てられているため、引用符に囲まれた型付き リテラルになります。「

quantity

」、「

invoiced

」、および「

costPerItem

」オブジェクトに対 応する

3

つの型なしリテラルが存在します。

@prefix i: <http://example.org/item> .

@prefix dt: <http://example.org/details> .

@prefix xsd: <http://www.w3.org/2001/XMLSchema>

i:item22 dt:shipped

"2013-05-14"^^xsd:date . i:item22 dt:quantity 100 . i:item22 dt:invoiced true . i:item22 dt:costPerItem 10.50 .

3.2.2.3 RDF/JSON

RDF/JSON

RDF

のテキストシンタックスであり、JSON(JavaScript Object Notation)

と互換性のある形式で

RDF

グラフを記述できます。

次に例を示します。

{ "http://example.com/directory#m":

{ "http://example.com/ns/person#firstName":

[ { "value": "Michelle",

"type": "literal",

"datatype": "http://www.w3.org/2001/XMLSchema#string" } ]

} }

3.2.2.4 N3

N3

Notation 3

)は非

XML

シンタックスであり、

XML RDF

表記よりもよりコンパクト

でわかりやすい形式で

RDF

グラフをシリアライズする目的で使用します。N3では

RDF

ベースのルールがサポートされます。

N3

では、同一の主語について複数のステートメントが存在する場合は、セミコロン

(;)を使用して同じ主語に別のプロパティを導入できます。また、カンマを使用する と、同じ述語と主語に対して別の目的語を導入できます。

次に例を示します。

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns> .

@prefix dc: <http://purl.org/dc/elements/1.1/> .

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

@prefix foafcorp: <http://xmlns.com/foaf/corp/> .

@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0> .

@prefix sec: <http://www.rdfabout.com/rdf/schema/ussec> .

@prefix id: <http://www.rdfabout.com/rdf/usgov/sec/id> . id:cik0001265081 sec:hasRelation [

dc:date "2008-06-05";

sec:corporation id:cik0001000045;

rdf:type sec:OfficerRelation;

sec:officerTitle "Senior Vice President, CFO"] . id:cik0001000180 sec:cik "0001000180";

foaf:name "SANDISK CORP";

sec:tradingSymbol "SNDK";

rdf:type foafcorp:Company.

id:cik0001009165 sec:cik "0001009165";

rdf:type foaf:Person;

foaf:name "HARARI ELIYAHOU ET AL";

vcard:ADR [ vcard:Street "601 MCCARTHY BLVD.; ";

vcard:Locality "MILPITAS, CA"; vcard:Pcode "95035" ] .

3.2.2.5 N-Triples

N-Triples

は、RDFグラフのプレーンテキストシリアライゼーションです。Turtleのサブ

セットであり、Turtleや

N3

よりもシンプルに使用できるように設計されています。

N-Triples

シンタックスの各行は、

1

つの

RDF

トリプルステートメントをエンコーディ

ングし、次のように構成されています。

主語(IRIまたは空白ノード識別子)。1つあるいは複数のスペース文字が続きます。

述語(IRI)。1つあるいは複数のスペース文字が続きます。

目的語(

IRI

、空白ノード識別子、またはリテラル)。ピリオド(

.

)と改行が続 きます。

型付きリテラルには、言語を識別する言語タグを含めることができます。この

N-Triples

の例では、@en-USは、リソースのタイトルが米国英語であることを示します。

<http://www.w3.org/2001/sw/RDFCore/ntriples>

<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>

<http://xmlns.com/foaf/0.1/Document> .

<http://www.w3.org/2001/sw/RDFCore/ntriples/>

<http://purl.org/dc/terms/title> "Example Doc"@en-US .

<http://www.w3.org/2001/sw/RDFCore/ntriples/>

<http://xmlns.com/foaf/0.1/maker> _:jane .

<http://www.w3.org/2001/sw/RDFCore/ntriples/>

<http://xmlns.com/foaf/0.1/maker> _:joe .

_:jane <http://www.w3.org/1999/02/22-rdf-syntax-ns>

<http://xmlns.com/foaf/0.1/Person> .

_:jane <http://xmlns.com/foaf/0.1/name> "Jane Doe".

_:joe <http://www.w3.org/1999/02/22-rdf-syntax-ns>

<http://xmlns.com/foaf/0.1/Person> .

_:joe <http://xmlns.com/foaf/0.1/name> "Joe Bloggs".

注:

各行は、末尾のピリオドの後で改行されます。わかりやすくするため、さ らに改行が加えられています。

3.2.2.6 N-Quads

N-Quads

は、RDFデータセットのエンコーディングを目的とした、行ベースのプレー

ンテキストシリアライゼーションです。

N-Quads

シンタックスは

N-Triples

のスーパー セットであり、オプションのコンテキスト値で

N-Triples

を拡張します。最もシンプル なステートメントは、RDFトリプルを形成するターム(主語、述語、目的語)と、ト リプルが属するデータセット内のグラフにラベルを付けるオプションの

IRI

で構成され たシーケンスです。これらすべてはスペースで区切られ、各ステートメントの末尾にあ るピリオド(.)で終了します。

この例では、関係性の語彙を使用します。語彙のクラスまたはプロパティの

IRI

は、

ターム名「

acquaintanceOf

」を語彙

IRI

に付加することで構築されます。

<http://example.org/#Jane>

<http://http://purl.org/vocab.org/relationship/acquaintanceOf>

<http://example.org/#Joe>

<http://example.org/graphs/directory> .

3.2.2.7 TriG

TriG

は、

RDF

グラフをシリアライズするためのプレーンテキストシリアライゼーショ ンです。TriGは

Turtle

に似ていますが、波括弧({)と(})を使用して拡張されてい ます。そのため、トリプルを複数のグラフにグループ化し、名前付きグラフの前にその 名前を付けることができます。オプションの等号演算子(

=

)はグラフ名を割り当てる ために使用できます。また、

Notation 3

との互換性を確保するため、オプションで末尾 のピリオド(.)を含めることができます。

TriG

シリアライゼーションには次の特徴があります。

グラフ名は

TriG

ドキュメント内で一意である必要があります。名前なしグラフ は、TriGドキュメントごとに

1

つです。

• TriG

のコンテンツは、「.trig」サフィックスの付いたファイルに格納されます。

また、

TriG

MIME

タイプは

application/x-trig

で、コンテンツのエンコーディン

グは

UTF-8

です。

この例では、デフォルトグラフと

2

つの名前付きグラフが使用されています。

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns> .

@prefix dc: <http://purl.org/dc/elements/1.1/> .

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

# default graph is http://marklogic.com/semantics#default-graph {

<http://example.org/joe> dc:publisher "Joe" .

<http://example.org/jane> dc:publisher "Jane" . }

# first named graph

<http://example.org/joe>

{

_:a foaf:name "Joe" .

_:a foaf:mbox <mailto:[email protected]> . }

# second named graph

<http://example.org/jane>

{

_:a foaf:name "Jane" .

_:a foaf:mbox <mailto:[email protected]> . }

ドキュメント内 Semantics Developer’s Guide (ページ 37-42)