Skip to content

Commit df82a5c

Browse files
authored
Merge pull request #24 from linkml/inference
Add inference engine framework
2 parents ad4f669 + d7b8f49 commit df82a5c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+5435
-1081
lines changed

.github/workflows/qc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ jobs:
4040
mongodb-version: ${{ matrix.mongodb-version }}
4141

4242
- name: Test with pytest and generate coverage file
43-
run: poetry run pytest
43+
run: poetry run pytest -m "not integration and not neo4j" --ignore=src/linkml_store/inference/implementations/rag_inference_engine.py

Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,24 @@ CODE = src/linkml_data_browser
33

44

55
test: pytest doctest
6-
test-full: test integration-tests
6+
test-core: pytest-core doctest
7+
test-full: pytest-full doctest
78

89
install:
9-
#poetry install --extras "mongodb llm validation app"
1010
poetry install --no-interaction --all-extras
1111

1212
pytest:
13+
$(RUN) pytest -m "not integration"
14+
15+
pytest-neo4j:
16+
$(RUN) pytest -k only_neo4j
17+
18+
pytest-core:
1319
$(RUN) pytest
1420

21+
pytest-full:
22+
$(RUN) pytest -m ""
23+
1524
integration-tests:
1625
$(RUN) pytest -m integration
1726

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
An AI-ready data management and integration platform. LinkML-Store
44
provides an abstraction layer over multiple different backends
5-
(including DuckDB, MongoDB, and local filesystems), allowing for
5+
(including DuckDB, MongoDB, Neo4j, and local filesystems), allowing for
66
common query, index, and storage operations.
77

88
For full documentation, see [https://linkml.io/linkml-store/](https://linkml.io/linkml-store/)
@@ -40,6 +40,23 @@ linkml-store -d duckdb:///db/my.db -c persons validate
4040
* API
4141
* Streamlit applications
4242

43+
## The CRUDSI pattern
44+
45+
Most database APIs implement the **CRUD** pattern: Create, Read, Update, Delete.
46+
LinkML-Store adds **Search** and **Inference** to this pattern, making it **CRUDSI**.
47+
48+
The notion of "Search" and "Inference" is intended to be flexible and extensible,
49+
including:
50+
51+
* Search
52+
* Traditional keyword search
53+
* Search using LLM Vector embeddings (*without* a dedicated vector database)
54+
* Pluggable specialized search, e.g. genomic sequence (not yet implemented)
55+
* Inference (encompassing *validation*, *repair*, and inference of missing data)
56+
* Classic rule-based inference
57+
* Inference using LLM Retrieval Augmented Generation (RAG)
58+
* Statistical/ML inference
59+
4360
## Features
4461

4562
### Multiple Adapters
@@ -49,6 +66,8 @@ LinkML-Store is designed to work with multiple backends, giving a common abstrac
4966
* [MongoDB](https://linkml.io/linkml-store/how-to/Use-MongoDB.html)
5067
* [DuckDB](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
5168
* [Solr](https://linkml.io/linkml-store/how-to/Query-Solr-using-CLI.html)
69+
* [Neo4j](https://linkml.io/linkml-store/how-to/Use-Neo4j.html)
70+
5271
* Filesystem
5372

5473
Coming soon: any RDBMS, any triplestore, Neo4J, HDF5-based stores, ChromaDB/Vector dbs ...

docs/how-to/Index-Phenopackets.ipynb

Lines changed: 420 additions & 99 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)