A-Ready數據管理和集成平台。 LinkML商店在多個不同的後端(包括DuckDB,MongoDB,Neo4J和本地文件系統)提供了一個抽象層,允許進行常見的查詢,索引和存儲操作。
有關完整文檔,請參見https://linkml.io/linkml-store/
請參閱這些幻燈片以獲取高級概述。
警告LinkMl商店仍在進行更改和重構,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商店將搜索和推斷添加到此模式中,使其成為crudsi 。
“搜索”和“推論”的概念旨在靈活和擴展,包括:
LinkML商店旨在與多個後端一起使用,提供了一個常見的抽象層
mongodb
DuckdB
索爾
neo4j
文件系統
即將推出:任何RDBMS,任何三重三級,Neo4J,基於HDF5的商店,Chromadb/vector DBS ...
目的是將每個後端的所有特徵結合在一起。例如,為所有後端提供了分析性的查詢,而不僅僅是Solr。
許多後端都帶有自己的索引和搜索方案。從經典上講,這是基於Lucene的索引,現在是使用LLM嵌入的語義搜索。
linkMl商店將索引視為正交問題 - 您可以組成不同後端的不同索引方案。您無需擁有矢量數據庫即可運行嵌入搜索!
查看如何使用語義搜索
托多 - 文檔
LinkMl商店得到了LinkML的支持,LinkML允許具有強大的表達性結構和語義約束。
請參閱索引JSON
和參考完整性
在使用FastAPI實施的Hateoas原則之後,有一個初步的API。
要開始,您應該首先創建一個配置文件,例如db/conf.yaml :
然後運行:
export LINKML_STORE_CONFIG=./db/conf.yaml
make api
API返回鏈接以及數據對象,建議使用Chrome插件進行JSON查看以探索API。托多:在這裡添加文檔。
主要終點是:
http://localhost:8000/ - API的根http://localhost:8000/pages/ - 通過html瀏覽APIhttp://localhost:8000/docs -Swagger UI make app
請參閱這些幻燈片以獲取更多細節