本研究課題は,グラフデータからスキーマを抽出するためのアルゴリズムの開発である.スキーマとはクラス(または型)の集合であり,類似した構造をもつノードが同じクラスに属するものとする.これまではグラフスキーマを対象としていたが,当該年度では,より高い表現力をもつスキーマとしてShape Expression Schema (ShEx)に着目し,これまで本研究で構成したアルゴリズムをShExに対応させるための拡張方法について検討・評価を行った.グラフスキーマの抽出においては,類似した構造をもつノードを同じクラスにまとめるという方法でスキーマを抽出していたが,ShExでは出力先のノードに明示的な型が指定されているため,この手法をそのままShExの抽出に適用することは困難である.類似したノードを同じ型にまとめるとそれらが属する型が変化するため,出力先の型の変化を親ノードに伝搬させながらスキーマの修正を繰り返すことでスキーマ抽出を行うアルゴリズムを構成した.このアルゴリズムをRubyを用いて実装し評価実験を行った結果,十分な精度でスキーマを抽出可能であることがわかった.ただし,大規模グラフデータにおける評価が十分でなく,この点については今後の課題である.なお,グラフデータからスキーマを抽出するという性格上,得られたスキーマは固定ではなく,スキーマ進化が度々生じることが予想される.そこで,スキーマ進化が生じた際の,問合せ式への影響についても検討を行った.具体的には,Property Path式を対象に,スキーマ進化に合わせて問合せ式を自動修正するアルゴリズムを開発し,実装および評価実験を行った.その結果,概ね適切な修正が行えていることが確認できた.
|