Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LODを検索する

11,393 views

Published on

Published in: Technology, Self Improvement
  • Be the first to comment

LODを検索する

  1. 1. LODを検索する LOD  Challenge  実行委員会
  2. 2. クエリ言語 •  データの検索や操作を行うための言語  •  データモデルやDBシステムに合わせて設計  •  例:  SQL   –  データモデル:  関係モデル   –  DBシステム:  RDBMS  •  LODのデータモデル:  グラフモデル    
  3. 3. グラフのクエリ •  グラフの最小単位:  3つ組  (トリプル)   dbpedia-owl:country dbp:東京都 dbp:日本 •  グラフパターン   1.  完全一致   •  dbp:東京都  dbp-­‐owl:country  dbp:日本  .   2.  変数によるパターンマッチ   •  dbp:東京都  dbp-­‐owl:country  ?country  .   3.  1と2の組み合わせ
  4. 4. 好き嫌いグラフ :Amy :like :like :Bob :Cathy :dislike :like:Dan :dislike :Flo :dislike :Ed :dislike :dislike :Gil :like :Ian :like :Jim :Hal :like :dislike :Kate :dislike :May :like :Lee :dislike
  5. 5. Amyが好きな人 グラフパターン :Amy  :like  ?person  .   :Amy :like :like :Bob :Cathy :dislike :like :Dan :dislike :Flo :dislike :Ed :dislike :dislike :Gil :like :Ian :like :Jim :Hal :like :dislike :Kate :dislike :May :like :Lee :dislike
  6. 6. “Amyが好きな人”が好きな人 グラフパターン :Amy  :like  ?person1  .  ?person1  :like  ?person2  .   :Amy :like :like :Bob :Cathy :dislike :like :Dan :dislike :Flo :dislike :Ed :dislike :dislike :Gil :like :Ian :like :Jim :Hal :like :dislike :Kate :dislike :May :like :Lee :dislike
  7. 7. SPARQL •  LOD用クエリ言語   –  データモデル:  RDF  (ラベル付き有向グラフ)   –  プロトコル:  HTTP  •  W3C仕様   –  1.0:  RecommendaVons   –  1.1:  Working  DraWs  
  8. 8. SPARQLエンドポイント •  SPARQLクエリを受け付ける場所   –  SPARQLエンドポイントURI   •  プログラムからSPARQLを使うときに指定   –  入力フォームがある場合もあり  •  リスト   –  hYp://www.w3.org/wiki/SparqlEndpoints   –  hYp://ckan.net/dataset?res_format=api %2Fsparql&q=sparql   –  hYp://labs.mondeca.com/sparqlEndpointsStatus/
  9. 9. http://thedatahub.org/dataset?res_format=api%2Fsparql
  10. 10. 公開SPARQLエンドポイント   の状態確認サイト http://labs.mondeca.com/sparqlEndpointsStatus/
  11. 11. DBpedia  Japanese  SPARQLエンドポイント
  12. 12. DBpedia  Japaneseのグラフ例   サイボーグ009 dbp-­‐owl:Comics rdfs:label rdf:type dbp-­‐owl:AdministraVveRegion dbp:サイボーグ009 rdf:type dbp-­‐owl:   dbp-owl:notableWork ComicsCreator rdfs:label dbp:宮城県 rdf:type dbp-owl:birthPlace dbp:石ノ森章太郎 宮城県 rdf:type foaf:Person dbp-owl:leaderName dbp-prop:生年 rdfs:label dbp-owl:award dbp:村井嘉浩   1938 dbp:手塚治虫 石ノ森章太郎 文化賞
  13. 13. クエリ: 石ノ森章太郎の出身地 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?birthPlace WHERE { dbp:石ノ森章太郎 dbp-owl:birthPlace ?birthPlace . } サイボーグ009 dbp-­‐owl:Comics rdfs:label rdf:type dbp-­‐owl:AdministraVveRegion dbp:サイボーグ009 rdf:type dbp-­‐owl:   dbp-owl:notableWork ComicsCreator rdfs:label dbp:宮城県 rdf:type dbp-owl:birthPlace dbp:石ノ森章太郎 宮城県 rdf:type foaf:Person dbp-owl:leaderName dbp-prop:生年 rdfs:label dbp-owl:award dbp:村井嘉浩   1938 dbp:手塚治虫 石ノ森章太郎 文化賞
  14. 14. PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?birthPlace WHERE { dbp:石ノ森章太郎 dbp-owl:birthPlace ?birthPlace . } •  SELECT:  取得したい変数を指定   •  SELECT  *  は全ての変数指定と同等   •  結果形式:  XML,  JSON,  CSV,  TSV,  ...  •  WHERE:    {}内にグラフパターンの組み合わせを記述  •  LIMIT:    件数の制限   •  100だと1-­‐100まで取得   •  LIMITがない場合は全件取得   •  量が多い場合はサーバに負荷をかけるので注意  •  PREFIX:    URIを短縮して記述するための仕組み   •  dbp:東京都  =  <hYp://ja.dbpedia.org/resource/東京都>    
  15. 15. クエリ: 手塚治虫文化賞を受賞した漫画家 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?creator WHERE { ?creator rdf:type dbp-owl:ComicsCreator ; dbp-owl:award dbp:手塚治虫文化賞 . } サイボーグ009 dbp-­‐owl:Comics rdfs:label rdf:type dbp-­‐owl:AdministraVveRegion dbp:サイボーグ009 rdf:type dbp-­‐owl:   dbp-owl:notableWork ComicsCreator rdfs:label dbp:宮城県 rdf:type dbp-owl:birthPlace dbp:石ノ森章太郎 宮城県 rdf:type foaf:Person dbp-owl:leaderName dbp-prop:生年 rdfs:label dbp-owl:award dbp:村井嘉浩   1938 dbp:手塚治虫 石ノ森章太郎 文化賞
  16. 16. クエリ: 手塚治虫文化賞を受賞した漫画家の代表的な漫画 PREFIX dbp: <http://ja.dbpedia.org/resource/> PREFIX dbp-owl: <http://dbpedia.org/ontology/> SELECT ?creatorName ?comicName WHERE { ?creator a dbp-owl:ComicsCreator ; dbp-owl:award dbp:手塚治虫文化賞 ; dbp-owl:notableWork ?comic ; rdfs:label ?creatorName . ?comic a dbp-owl:Comics ; rdfs:label ?comicName . } サイボーグ009 dbp-­‐owl:Comics rdfs:label rdf:type dbp-­‐owl:AdministraVveRegion dbp:サイボーグ009 rdf:type dbp-­‐owl:   dbp-owl:notableWork ComicsCreator rdfs:label dbp:宮城県 rdf:type dbp-owl:birthPlace dbp:石ノ森章太郎 宮城県 rdf:type foaf:Person dbp-owl:leaderName dbp-prop:生年 rdfs:label dbp-owl:award dbp:村井嘉浩   1938 dbp:手塚治虫 石ノ森章太郎 文化賞
  17. 17. SPARQL •  LOD用クエリ言語   –  データモデル:  RDF  (ラベル付き有向グラフ)   –  プロトコル:  HTTP  •  W3C仕様   –  1.0:  RecommendaVons   –  1.1:  Working  DraWs  
  18. 18. SPARQL  1.0  •  データ取得・検索   –  SELECT   –  ASK   –  CONSTRUCT   –  DESCRIBE  •  どこでもほぼ使用可能  
  19. 19. SELECT 例)  任意の3つ組を100件取得  SELECT  ?s  ?p  ?o  WHERE  {      ?s  ?p  ?o  .  }  LIMIT  100    
  20. 20. ASK  •  ASK:    グラフパターンにマッチするものがあるか   •  結果yes  か  no      例)  石ノ森章太郎の出身地が含まれているかどうか  PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/>  PREFIX  dbp-­‐owl:  <hYp://dbpedia.org/ontology/>    ASK    WHERE  {      dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  .  }  
  21. 21. CONSTRUCT  •  CONSTRUCT: 新しいグラフを作成して取得 •  結果形式: RDF/XML, Turtle, … 例) foaf:nameプロパティの3つ組をそのまま取得 PREFIX  foaf:  <hYp://xmlns.com/foaf/0.1/>    CONSTRUCT  {      ?s  foaf:name  ?o  .  }  WHERE  {      ?s  foaf:name  ?o  .  }  
  22. 22. DESCRIBE  •  DESCRIBE: リソースに関するグラフを取得 •  実装依存 •  多くの場合は対象リソースを直接含む3つ組の集合 •  結果形式: RDF/XML, Turtle, … 例) http://ja.dbpedia.org/resource/東京都に関するグラフを取得 DESCRIBE <http://ja.dbpedia.org/resource/東京都>
  23. 23. SPARQL  1.1  •  データ作成・更新・削除   –  INSERT  /  UPDATE  /  DELETE  /  LOAD  /  DROP  •  様々な機能追加   –  プロパティパス,集約,条件,数値関数,文字列関数,サブ クエリ,Federatedクエリなど  •  実装に差あり  •  1.1の内容は省略  
  24. 24. SPARQL1.0  specs  •  SPARQL  Query  Language  for  RDF:   hYp://www.w3.org/TR/rdf-­‐sparql-­‐query/  •  SPARQL  Protocol  for  RDF:   hYp://www.w3.org/TR/rdf-­‐sparql-­‐protocol  •  SPARQL  Query  Results  XML  Format:   hYp://www.w3.org/TR/rdf-­‐sparql-­‐XMLres/  •  CURIE  Syntax  1.0:  hYp://www.w3.org/TR/curie/  
  25. 25. SPARQL  1.1  specs  •  SPARQL  1.1  Query  Language:  hYp://www.w3.org/TR/sparql11-­‐query/  •  SPARQL  1.1  Update:  hYp://www.w3.org/TR/sparql11-­‐update/  •  SPARQL  1.1  Protocol  for  RDF:  hYp://www.w3.org/TR/sparql11-­‐protocol/  •  SPARQL  1.1  Graph  Store  HTTP  Protocol:   hYp://www.w3.org/TR/sparql11-­‐hYp-­‐rdf-­‐update/  •  SPARQL  1.1  Entailment  Regimes:  hYp://www.w3.org/TR/sparql11-­‐entailment/  •  SPARQL  1.1  Service  DescripVon:   hYp://www.w3.org/TR/sparql11-­‐service-­‐descripVon/  •  SPARQL  1.1  Federated  Query:  hYp://www.w3.org/TR/sparql11-­‐federated-­‐query/  •  SPARQL  1.1  Test  case  structure:  hYp://www.w3.org/2009/sparql/docs/tests/  •  SPARQL  1.1  Query  Results  JSON  Format:   hYp://www.w3.org/TR/sparql11-­‐results-­‐json/  •  SPARQL  1.1  Query  Results  CSV  and  TSV  Formats:   hYp://www.w3.org/TR/sparql11-­‐results-­‐csv-­‐tsv/  
  26. 26. まとめ •  SPARQLによるLODの検索   –  SPARQLエンドポイント –  グラフパターン   –  ja.dbpedia.org  

×