Uma plataforma de gerenciamento de dados e gerenciamento de dados AI. O LinkML-Store fornece uma camada de abstração em vários backnds diferentes (incluindo DuckDB, MongoDB, NEO4J e Sistemas de arquivos locais), permitindo operações de consulta, índice e armazenamento comuns.
Para documentação completa, consulte https://linkml.io/linkml-store/
Veja esses slides para uma visão geral de alto nível.
Aviso O LinkML-Store ainda está passando por alterações e a refatoração, as opções e as opções de linha de comando estão sujeitas a alterações!
Instale, adicione dados, consulte -o:
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"
Indexá -lo, pesquise:
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"
Validar -o:
linkml-store -d duckdb:///db/my.db -c persons validate
A maioria das APIs de banco de dados implementa o padrão CRUD : crie, leia, atualize, exclua. O LinkML-Store adiciona pesquisa e inferência a esse padrão, tornando-o crudsi .
A noção de "pesquisa" e "inferência" deve ser flexível e extensível, incluindo:
O LinkML-Store foi projetado para funcionar com vários back-end, dando uma camada de abstração comum
MongoDB
Duckdb
Solr
Neo4j
FileSystem
Em breve: qualquer RDBMS, qualquer TripleStore, Neo4J, lojas baseadas em HDF5, Chromadb/Vector DBS ...
A intenção é fornecer uma união de todas as características de cada back -end. Por exemplo, são fornecidas consultas facetadas analíticas para todos os back -end, não apenas Solr.
Muitos backnds vêm com seus próprios esquemas de indexação e pesquisa. Classicamente, esses eram índices baseados em Lucene, agora é uma pesquisa semântica usando incorporação de LLM.
O Linkml Store trata a indexação como uma preocupação ortogonal - você pode compor diferentes esquemas de indexação com diferentes backndes. Você não precisa ter um banco de dados vetorial para executar a pesquisa de incorporação!
Veja como usar a pesquisa-semântica
TODO - DOCs
O LinkML-Store é apoiado pelo LinkML, que permite poderosos restrições estruturais e semânticas expressivas.
Veja Indexação JSON
e integridade referencial
Há uma API preliminar seguindo os princípios do HateOAS implementados usando o FASTAPI.
Para começar, você deve primeiro criar um arquivo de configuração, por exemplo, db/conf.yaml :
Em seguida, corra:
export LINKML_STORE_CONFIG=./db/conf.yaml
make api
A API retorna links e objetos de dados, é recomendável usar um plug -in Chrome para visualização JSON para explorar a API. TODO: Adicione documentos aqui.
Os principais pontos de extremidade são:
http://localhost:8000/ - a raiz da APIhttp://localhost:8000/pages/ - Navegue pela API via htmlhttp://localhost:8000/docs - The Swagger Ui make app
Veja esses slides para mais detalhes