[SPARQLアドベントカレンダー]WP-SGVを使ってWordPressでSPARQLを使ってみる

SPARQL Advent Calendar 2015 – Qiita 16日目 WordPressの投稿にSPARQLで取得したデータを表示させるプラグインがGitHubにありましたので、それを使ってみまし […]

広告ここから
広告ここまで

目次

    SPARQL Advent Calendar 2015 – Qiita 16日目

    WordPressの投稿にSPARQLで取得したデータを表示させるプラグインがGitHubにありましたので、それを使ってみましょう。

    参考資料など

    上田さんにWordBench京都でハンズオンしていただいた時の資料を残していただいていますので、この辺り見ると非常に参考になります。

    インストール

    こんな感じでコマンドラインから有効化までやっちゃいます。
    [bash]
    $ cd /PATH/TO/WORDPRESS/wp-content/plugins/
    $ git clone [email protected]:uedayou/wp-sgv.git
    $ wp plugin activate wp-sgv
    Success: Plugin ‘wp-sgv’ activated.
    [/bash]

    使ってみた

    プロ野球選手の多い都道府県TOP20

    [wp_sgv endpoint =”https://ja.dbpedia.org/sparql” chart=”google.visualization.PieChart” options=”” output=”json” width=”600″ height=”600″]
    select ?birthPlace (count(?s) as ?num) where{
    ?s a .
    ?s ?Place.
    ?Place rdf:type .
    ?Place rdfs:label ?birthPlace.
    }
    group by ?birthPlace ORDER BY DESC(?num)
    limit 20
    [/wp_sgv]

    作り方

    https://gist.github.com/uedayou/f9c72dcf208a59971b2eにあるサンプルを1つ選びます。
    [sql]
    select ?birthPlace (count(?s) as ?num) where{
    ?s a <https://dbpedia.org/ontology/Comedian>.
    ?s <https://dbpedia.org/ontology/birthPlace> ?Place.
    ?Place rdf:type <https://schema.org/Place>.
    ?Place rdfs:label ?birthPlace.
    }
    group by ?birthPlace ORDER BY DESC(?num)
    [/sql]

    そのままでは面白くないので、https://dbpedia.org/ontology/で使えそうなネタを探します。

    今回はhttps://dbpedia.org/ontology/BaseballPlayerにしました。

    以下のように書き換えたあとショートコード作成画面でショートコードを作って記事に挿入するだけです。
    [sql]
    select ?birthPlace (count(?s) as ?num) where{
    ?s a <https://dbpedia.org/ontology/BaseballPlayer>.
    ?s <https://dbpedia.org/ontology/birthPlace> ?Place.
    ?Place rdf:type <https://schema.org/Place>.
    ?Place rdfs:label ?birthPlace.
    }
    group by ?birthPlace ORDER BY DESC(?num)
    limit 20
    [/sql]

    ショートコードを作って

    ショートコードを作って

    挿入

    挿入

    これでデータ使ったブログとかみんなやろうぜ(やらない)

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark