AI対応のデータ管理と統合プラットフォーム。 LinkML-Storeは、複数の異なるバックエンド(DuckDB、MongoDB、Neo4J、およびローカルファイルシステムを含む)に抽象化層を提供し、共通のクエリ、インデックス、およびストレージ操作を可能にします。
完全なドキュメントについては、https://linkml.io/linkml-store/を参照してください。
高レベルの概要については、これらのスライドを参照してください。
警告Linkml-Storeはまだ変更を受けており、リファクタリング、API、コマンドラインのオプションは変更される可能性があります!
インストール、データの追加、クエリ:
pip install linkml-store[all]
linkml-store -d duckdb:///db/my.db -c persons insert data/*.json
linkml-store -d duckdb:///db/my.db -c persons query -w "occupation: Bricklayer"
それをインデックスして、検索してください:
linkml-store -d duckdb:///db/my.db -c persons index -t llm
linkml-store -d duckdb:///db/my.db -c persons search "all persons employed in construction"
それを検証する:
linkml-store -d duckdb:///db/my.db -c persons validate
ほとんどのデータベースAPIは、 CRUDパターンを実装します:作成、読み取り、更新、削除。 Linkml-Storeは、このパターンに検索と推論を追加し、 Crudsiにします。
「検索」と「推論」の概念は、以下を含む柔軟で拡張可能であることを目的としています。
Linkml-Storeは、複数のバックエンドで動作するように設計されており、共通の抽象化レイヤーを提供します
mongodb
duckdb
solr
neo4j
ファイルシステム
近日公開:RDBMS、Triplestore、Neo4J、HDF5ベースのストア、Chromadb/Vector DBS ...
意図は、各バックエンドのすべての機能を組み合わせることです。たとえば、solrだけでなく、すべてのバックエンドに対して分析ファセットクエリが提供されます。
多くのバックエンドには、独自のインデックス作成と検索スキームが付属しています。古典的には、これはLuceneベースのインデックスであり、現在ではLLMエンミングを使用したセマンティック検索になりました。
Linkmlストアは、インデックスを直交の懸念として扱います - さまざまなバックエンドで異なるインデックス作成スキームを作成できます。埋め込み検索を実行するためにベクトルデータベースを使用する必要はありません!
使用方法セマンティックサーチをご覧ください
TODO-ドキュメント
Linkml-StoreはLinkMLに裏付けられており、これにより、強力な表現構造および意味的制約が可能になります。
JSONのインデックス付けを参照してください
および参照完全性
FastAPIを使用して実装されたHateoasの原則に従って、予備的なAPIがあります。
開始するには、最初に構成ファイルを作成する必要があります。たとえば、 db/conf.yaml :
その後、実行:
export LINKML_STORE_CONFIG=./db/conf.yaml
make api
APIはリンクとデータオブジェクトを返します。APIを探索するためにJSON表示にChromeプラグインを使用することをお勧めします。 TODO:ここにドキュメントを追加します。
主なエンドポイントは次のとおりです。
http://localhost:8000/ - APIのルートhttp://localhost:8000/pages/ - html経由でAPIを閲覧しますhttp://localhost:8000/docsスワッガーUI make app
詳細については、これらのスライドを参照してください