「vue-shacl-form」は、RDFデータのためのHTML入力フォームやその入力値のバリデーションを自動生成できるツールです。フォームに入力されたデータは、直接RDFとして出力することができます。
W3C勧告 Shapes Constraint Language (SHACL)というRDFグラフにおけるデータの制約を記述するための言語に基づいており、このSHACLに従った制約定義を与えることで、HTMLやバリデーションのプログラムコードを書くことなく、自動生成することができます。
https://www.w3.org/TR/shacl/
RDFデータをXMLやTurtleなどの形式で手書きして作成すると、効率が悪かったり不正なデータが混入したりすることがありますが、GUIの入力フォームとバリデーションを導入することで、効率良く品質の高いデータ作成を支援することができます。また、RDFやデータスキーマに知識が無いユーザも、バリデーション付きの入力フォームからLODのデータ編集に参加できるようになります。
一方で、入力フォームやバリデーションの開発は煩雑になりがちで、また、スキーマ変更に伴って改修が必要です。そこで、SHACLを活用した自動生成によってこれらの課題が解決できると考えています。
まだ最低限の機能しか実装されていませんが、SPARQLを活用して入力値のautocomplete機能や、SPARQL 1.1 Updateを利用したCRUD機能などのアイデアもあります。
ソースコードはGitHubで公開しています。
GitHub: https://github.com/Babibubebon/vue-shacl-form
開発者向けにnpmパッケージも公開しています。
npm: https://www.npmjs.com/package/vue-shacl-form
Update: Oct 5, 2020
(ばびぶべぼん)