web-dev-qa-db-ja.com

RDF triple?

素人の言葉では、RDF triple?

60
jade

質問は2つの部分に分割する必要があると思います-トリプルとは何で、「RDFトリプル」を特別なものにしているのは何ですか?

まず、トリプルは、ここで他のコメント者のほとんどがすでに指摘しているように、「主語/述語/オブジェクト」形式のステートメントです。つまり、1つのオブジェクト(サブジェクト)を別のオブジェクト(オブジェクト)またはリテラルにリンクするステートメントです。述語。私たちはみなトリプルに精通しています。トリプルは、バイナリ関係の最小の既約表現です。平易な英語:スプレッドシートはトリプルのコレクションです。たとえば、スプレッドシートの列に「Paul」という見出しがあり、行に「has Sister」という見出しがあり、セルの値が「Lisa」である場合です。ここにトリプルがあります:Paul(subject)にはSister(predicate)Lisa(literal/object)がいます。

RDFトリプルを特別なものにしているのは、トリプルのすべての部分にURIが関連付けられているため、「マイク・スミスはジョン・ドウを知っています」という毎日のステートメントはRDFとして:

uri://people#MikeSmith12 http://xmlns.com/foaf/0.1/knows uri://people#JohnDoe45

スプレッドシートとの類似点は、URIのすべての部分に一意のアドレスを与えることにより、スプレッドシート内のセルにそのアドレス空間全体を与えるということです。したがって、原則としてすべてのセルを固定できます(RDF triples)別のサーバー上の別のドキュメントにスプレッドシートを追加し、1つのクエリでスプレッドシートを再構成します。

編集: このセクション 公式ドキュメントは元の質問に対応しています。

60
Nico Adams

RDF Tripleは、あるオブジェクトを別のオブジェクトに関連付けるステートメントです。例:

"gcc" "Compiles" "c" .
"gcc" "compiles" "Java" . 
"gcc" "compiles" "fortran" .
"gcc" "has a website at" <http://gcc.gnu.org/> .
"gcc" "has a mailing list at" <mailto:[email protected]> .
"c" "is a" "programming language" .
"c" "is documented in" <http://www.Amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1226085111&sr=8-1> .
35
Adam Ness

RDFファイルは、トリプルのリストに解析される必要があります。

トリプルは、主語、述語、およびオブジェクトで構成されます。しかし、これらは実際にはどういう意味ですか?

件名は、まあ、件名です。トリプルが記述しているオブジェクトを識別します。

述語は、値を与えるオブジェクトのデータの一部を定義します。

オブジェクトは実際の値です。

From: http://www.robertprice.co.uk/robblog/archive/2004/10/What_Is_An_RDF_Triple_.shtml

13
GEOCHET

Adam Nの回答について。OP はソーシャルネットワーク のデータに関する以前の質問をしたと思うので、答えは素晴らしいものの、 「元のオリジナル」の質問に関連して明確にします。 (私が責任を感じているように)。

ジョン|の友達です|ジェームス
ジェームス|の友達です|ジル
ジル|いいね|スノーボード
スノーボード| |スポーツ

このようなトリプルを使用すると、非常に柔軟なデータ構造を持つことができます。

Friend of a friend(FOAF) を見てください。おそらくより良い例があります。

11
Ali Afshar

RDFは言語、つまり、情報(何らかのコンテキストのデータ)をエンコードおよびデコードするための記号、構文、およびセマンティクスのシステムです。

RDFでは、観測単位(データ)は、主語、述語、目的語の3つの部分で構成される文によって表されます。基本的に、これは自然言語音声の基本構造です。

RDFで表されるエンティティ関係に参加するエンティティ(物)を示すために使用される記号は、IRI(HTTP URIを含む)です。 RDF文の各サブジェクトおよび述語(およびオプションでオブジェクト)コンポーネントは、IRIで示されます。

構文(文法)は、主語、述語、およびオブジェクトの配列順序の形式で抽象的です(さまざまな表記法を使用して表現できることを意味します)。

セマンティクス(最もよく見落とされる部分)は、RDFステートメント内の主語、述語、およびオブジェクトの役割の意味に関するものです。

