From 6aa79bd93b840ad19b669bc40f31b9c807c33245 Mon Sep 17 00:00:00 2001 From: Babibubebon Date: Mon, 3 Jul 2023 11:46:42 +0900 Subject: [PATCH] docs: update readme --- README.md | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d6a6363..8b8a212 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ## Usage ```sh -docker run --rm -it -p 3030:3030 babibubebon/madb-fuseki:{version} +docker run --rm -p 3030:3030 babibubebon/madb-fuseki:{version} ``` `{version}` には利用したいデータセットのバージョンを `YYYYMMDD` 形式で指定します。 @@ -22,11 +22,47 @@ docker run --rm -it -p 3030:3030 babibubebon/madb-fuseki:{version} - 起動時に表示されるadminパスワードを入力します。 - SPARQLエンドポイント: +### データセットのバージョンの識別 + +`` という名前付きグラフ内でデータセットのメタデータを記述しています。データセットを表すURIは `` としています。 + +例えば、以下のようなクエリで確認することができます。 + +```sparql +SELECT * +WHERE { + GRAPH { + ?p ?o . + } +} +``` + +### 全文検索 + +[Luceneによる全文検索インデックス](https://jena.apache.org/documentation/query/text-query.html)が構築済みですので、SPARQLクエリで全文検索できます。 + +```sparql +PREFIX rdfs: +PREFIX schema: +PREFIX text: + +SELECT ?公開年 (COUNT(DISTINCT ?マンガ単行本) AS ?合計数) (SAMPLE(?マンガ単行本) AS ?マンガ単行本の例) +WHERE { + ?マンガ単行本 text:query '"異世界" OR "転生"' . + ?マンガ単行本 schema:genre "マンガ単行本"; + schema:datePublished ?公開年月日 . + BIND (SUBSTR(?公開年月日, 1, 4) AS ?公開年) +} +GROUP BY ?公開年 +ORDER BY DESC(?公開年) +``` + ## Build ```sh -python create_void.py YYYYMMDD > void.trig -docker build -t babibubebon/madb-fuseki . +VERSION=YYYYMMDD +python create_void.py ${VERSION} > void.trig +docker build --build-arg DATASET_VERSION=${VERSION} -t babibubebon/madb-fuseki:${VERSION} . ``` ## License