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.
リンク生成ツール   -Silk-      2012/07/24  Linked Data勉強会     南 佳孝
Silkとは• 2つの異なるデータソースの  データ項目間のリンクを生成するツール – リンクするデータ項目の条件を設定できる – SPARQL endpointsを利用できる – 利用形態                       Hado...
Silkの使い方• インストール – http://www4.wiwiss.fu-berlin.de/bizer/silk/ – ↑からダウンロードして解凍するだけ• 設定ファイルの作成 – XMLファイル – リンクするデータ項目の条件を設定...
設定できる条件• Prefix   – NamespaceのPrefixを設定• DataSources   – データソースを指定      • sparql endpointのURLを設定• LinkType   – マッチしたデータをリン...
PrefixとDataSources<Prefixes> <Prefix id="rdfs" namespace="http://www.w3.org/2000/01/rdf-schema#" /> <Prefix id="species" n...
LinkTypeとデータセット<LinkType>owl:sameAs</LinkType><SourceDataset dataSource="lodac" var="a"> <RestrictTo>  ?a rdf:type foaf:Or...
LinkageRule                         比較方法とそのパラメータを指定<LinkageRule> <Aggregate type="average">  <Compare metric="levenshteinD...
比較方法• 文字列ベースで距離比較 • パラメータ – levenshteinDistance   – required (optional)    • 置換や挿入の回数              • 両方のインスタンスがあ – levensh...
パスの記述方法• SPARQLで取得した値からパスを指定する –/      • プロパティ経由で次の値を取得        – 例)博物館→名称 –      • プロパティ経由で前の値を取得        – 例)蝶が収蔵されている博物館 ...
Outputs                                      デフォルトは下記に出力                                    ユーザディレクトリ/.silk/outoput<Output...
テストケース• 対象データ – LODACの博物館情報(20万件) – LODACの生物情報  • 標本が収蔵されている博物館(120万件)• 処理数とかかった時間 – 20万かける120万=2400億回 – 11時間
処理スピードについて• 処理するサーバ次第 – 対象の件数が多いと幾何級数的に遅くなる場   合がある  • OFFSETなどに時間がかかることが原因                            例えば、こんなクエリを投げてい    ...
Upcoming SlideShare
Loading in …5
×

Silkについて

4,305 views

Published on

  • Be the first to comment

Silkについて

  1. 1. リンク生成ツール -Silk- 2012/07/24 Linked Data勉強会 南 佳孝
  2. 2. Silkとは• 2つの異なるデータソースの データ項目間のリンクを生成するツール – リンクするデータ項目の条件を設定できる – SPARQL endpointsを利用できる – 利用形態 Hadoopベース • Single Machine • MapReduce APIを提供 • Server Web上でテスト • Workbench
  3. 3. Silkの使い方• インストール – http://www4.wiwiss.fu-berlin.de/bizer/silk/ – ↑からダウンロードして解凍するだけ• 設定ファイルの作成 – XMLファイル – リンクするデータ項目の条件を設定 – Silk Link Specification Language (Silk-LSL)で記述• 実行 – java -DconfigFile=test.xml -jar C:hogehogesilk.jar
  4. 4. 設定できる条件• Prefix – NamespaceのPrefixを設定• DataSources – データソースを指定 • sparql endpointのURLを設定• LinkType – マッチしたデータをリンクするプロパティを設定• 比較条件 – sparqlクエリで比較対象のデータを設定 – 比較方法を設定• Output – 出力するファイル名とフォーマット
  5. 5. PrefixとDataSources<Prefixes> <Prefix id="rdfs" namespace="http://www.w3.org/2000/01/rdf-schema#" /> <Prefix id="species" namespace="http://lod.ac/ns/species#" /> <Prefix id="owl" namespace="http://www.w3.org/2002/07/owl#" /></Prefixes> fileと指定することも可 その場合は、formatの指定が必要 ※RDF/XML、N-TRIPLE、TURTLE、TTL、N3<DataSources> <DataSource id="lodac" type="sparqlEndpoint"> <Param name="endpointURI" value="http://lod.ac/sparql" /> </DataSource> <DataSource id="species" type="sparqlEndpoint"> <Param name="endpointURI" value="http://lod.ac/species/sparql" /> </DataSource></DataSources> その他に、login、password、instanceList、 PageSize、graph、pauseTime、retryCount、 RetryPauseを指定可
  6. 6. LinkTypeとデータセット<LinkType>owl:sameAs</LinkType><SourceDataset dataSource="lodac" var="a"> <RestrictTo> ?a rdf:type foaf:Organization SPARQLで記述 </RestrictTo></SourceDataset><TargetDataset dataSource="species" var="b"> <RestrictTo> ?b species:museumName ?o </RestrictTo></TargetDataset>
  7. 7. LinkageRule 比較方法とそのパラメータを指定<LinkageRule> <Aggregate type="average"> <Compare metric="levenshteinDistance" threshold="2.0"> <Input path="?a/rdfs:label[@lang=ja]" /> <Input path="?b/species:museumName" /> </Compare> </Aggregate></LinkageRule> 比較対象をPath形式で記述
  8. 8. 比較方法• 文字列ベースで距離比較 • パラメータ – levenshteinDistance – required (optional) • 置換や挿入の回数 • 両方のインスタンスがあ – levenshtein る場合のみ • 正規化され、0~1の間 – weight (optional) – jaro – threshold • 人名に特化した手法 • 文字列間の距離(-1~1) – jaroWinkler – distanceMeasure – equality • jaccard、dice、 softjaccard、num、date、 • イコールなら0 dateTime、wgs84 – Inequality – Inputs • イコールなら1 • 比較対象を設定
  9. 9. パスの記述方法• SPARQLで取得した値からパスを指定する –/ • プロパティ経由で次の値を取得 – 例)博物館→名称 – • プロパティ経由で前の値を取得 – 例)蝶が収蔵されている博物館 – [] • 言語タグなどのフィルター• TransformInput で変換も可能
  10. 10. Outputs デフォルトは下記に出力 ユーザディレクトリ/.silk/outoput<Outputs> <Output type="file" minConfidence="0.95"> <Param name="file" value="accepted_links.nt" /> <Param name=“format” value=“ntriples” /> </Output> <Output type="file" maxConfidence="0.95"> <Param name="file" value="verify_links.nt" /> ntriplesかalignmentを指定 <Param name="format" value="alignment" /> </Output></Outputs>
  11. 11. テストケース• 対象データ – LODACの博物館情報(20万件) – LODACの生物情報 • 標本が収蔵されている博物館(120万件)• 処理数とかかった時間 – 20万かける120万=2400億回 – 11時間
  12. 12. 処理スピードについて• 処理するサーバ次第 – 対象の件数が多いと幾何級数的に遅くなる場 合がある • OFFSETなどに時間がかかることが原因 例えば、こんなクエリを投げてい る SELECT DISTINCT ?a ?o WHERE { ?a <http://lod.ac/ns/species#scientificName> ?o . } OFFSET 54000 LIMIT 1000

×