HTTP URIを使用してRDFステートメントのサブジェクト、述語、および(オプションで)オブジェクトを示すと、Webを形成する構造化データ(エンティティ関係タイ​​プのコレクション)になります-今日と同じようにワールドワイドウェブ。

RDFステートメントの述語(特に)のセマンティクスが機械と人間の両方が理解できる場合、知識の基礎となる情報の強力なエンコード(推論と推論)を提供するエンティティ関係タイ​​プのウェブがあります)。

簡単なRDFステートメントの例を次に示します。

{
    <#this>             a  schema:WebPage                          .
    <#this>  schema:about  dbpedia:Resource_Description_Framework  .
    <#this>  skos:related  <https://stackoverflow.com/questions/30742747/convert-a-statement-with-adjective-in-rdf-triple/30836089#30836089>   . 
}

中かっこを使用して例を囲み、この投稿が相対的なHTTP URIと#ベースのフラグメント識別子(インデックス)のおかげで、RDFベースのライブLinked Dataのライブデモになるようにしました。

この投稿に埋め込まれたRDFステートメントの結果、nanotationの礼儀(テキストが受け入れられる場所にRDFステートメントを埋め込む):

  1. 基本エンティティ説明ページ -各ステートメントは、その説明(サブジェクト、述語、オブジェクト部分)に解決されるハイパーリンクによって識別されます
  2. Deeper Faceted Browsing Page -データWebまたはリンクされたデータのWebを構成するハイパーリンクを通して鼻をたどることにより、より深い探索と発見に役立つ代替ビュー。
  3. 埋め込みステートメントの説明 -特定のRDFステートメントについて。

以下は、この投稿に埋め込まれたトリプルから生成された視覚化です(RDF-タートル表記法を使用して、 Structured Data Sniffer Browser Extension を使用: enter image description here

6

少し複雑になる可能性があることに注意してください。 RDFトリプルはサブジェクトまたはオブジェクトと見なすこともできるため、Bart-> said->(triples-> be--> objects)

5
vartec

たとえ彼が反対票を投じられたとしても、私は部分的にA Paに同意しなければなりません。

背景:私は言語学者であり、その主題で博士号を取得しており、計算言語学で働いています。

「...主語、述語、目的語の3つの部分で構成される文。基本的に、これは自然言語音声の基本構造です」という文(A PaはKingsley Uyi Idehenの答えから引用しています)は単に間違っています。 Kingsleyがこれを言っているだけではなく、RDF triples。

たとえば、述語(英語、ほぼ間違いなく、他の多くの自然言語)は、動詞(または動詞のようなもの)+オブジェクト(およびおそらく他の補語)で構成されています。英語の構文構造がSubj-Pred-Objであることは間違いありません。

さらに、英語のすべての自然言語文にオブジェクトがあるわけではありません。特に、自動詞は、定義上、オブジェクトを取りません。そして、天気動詞は(とりわけ)「本当の」主題さえも取りません(「雨が降る」の「それ」は敬意を持っていません)。一方、「与える」のような二動詞動詞は、直接目的語と間接目的語の両方を取ります。次に、直接オブジェクトに加えて位置を取得する「put」、またはオブジェクトと句を取得する「tell」などの動詞があります。時間やマナー副詞のような付属物は言うまでもありません。

はい、もちろん、埋め込み句を埋め込みトリプルとして表現できます(任意のステートメントをトリプルとして表現できる範囲で、明確にすることを望みますが、できません)。しかし、私はできないと思いますdo in RDF(少なくとも私はそれを見たことがなく、4倍かかると思われる)はオブジェクトと埋め込み句の両方を持つことです。同様に直接と間接オブジェクト、または付属物。

だから、RDFトリプルの動機が何であれ、言語的動機がある、またはトリプルが自然言語構文に似ているというふりを支持者がやめることを望みます。

4
Mike Maxwell

私がRDFで働いてからしばらく経ちましたが、ここにあります:D

トリプルは、主語、述語、目的語です。

サブジェクトは、何かを一意に識別するURIです。たとえば、openidはあなたを一意に識別します。

オブジェクトは、サブジェクトとオブジェクトの関係を定義します。

述語は、サブジェクトの属性です。たとえば、名前。

その場合、トリプルはグラフS-> Pを形成します。トリプレットが増えると、グラフが大きくなります。たとえば、同じ人物を一連のトリプルのサブジェクトとして識別し、その一意のサブジェクトを介してすべての述語を接続できます。

3
Rob Prouse

トリプルは、リソースに関する単一の「事実」を示す文のタイプと考えることができます。まず理解することRDF= Triple RDFはURI http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-referenceまたは空白ノードhttp://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node

RDF Tripleは3つのコンポーネントで構成されます:-1)Subject 2)Predicate 3)Object for ex:-Pranay hasCar FerrariこれはそれぞれRDF-URIで定義されます。詳細については、次のサイトをご覧ください:- http://www.w3.org/TR/owl-ref/

