TripleDataProfiler

提供:TogoWiki

2014年9月18日 (木) 05:40時点におけるYayamamo (トーク | 投稿記録)による版
移動: 案内, 検索
  • 山本

ソースコード

特定のSPARQLエンドポイントに対して検索をしようにも、そこにどのような構造でデータが収められているのかを把握することは難しい。 そしてデータ構造が説明されているサイトは多くない。

そこで、エンドポイントのURLを与えると一通りそこで検索できるデータの概要を得られるツールを開発している。

本ツールの利用目的として上記のほかにも自分のデータの整合性をチェックするために使える。 これは実際のデータにアクセスした結果が得られるため、想定外のデータ構造が見つかることもあり、気づいていなかった問題の発見に繋がる。 また、サンプルクエリや概要の自動生成にも応用でき、エンドポイント提供者がドキュメントを整えるさいに利用できる。

現状では、http://kegg.bio2rdf.org/sparql に対して以下のような結果が得られる。

Graph名に続き、そこに含まれるクラス名の一覧、続いて、トリプルで結ばれるクラスとそのトリプル数(Crelから始まる行)、クラス間を結ぶ述語とその数(Relpから始まる行)が表示される。 二つのクラスを結ぶ述語が複数ある場合はRelp行が連続して表示される。

Graph   http://bio2rdf.org/kegg
Class   http://bio2rdf.org/kegg_vocabulary:Entry
Class   http://bio2rdf.org/kegg_vocabulary:Relation
Class   http://bio2rdf.org/kegg_vocabulary:Protein
Class   http://bio2rdf.org/kegg_vocabulary:Gene
Class   http://bio2rdf.org/kegg_vocabulary:Enzyme
Class   http://bio2rdf.org/kegg_vocabulary:Compound
Class   http://bio2rdf.org/kegg_vocabulary:Drug
Class   http://bio2rdf.org/kegg_vocabulary:Glycan
Class   http://bio2rdf.org/kegg_vocabulary:Reaction
Class   http://bio2rdf.org/kegg_vocabulary:Pathway
Crel    13863   http://bio2rdf.org/kegg_vocabulary:Compound -> http://bio2rdf.org/kegg_vocabulary:Compound
Relp    13863   http://www.w3.org/2002/07/owl#sameAs
Crel    54958   http://bio2rdf.org/kegg_vocabulary:Compound -> (Unknown Class Resource)
Relp    14279   http://www.w3.org/2002/07/owl#sameAs
Relp    40679   http://bio2rdf.org/ns/bio2rdf#xRef
Crel    108378  http://bio2rdf.org/kegg_vocabulary:Compound -> (Literal)
Relp    14071   http://www.w3.org/2000/01/rdf-schema#label
Relp    14071   http://purl.org/dc/elements/1.1/title
Relp    14071   http://purl.org/dc/elements/1.1/identifier
Relp    14071   http://bio2rdf.org/ns/bio2rdf#url
Relp    14071   http://bio2rdf.org/ns/bio2rdf#urlImage
Relp    12063   http://bio2rdf.org/ns/bio2rdf#mass
Relp    12634   http://bio2rdf.org/ns/bio2rdf#synonym
Relp    13326   http://bio2rdf.org/ns/bio2rdf#formula
Error Occurred: SELECT (COUNT(?s) AS ?rc) WHERE {GRAPH <http://bio2rdf.org/kegg> {?s ?p ?o . ?s a <http://bio2rdf.org/kegg_vocabulary:Relation> . ?o a <http://bio2rdf.org/kegg_vocabulary:Relation> .}}
Crel    3655652 http://bio2rdf.org/kegg_vocabulary:Relation -> http://bio2rdf.org/kegg_vocabulary:Entry
Error Occurred: SELECT ?p (COUNT(?p) AS ?rc) WHERE {GRAPH <http://bio2rdf.org/kegg> {?s ?p ?o . ?s a <http://bio2rdf.org/kegg_vocabulary:Relation> . ?o a <http://bio2rdf.org/kegg_vocabulary:Entry> .}} GROUP BY ?p
This endpoint doesn't seem to suuport the MINUS keyword.
This endpoint doesn't seem to suuport the MINUS keyword.
Crel    5477613 http://bio2rdf.org/kegg_vocabulary:Relation -> (Literal)
Relp    1816043 http://bio2rdf.org/kegg_vocabulary:subtype
Relp    1827793 http://bio2rdf.org/ns/bio2rdf#subType
Relp    1833777 http://bio2rdf.org/kegg_vocabulary:value
Crel    712370  http://bio2rdf.org/kegg_vocabulary:Protein -> http://bio2rdf.org/kegg_vocabulary:Gene
Relp    712370  http://bio2rdf.org/kegg_vocabulary:xGene
Crel    698479  http://bio2rdf.org/kegg_vocabulary:Protein -> http://bio2rdf.org/kegg_vocabulary:Reaction
Relp    698479  http://bio2rdf.org/kegg_vocabulary:xReaction
Crel    416236  http://bio2rdf.org/kegg_vocabulary:Protein -> (Unknown Class Resource)
Relp    382822  http://bio2rdf.org/kegg_vocabulary:xTaxon
Relp    33414   http://bio2rdf.org/kegg_vocabulary:xReaction
This endpoint doesn't seem to suuport the MINUS keyword.
Crel    1148783 http://bio2rdf.org/kegg_vocabulary:Protein -> (Literal)
Relp    382930  http://www.w3.org/2000/01/rdf-schema#label
Relp    382928  http://purl.org/dc/elements/1.1/title
Relp    382925  http://bio2rdf.org/ns/bio2rdf#url
Crel    3402322 http://bio2rdf.org/kegg_vocabulary:Entry -> http://bio2rdf.org/kegg_vocabulary:Compound
Relp    3402322 http://bio2rdf.org/kegg_vocabulary:xRef
...

2014/5/28

改良点として、以下の作業を行った。

  • アクセスポイントへのアクセスに1/3秒のウェイトを含める
  • インスタンスが一つも無い場合の組み合わせについては述語についての調査をスキップして効率化
  • 具体的なインスタンスを含むトリプルの例を表示させる
Crel    330     http://identifiers.org/biomodels.vocabulary#EventAssignment -> http://identifiers.org/biomodels.vocabulary#Parameter
Relp    330     http://identifiers.org/biomodels.vocabulary#variable
<http://identifiers.org/biomodels.db/BIOMD0000000001#_324028> <http://identifiers.org/biomodels.vocabulary#variable> <http://identifiers.org/biomodels.db/BIOMD0000000001#metaid_0000045> .
<http://identifiers.org/biomodels.db/BIOMD0000000001#_323980> <http://identifiers.org/biomodels.vocabulary#variable> <http://identifiers.org/biomodels.db/BIOMD0000000001#metaid_0000043> .
<http://identifiers.org/biomodels.db/BIOMD0000000001#_323968> <http://identifiers.org/biomodels.vocabulary#variable> <http://identifiers.org/biomodels.db/BIOMD0000000001#metaid_0000037> .

2014/9/18

改良点として、以下の作業を行った。

  • BH13.13/SPARQLBuilderのエンドポイントメタデータスキーマ(RDF)に対応。
  • RDF出力機能の追加に伴い、トリプルストアへ取得結果を直接流し込む機能を追加。
  • トリプルストアへのアクセスを容易にするためのウェブサイトを立ち上げた ([1])。
/mw/TripleDataProfiler」より作成