SPARQLなLT

Mishima.syk #10

no85

About me

  • 某企業の会社員
  • 元々は創薬シーズ探索屋 in vitro
  • 海が好き。あとお酒も大好き!

ところで

  • SPARQL使ってますか?
  • 使ってる方は...
    • 全部知ってる内容だと思います
    • この時間は今日の懇親会に思いを馳せててください

あ、懇親会...!

ちょっとアナウンスします

Start

Goal

北口側から南口側へ移動します

Google map

2,800円コース

飲み物はカウンターでキャッシュオンで

各自ご注文してください

SPARQLとは

  • RDFに対するクエリ言語
  • RDFで記述されるLinked Dataの標準クエリとして活用
  • 知っておくと役にたちそうな予感がしてます

RDFについて

  • Resource Description Framework の略
  • 主語・述語・目的語のセット
  • メタデータのもつ情報を維持しながら、よその情報との連携もしやすい枠組み(ってことなんだろうな)

Object

Subject

Predicate

John

likes

soy milk

SPARQL本

  • ていうかこちらに丁寧な説明があります

例えば

NBDC RDF Portal

(https://integbio.jp/rdf/)

 

実際に覗いてみよう!

 

 

クエリの書き方よくわかんない

SPARQL本

  • ていうかこちらに丁寧な説明があります

DBpedia Japanese のエンドポイント

    (http://ja.dbpedia.org/sparql)に以下のクエリを書く

PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

select ?birth_date
where {
 dbpedia-ja:ビートたけし dbpedia-owl:birthDate ?birth_date.  }

Query Text

Run Queryすると

~たとえばビートたけしの誕生日をSPARQLで検索したくなったら~

ざっくり説明

ざっくり説明

DBpedia Japanese のエンドポイント

    (http://ja.dbpedia.org/sparql)に以下のクエリを書く

PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

select ?birth_date
where {
 dbpedia-ja:ビートたけし dbpedia-owl:birthDate ?birth_date.  }

Query Text

Run Queryすると

←検索したい対象

←検索条件。基本的にトリプルパターンで記載する

~たとえばビートたけしの誕生日をSPARQLで検索したくなったら~

ざっくり説明

DBpedia Japanese のエンドポイント

    (http://ja.dbpedia.org/sparql)に以下のクエリを書く

PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

select ?birth_date
where {
 dbpedia-ja:ビートたけし dbpedia-owl:birthDate ?birth_date.  }

Query Text

PREFIXで  を  と省略するよと宣言

Run Queryすると

~たとえばビートたけしの誕生日をSPARQLで検索したくなったら~

ざっくり説明

DBpedia Japanese のエンドポイント

    (http://ja.dbpedia.org/sparql)に以下のクエリを書く

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

select ?birth_date
where {
 <http://ja.dbpedia.org/resource/ビートたけし> dbpedia-owl:birthDate ?birth_date.

 }

Query Text

Run Queryすると

これでもOK

~たとえばビートたけしの誕生日をSPARQLで検索したくなったら~

ぱぱっとクエリ書けないっすよ

Wikidata Query Service

(https://query.wikidata.org/)

 

キーワードを元に

クエリのExampleをつくってくれる

何書いてあるのか

よくわかんないんすけど

Wikidata:A beginner-friendly course for SPARQL

(https://www.wikidata.org/wiki/Wikidata:A_beginner-friendly_course_for_SPARQL)

ビギナーさん向けのページもあるよ!

SPARQL/Building a query/Museums on Instagram - Wikidata

(https://www.wikidata.org/wiki/Help:SPARQL/Building_a_query/Museums_on_Instagram)

 

シンプルなクエリから複雑なクエリをつくる流れも

説明してるよ!

install.packages("SPARQL")

RからSPARQL検索もできるよ!

RでSPARQL

> endpoint <- "http://ja.dbpedia.org/sparql"
> query <-  "
+ PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>
+ PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
+ PREFIX prop-ja: <http://ja.dbpedia.org/property/>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ SELECT ?film_name ?screen_time
+ WHERE {  ?film dbpedia-owl:director dbpedia-ja:ビートたけし ;
+    prop-ja:上映時間 ?screen_time ;
+    rdfs:label ?film_name .
+ FILTER (?screen_time < 100) }"
> sparql <- SPARQL(endpoint, query)
> head(sparql$results)

RでSPARQL

〜R経由でビートたけし監督の映画で上映時間が100分未満の映画

のタイトルと上演時間を調べたくなったら〜

結果が気になる方は

ご自身でどうぞ!

RでSPARQL

〜R経由でビートたけし監督の映画で上映時間が100分未満の映画

のタイトルと上演時間を調べたくなったら〜

感想

  • 数年前に比べて初心者向けの情報がすごく増えている

  • 今後実際にどう活用されていくのか興味がある

   (自分での活用方法も含めて)

 

170708Mishimasyk10

By no85j

170708Mishimasyk10

  • 456