docs: update readme

This commit is contained in:
Babibubebon 2023-07-03 11:46:42 +09:00
parent 9a9b4a5ae1
commit 6aa79bd93b
Signed by: Babibubebon
GPG key ID: 78C8FB2A2FEA1EE3

View file

@ -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エンドポイント: <http://localhost:3030/madb/sparql>
### データセットのバージョンの識別
`<http://localhost:3030/madb/void/>` という名前付きグラフ内でデータセットのメタデータを記述しています。データセットを表すURIは `<http://localhost:3030/madb/#dataset>` としています。
例えば、以下のようなクエリで確認することができます。
```sparql
SELECT *
WHERE {
GRAPH <http://localhost:3030/madb/void/> {
<http://localhost:3030/madb/#dataset> ?p ?o .
}
}
```
### 全文検索
[Luceneによる全文検索インデックス](https://jena.apache.org/documentation/query/text-query.html)が構築済みですので、SPARQLクエリで全文検索できます。
```sparql
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <https://schema.org/>
PREFIX text: <http://jena.apache.org/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