2
Pranay Wankhede

RDF Tripleは、オブジェクト間の関係を表す方法を定義する実際の式です。トリプルには3つの部分があります。主語、述語、およびオブジェクト(通常は同じ順序で記述されます)。述語は、主語をオブジェクトに関連付けます。

件名----述語--->オブジェクト

より有用な情報は、次の場所にあります。

http://www.w3.org/TR/rdf-concepts/

2
Ather

例で説明したトリプル

ユーザーと質問を関連付ける表があります。

 TABLE dc:creator 
 ------------------------- 
 |質問|ユーザー| 
 ------------------------- 
 | 45 | 485527 | 
 | 44 | 485527 | 
 | 40 | 485528 | 

これは概念的に3つの RDFトリプル のように表現できます...

<question:45> <dc:creator> <user:485527>
<question:44> <dc:creator> <user:485527>
<question:40> <dc:creator> <user:485528>

...したがって、各行は、ユーザーを質問に関連付ける1つのtripleに変換されます。各トリプルの一般的な形式は次のように説明できます。

<Subject> <Predicate> <Object>

RDFについての1つの専門性は、 RIs / IRIs を使用して識別できる entitiesrelations 。さらに検索 here 。これにより、誰でも 既存の再利用 関係(述語)を作成し、任意の文を公開できます。エンティティ www内

SO作成者への回答を関連付ける例:

<https://stackoverflow.com/a/49066324/1485527>   
<http://purl.org/dc/terms/creator> 
<https://stackoverflow.com/users/1485527>
1
jschnasse

単純な答えは、RDFトリプルが表現ある程度の知識であることですsing RDF data model。このモデルは、subject–predicate–object式の形式でリソース(特にWebリソースURI)についてステートメントを作成のアイデアに基づいています。 RDFは、Web上のデータ交換の標準モデルでもあります。 RDFには、基礎となるスキーマが異なっていてもデータマージを容易にするの機能があり、具体的にはスキーマの進化をサポートしますすべてのデータコンシューマーをかわった。次の方法を知るためにこの記事をお勧めします。 https://www.w3.org/DesignIssues/RDF-XML.html

1
Hernan Acosta

開発者として、RDFとそのトリップが何であるかを最終的に理解するまで、私はしばらく苦労しました。これは主にデータではなくコードで世界を見てきました。

これがStackOverflowに投稿されていることを考えると、ここでJavaアナロジーが最終的にクリックしてくれました:a RDF triple is data what a class 'method /パラメータはコーディングすることです。

そう:

  • パッケージ名を持つクラスはサブジェクトです
  • このクラスのメソッドはPredicateです
  • メソッドのパラメーターはオブジェクトであり、それ自体はクラスで表されます
  • コンテキストは、クラスの完全な正規名を書くことを避けるためのインポートステートメントです

このアナロジーが少し崩れる唯一の点は、述語にも名前空間があるが、メソッドにはないことです。ただし、Predicateを使用するときにSubjectおよびObjectとしてクラスインスタンス間に作成される全体的な関係は、メソッドを呼び出して何かを行うという考え方を反映しています。

基本的に、RDFはデータに対するもの、OOはコードに対するものです。

1
Max Dor

参照: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-triple

RDFトリプルには3つのコンポーネントが含まれます。

  • RDF URI参照または空白ノードであるサブジェクト
  • RDF URIリファレンスである述語
  • オブジェクト。RDF URI参照、リテラル、または空白ノード

ここで、リテラルは基本的にオプションの言語タグを持つ文字列であり、空白ノードも文字列です。 URI、リテラル、および空白ノードは、ペアワイズの互いに素なセットからのものでなければなりません。

0
Kaarel