LoginSignup
6
6

More than 5 years have passed since last update.

Apache Jena Fuseki で Readonly SPARQL Endpoint

Last updated at Posted at 2015-09-01

はじめに

Apache Jena Fuseki 1.3.0 を使って Readonly な SPARQL Endpoint を立ち上げる手順を解説します

追記 Apache Jena Fuseki 2 を使いたいかたは Apache Jena Fuseki 2 で Readonly SPARQL Endpoint をどうぞ

1.準備

  • Java 7 以上をインストールしておきます
  • Fuseki にロードする RDF を用意しておきます

ここでは https://raw.githubusercontent.com/apache/jena/master/jena-fuseki1/Data/books.ttl を例として説明しますが、 file: スキームの URL や設定ファイルからの相対パスなんかでも問題ありません。

2. Apache Jena Fuseki をインストール

  • Apache Jena のダウンロードページ に行きます
  • Apache Jena Fuseki jena-fuseki1-1.3.0-distribution.zip をダウンロードします
  • 適当なフォルダに展開します
  • jena-fuseki1-1.3.0 フォルダができるはずです

3. Apache Jena Fuseki の設定

  • デフォルトの設定ファイルは jena-fuseki1-1.3.0\config.ttl です
  • これを以下のように編集して保存します
config.ttl
@prefix :        <#> .
@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] a fuseki:Server ;
   fuseki:services (
     <#service1>
   ) .

<#service1>
    a                   fuseki:Service ;
    fuseki:name         "ds" ; 
    fuseki:serviceQuery "sparql" ;
    fuseki:dataset      [
        a ja:RDFDataset ;
        ja:defaultGraph [
            a ja:MemoryModel ;
            ja:content [
                ja:externalContent <https://raw.githubusercontent.com/apache/jena/master/jena-fuseki1/Data/books.ttl>
            ]
        ] 
    ] .

https://raw.githubusercontent.com/apache/jena/master/jena-fuseki1/Data/books.ttl の部分を用意した RDF の URL で置き換えてください。

4. Apache Jena Fuseki の起動

  • 以下のコマンドで起動します
  • 起動プロセスのなかで、設定ファイルで指定した RDF がロードされます
  • RDF に問題がある場合にはエラーメッセージなどが表示されます
  • 大きな RDF を指定した場合には起動に時間がかかります
$ cd jena-fuseki1-1.3.0
$ fuseki-server --config=config.ttl
20:14:38 INFO  Dataset path = /ds
20:14:38 INFO  Fuseki 1.3.0 2015-07-25T17:11:28+0000
20:14:38 INFO  Started 2015/09/01 20:14:38 JST on port 3030
  • Ctrl-C などで停止してください

5. Apache Jena Fuseki の起動確認

このような SPARQL の実行例は

example
select * where { ?s ?p ?o. }

このような URL から得ることができます
http://localhost:3030/ds/sparql?query=select+*+where+%7B%3Fs+%3Fp+%3Fo.%7D&output=json

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6