Rdf Foaf

  • August 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Rdf Foaf as PDF for free.

More details

  • Words: 401
  • Pages: 28
RDF・FOAF

2007/03/15 ウノウ株式会社 駒形真幸

FOAFとは? ●

Friend Of A Friend

プロフィールや知り合いなど、人に関する情報  を表すためのRDFの語彙の一つ ●

知り合いA

自分

知り合いB

RDFとは? ●

Resource Description Framework

WWW上のリソースとリソースの関係を表現す  るためのモデル ●

WWWの提案者、ティム・バーナーズ=リーが  提唱した。 ●

RDFとは?(2) ●

身近なところではRSS1.0もRDF(2.0は違う)

m-komagataの日記 http://d.hatena.ne.jp/m-komagata/ <description>m-komagataの日記 2006-11-07T20:35:16+09:00 (後略)

何故RDF? どんな関係?

文書

文書

リンク

HTMLのリンクは意味が付いてない。  (どういう関係を持ってるのかわからない) ●

何故RDF?(2) 要約 文章



文章

RDFでは関係を表現できる

WWWは元々、関係の情報付きの意味ネットワーク  (セマンティック・ウェブ)として設計された ●

RDFの基本要素 ●

リソース

Web上で識別できるもの全て。(URI参照で表現されます)



ステートメント(文)

リソースの主語、述語、目的語の3つの組み合わせ  (トリプル) ●

グラフ

ステートメントの集合

 ※RDFのグラフは様々な構文(XMLやN-Triplesなど)で表現できる

RDFの基本概念 ステートメント foaf:weblog urn:komagata

主語

http://p0t.jp/mt/

述語

目的語



リソースを主語、述語、目的語としてステートメントを作れる



目的語は別のステートメントの主語になれる。

RDFの基本概念(2) ステートメント リテラル dc:title http://p0t.jp/mt/

主語

p0t

述語

目的語

目的語はURI参照だけでなく、文字列自身(リテラル)とする  ことが可能 ●

RDFの基本概念(3) A

aaa

bbb B

C A

aaa

bbb B

B

eee

eee D



C

D

世界のどこで記述されたトリプルでも同じURIを持っていれ ばひとつのグラフに併合できる。

意味を機械が理解できるRDFで情報を記述することで  Web全体を分散型データベースとして扱おうという野望。 ●

A

aaa

bbb B

C



ここまでがRDFのモデルの話。 ここからは具体的なXMLでの記述方法の話です。

RDFトリプルのXML表現 foaf:weblog urn:komagata

http://p0t.jp/mt/

--- 主語ノード --- 述語ノード --- 目的語ノード

XML表現では、主語、述語はrdf:Descriptionで記述します



述語はその名前の要素として記述します

RDFトリプルのXML表現(2) foaf:weblog urn:komagata

http://p0t.jp/mt/



主語、目的語の参照先はrdf:about要素で記述します

RDFトリプルのXML表現(3) foaf:weblog urn:komagata

http://p0t.jp/mt/





子ノードを持たない要素はrdf:resource属性を使って省略表 記できます

RDFトリプルのXML表現(4) dc:title http://p0t.jp/mt/

p0t

p0t



目的語がリテラルの場合はrdf:Description要素を省略して 述語ノードのプロパティとして記述できます

RDFトリプルのXML表現(5) dc:title

foaf:weblog urn:komagata

http://p0t.jp/mt/

p0t

p0t

複数のトリプルもこれまでの組み合わせで表現できます。 ● RDF文章としてはrdf:RDFノードをrootノードにします ●

FOAFの語彙 FOAFの名前空間は “http://xmlns.com/foaf/0.1/” です ● 一般的にfoaf:という接頭辞にマッピングして使います ●

komagata 働いたら負けだと思っている kawadu

(後略)

FOAFの語彙(2) 主な述語(主語はfoaf:Personなど)

FOAFの語彙(3) ●

foaf:knowsで知人を表現できるのが面白いところ

kawadu yoshida

RDFパーサーいろいろ Redland CのRDFパーサー。Java, Perl, PHP, Python, Rubyなど 色んな言語向けのBindingがある。



RAP – RDF API for PHP Pure PHPのRDFパーサー。画像でRDFグラフを出力したり  機能がやたらある。 ●

Hercules  JavascriptのObject/RDFマッパー。E4Xっぽい手軽さで  SPARQL(後述)クエリを生成してObjectにマッピングしてく  れる。 ●

RAPでVOXのFOAFを検索 define('RDFAPI_INCLUDE_DIR', 'lib/rdfapi-php/api/'); include_once RDFAPI_INCLUDE_DIR.'RdfAPI.php'; include_once RDFAPI_INCLUDE_DIR.'syntax/RdfParser.php'; include_once RDFAPI_INCLUDE_DIR.'vocabulary/FOAF_C.php'; $uri = 'http://komagata.vox.com/profile/foaf.rdf'; $model = ModelFactory::getDefaultModel(); $model->load($uri); $bio = new Resource('http://purl.org/vocab/bio/0.1/olb'); $result = $model->find(null, $bio, null); // Subject, Predicate, Object print_r($result->triples);

Model#findメソッドに主語、述語、目的語のResourceを  与えて検索する(返り値はStatement) ●

RDFのパース ●



FOAFをパースしようと思っていきなり手を出すと、何故 こんなAPIになってるのかさっぱり理解できない。 RDFのモデルを知ってると非常にわかりやすい。

XMLのパースじゃなくて、RDFグラフに対する検索なので  柔軟な検索が可能。 ●

もっと本格的な問い合わせはSPARQLというRDF問い合わ せ言語を使う。  (RDBに対するSQLやODBに対するOQLみたいなもの) ●

FOAFのこれまで (2004年頃)RSSみたいに流行るかと期待されたが流行ら  なかった ●

ブログシステムがRSSを吐いてくれたようにFOAFを  吐いてくれるシステムがあまりなかった。 ●

FOAFはSNSに最適かと思われたが、SNSが閉鎖的な  システムに終始し、まったく対応しなかった。(がっかり・・・) ●

(上記理由で)FOAFファイル自体が少ないためにクライアン  トを作ってもあまり役に立たなかった。 ●

FOAFの現在~ VOXなど、権限管理機能を高めつつ、公開するところは  公開してくようなSNSが増え始めた。 ●



API公開が流行

スクレイピング技術普及で第三者がメタデータを勝手に作っ  て配布したりしやすくなった ●



あとは便利 or 面白いクライアントがあれば・・・

FOAF Client ●

Widget(ブログパーツ)はどうだろうか。

丁度Offline/Online問わないWidgetの標準仕様策定が  進んでいる。(Netbives Universal Widget API) ●



小粒度のコンテンツ形態として普及するかもしれない

FOAF Browser Widgetを作ってみました。  VOX、はてなダイアリ、TypeKey、MixiのFOAFを  それぞれ表示しています。(Mixi FOAFは自前) ●

 一端JSONPに変換しているのでどこにでも張れます。

FOAF Widget

FOAF Widget on ジオシティーズ

参考資料 セマンティック・ウェブのためのRDF/OWL 入門 http://www.amazon.co.jp/exec/obidos/ASIN/4627829310/p0t22/ref=nosim ●









Redland http://librdf.org/ RAP – RDF API fo PHP http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/ Hercules http://www.arielworks.net/works/codeyard/hercules Netvibes UWA http://dev.netvibes.com/

Related Documents

Rdf Foaf
August 2019 8
Rdf Tutorial
July 2020 14
Drupal Rdf
June 2020 9
Cdi Vs Msw-rdf
December 2019 13
Saling Rdf With Time
May 2020 15