Creativity Sharing and
Entrepreneurial Support

Grasp: SPARQLエンドポイントをGraphQLエンドポイントに

License : MIT
グラフデータに対するAPIとしてGraphQLが普及してきています。これまで整備したRDFデータはSPARQL言語で検索するのが普通でしたが、RDFデータモデルの理解とSPARQLクエリの開発はフロントエンドエンジニアにとっては負担が大きいものでした。Graspは、柔軟性のあるSPARQLエンドポイントはそのままに、GraphQLでも検索可能なAPIを提供するためのミドルウェアです。
Update: Oct 16, 2022

Text detail
Graspの技術的背景:GraspはGraphQLクエリを受け取ると、設定ファイルで指定されたSPARQLエンドポイントに対し、サブグラフを取得するためのCONSTRUCTクエリを発行します。追加の情報を取得するための複数クエリの発行や、他のエンドポイントへのアクセスも必要に応じて自動で行います。最後に得られたサブグラフをGraphQLのレスポンスに整形しクライアントに返します。 Graspの応用事例:Graspでは、設定次第でWikidataなど任意のSPARQLエンドポイントを利用することができます。一方で、適切なGrasp設定ファイルを準備する必要があり、このためにはRDFモデルとSPARQL言語の知識が求められます。この負担を軽減するため、私たちライフサイエンス統合データベースセンター(DBCLS)ではRDF-configというツールを開発し、生命医科学の様々なRDFデータベースに対しGraspの設定ファイルを自動生成ました。これにより巨大かつ多様なデータベース群をGraphQLによって統合的かつ容易に利用できるサービスを開発しています。
Update: Oct 16, 2022 (Toshiaki Katayama)
Web page detail
GitHub - dbcls/grasp: Grasp: A bridge between GraphQL and SPARQL https://github.com/dbcls/grasp
Grasp: A bridge between GraphQL and SPARQL. Contribute to dbcls/grasp development by creating an account on GitHub.
Update: Oct 16, 2022 (Toshiaki Katayama)

Grant Information

Suggested fund information for realizing the idea.

Comments