linkml-store 0.1.12__py3-none-any.whl → 0.1.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of linkml-store might be problematic. Click here for more details.
- linkml_store/api/client.py +37 -8
- linkml_store/api/collection.py +81 -9
- linkml_store/api/config.py +28 -1
- linkml_store/api/database.py +26 -3
- linkml_store/api/stores/mongodb/mongodb_collection.py +4 -0
- linkml_store/api/stores/neo4j/__init__.py +0 -0
- linkml_store/api/stores/neo4j/neo4j_collection.py +429 -0
- linkml_store/api/stores/neo4j/neo4j_database.py +154 -0
- linkml_store/cli.py +140 -13
- linkml_store/graphs/__init__.py +0 -0
- linkml_store/graphs/graph_map.py +24 -0
- linkml_store/inference/__init__.py +13 -0
- linkml_store/inference/implementations/__init__.py +0 -0
- linkml_store/inference/implementations/rag_inference_engine.py +145 -0
- linkml_store/inference/implementations/rule_based_inference_engine.py +158 -0
- linkml_store/inference/implementations/sklearn_inference_engine.py +290 -0
- linkml_store/inference/inference_config.py +62 -0
- linkml_store/inference/inference_engine.py +173 -0
- linkml_store/inference/inference_engine_registry.py +74 -0
- linkml_store/utils/format_utils.py +21 -90
- linkml_store/utils/llm_utils.py +95 -0
- linkml_store/utils/neo4j_utils.py +42 -0
- linkml_store/utils/object_utils.py +3 -1
- linkml_store/utils/pandas_utils.py +55 -2
- linkml_store/utils/sklearn_utils.py +193 -0
- linkml_store/utils/stats_utils.py +53 -0
- {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/METADATA +30 -3
- {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/RECORD +31 -14
- {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/LICENSE +0 -0
- {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/WHEEL +0 -0
- {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: linkml-store
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.14
|
|
4
4
|
Summary: linkml-store
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Author 1
|
|
@@ -21,14 +21,16 @@ Provides-Extra: h5py
|
|
|
21
21
|
Provides-Extra: llm
|
|
22
22
|
Provides-Extra: map
|
|
23
23
|
Provides-Extra: mongodb
|
|
24
|
+
Provides-Extra: neo4j
|
|
24
25
|
Provides-Extra: pyarrow
|
|
25
26
|
Provides-Extra: renderer
|
|
27
|
+
Provides-Extra: scipy
|
|
26
28
|
Provides-Extra: tests
|
|
27
29
|
Provides-Extra: validation
|
|
28
30
|
Requires-Dist: black (>=24.0.0) ; extra == "tests"
|
|
29
31
|
Requires-Dist: chromadb ; extra == "chromadb"
|
|
30
32
|
Requires-Dist: click
|
|
31
|
-
Requires-Dist: duckdb (>=0.10.1
|
|
33
|
+
Requires-Dist: duckdb (>=0.10.1)
|
|
32
34
|
Requires-Dist: duckdb-engine (>=0.11.2)
|
|
33
35
|
Requires-Dist: fastapi ; extra == "fastapi"
|
|
34
36
|
Requires-Dist: frictionless ; extra == "frictionless"
|
|
@@ -41,15 +43,21 @@ Requires-Dist: linkml_map ; extra == "map"
|
|
|
41
43
|
Requires-Dist: linkml_renderer ; extra == "renderer"
|
|
42
44
|
Requires-Dist: llm ; extra == "llm"
|
|
43
45
|
Requires-Dist: matplotlib ; extra == "analytics"
|
|
46
|
+
Requires-Dist: neo4j ; extra == "neo4j"
|
|
47
|
+
Requires-Dist: networkx ; extra == "neo4j"
|
|
44
48
|
Requires-Dist: pandas (>=2.2.1) ; extra == "analytics"
|
|
45
49
|
Requires-Dist: plotly ; extra == "analytics"
|
|
50
|
+
Requires-Dist: py2neo ; extra == "neo4j"
|
|
46
51
|
Requires-Dist: pyarrow ; extra == "pyarrow"
|
|
47
52
|
Requires-Dist: pydantic (>=2.0.0,<3.0.0)
|
|
48
53
|
Requires-Dist: pymongo ; extra == "mongodb"
|
|
49
54
|
Requires-Dist: pystow (>=0.5.4,<0.6.0)
|
|
55
|
+
Requires-Dist: scikit-learn ; extra == "scipy"
|
|
56
|
+
Requires-Dist: scipy ; extra == "scipy"
|
|
50
57
|
Requires-Dist: seaborn ; extra == "analytics"
|
|
51
58
|
Requires-Dist: sqlalchemy
|
|
52
59
|
Requires-Dist: streamlit (>=1.32.2,<2.0.0) ; extra == "app"
|
|
60
|
+
Requires-Dist: tiktoken ; extra == "llm"
|
|
53
61
|
Requires-Dist: uvicorn ; extra == "fastapi"
|
|
54
62
|
Description-Content-Type: text/markdown
|
|
55
63
|
|
|
@@ -57,7 +65,7 @@ Description-Content-Type: text/markdown
|
|
|
57
65
|
|
|
58
66
|
An AI-ready data management and integration platform. LinkML-Store
|
|
59
67
|
provides an abstraction layer over multiple different backends
|
|
60
|
-
(including DuckDB, MongoDB, and local filesystems), allowing for
|
|
68
|
+
(including DuckDB, MongoDB, Neo4j, and local filesystems), allowing for
|
|
61
69
|
common query, index, and storage operations.
|
|
62
70
|
|
|
63
71
|
For full documentation, see [https://linkml.io/linkml-store/](https://linkml.io/linkml-store/)
|
|
@@ -95,6 +103,23 @@ linkml-store -d duckdb:///db/my.db -c persons validate
|
|
|
95
103
|
* API
|
|
96
104
|
* Streamlit applications
|
|
97
105
|
|
|
106
|
+
## The CRUDSI pattern
|
|
107
|
+
|
|
108
|
+
Most database APIs implement the **CRUD** pattern: Create, Read, Update, Delete.
|
|
109
|
+
LinkML-Store adds **Search** and **Inference** to this pattern, making it **CRUDSI**.
|
|
110
|
+
|
|
111
|
+
The notion of "Search" and "Inference" is intended to be flexible and extensible,
|
|
112
|
+
including:
|
|
113
|
+
|
|
114
|
+
* Search
|
|
115
|
+
* Traditional keyword search
|
|
116
|
+
* Search using LLM Vector embeddings (*without* a dedicated vector database)
|
|
117
|
+
* Pluggable specialized search, e.g. genomic sequence (not yet implemented)
|
|
118
|
+
* Inference (encompassing *validation*, *repair*, and inference of missing data)
|
|
119
|
+
* Classic rule-based inference
|
|
120
|
+
* Inference using LLM Retrieval Augmented Generation (RAG)
|
|
121
|
+
* Statistical/ML inference
|
|
122
|
+
|
|
98
123
|
## Features
|
|
99
124
|
|
|
100
125
|
### Multiple Adapters
|
|
@@ -104,6 +129,8 @@ LinkML-Store is designed to work with multiple backends, giving a common abstrac
|
|
|
104
129
|
* [MongoDB](https://linkml.io/linkml-store/how-to/Use-MongoDB.html)
|
|
105
130
|
* [DuckDB](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
|
|
106
131
|
* [Solr](https://linkml.io/linkml-store/how-to/Query-Solr-using-CLI.html)
|
|
132
|
+
* [Neo4j](https://linkml.io/linkml-store/how-to/Use-Neo4j.html)
|
|
133
|
+
|
|
107
134
|
* Filesystem
|
|
108
135
|
|
|
109
136
|
Coming soon: any RDBMS, any triplestore, Neo4J, HDF5-based stores, ChromaDB/Vector dbs ...
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
linkml_store/__init__.py,sha256=jlU6WOUAn8cKIhzbTULmBTWpW9gZdEt7q_RI6KZN1bY,118
|
|
2
2
|
linkml_store/api/__init__.py,sha256=3CelcFEFz0y3MkQAzhQ9JxHIt1zFk6nYZxSmYTo8YZE,226
|
|
3
|
-
linkml_store/api/client.py,sha256=
|
|
4
|
-
linkml_store/api/collection.py,sha256=
|
|
5
|
-
linkml_store/api/config.py,sha256=
|
|
6
|
-
linkml_store/api/database.py,sha256=
|
|
3
|
+
linkml_store/api/client.py,sha256=3klBXenQVbLjNQF3WmYfjASt3zvKOfWaCNp5aJM81Ec,12034
|
|
4
|
+
linkml_store/api/collection.py,sha256=7JndC6A9r3OVbR9aB6d_bdaYN53XU4FpppUterygOaE,37800
|
|
5
|
+
linkml_store/api/config.py,sha256=71pxQ5jM-ETxJWU7CzmKjsH6IEJUMP5sml381u9TYVk,5654
|
|
6
|
+
linkml_store/api/database.py,sha256=QVvUuLQPCxB4cvsS7rXqPSfoHkhcMzP9vUcsjkuEYds,29051
|
|
7
7
|
linkml_store/api/queries.py,sha256=w0qnNeCH6pC9WTGoEQYd300MF6o0G3atz2YxN3WecAs,2028
|
|
8
8
|
linkml_store/api/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
linkml_store/api/stores/chromadb/__init__.py,sha256=e9BkOPuPnVQKA5PRKDulag59yGNHDP3U2_DnPSrFAKM,132
|
|
@@ -20,32 +20,49 @@ linkml_store/api/stores/hdf5/__init__.py,sha256=l4cIh3v7P0nPbwGIsfuCMD_serQ8q8c7
|
|
|
20
20
|
linkml_store/api/stores/hdf5/hdf5_collection.py,sha256=mnpLMYehn3PuaIjp2dXrIWu8jh-bdQ84X2Ku83jMdEY,3805
|
|
21
21
|
linkml_store/api/stores/hdf5/hdf5_database.py,sha256=EZbjrpaqiNDEFvoD5dZNcGBXA8z6HRNL81emueTZWNw,2714
|
|
22
22
|
linkml_store/api/stores/mongodb/__init__.py,sha256=OSFCr7RQlDEe-O-Y0P_i912oAMK-L3pC7Cnj7sxlwAk,510
|
|
23
|
-
linkml_store/api/stores/mongodb/mongodb_collection.py,sha256=
|
|
23
|
+
linkml_store/api/stores/mongodb/mongodb_collection.py,sha256=unN0v7RYlGIiJxEhbNRxZ86TVQ4ELlAsNWTwEbg7E_g,6831
|
|
24
24
|
linkml_store/api/stores/mongodb/mongodb_database.py,sha256=Y9MIV0KSRGCyopz8vGEivhSuvF0vZLCDJd29cdqMIX8,3857
|
|
25
|
+
linkml_store/api/stores/neo4j/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
linkml_store/api/stores/neo4j/neo4j_collection.py,sha256=a-Az5_ypdBMgeNyhrTW7q-ik-vYPCDDONIK7N_CDA9c,17449
|
|
27
|
+
linkml_store/api/stores/neo4j/neo4j_database.py,sha256=zanP_uBZO3AH0wuzbu6auK4zcZon_lMreC2vooSZwt8,5571
|
|
25
28
|
linkml_store/api/stores/solr/__init__.py,sha256=aAfnaN9mZOiIDj1NYz0Ll9fZF2gG7UU_vhP4SNCL2d8,36
|
|
26
29
|
linkml_store/api/stores/solr/solr_collection.py,sha256=ZlxC3JbVaHfSA4HuTeJTsp6qe48tHS6Fgel5jsqXcsM,4727
|
|
27
30
|
linkml_store/api/stores/solr/solr_database.py,sha256=TFjqbY7jAkdrhAchbNg0E-mChSP7ogNwFExslbvX7Yo,2877
|
|
28
31
|
linkml_store/api/stores/solr/solr_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
32
|
linkml_store/api/types.py,sha256=3aIQtDFMvsSmjuN5qrR2vNK5sHa6yzD_rEOPA6tHwvg,176
|
|
30
|
-
linkml_store/cli.py,sha256=
|
|
33
|
+
linkml_store/cli.py,sha256=6JN5kqAIQeatKQndrQlHxMj-7hClRuaDNnR_fIx-9l4,26529
|
|
31
34
|
linkml_store/constants.py,sha256=x4ZmDsfE9rZcL5WpA93uTKrRWzCD6GodYXviVzIvR38,112
|
|
35
|
+
linkml_store/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
+
linkml_store/graphs/graph_map.py,sha256=bYRxv8n1YPnFqE9d6JKNmRawb8EAhsPlHhBue0gvtZE,712
|
|
32
37
|
linkml_store/index/__init__.py,sha256=6SQzDe-WZSSqbGNsbCDfyPTyz0s9ISDKw1dm9xgQuT4,1396
|
|
33
38
|
linkml_store/index/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
39
|
linkml_store/index/implementations/llm_indexer.py,sha256=LI5f8SLF_rJY5W6wZPLaUqpyoq-VDW_KqlCBNDNm_po,4827
|
|
35
40
|
linkml_store/index/implementations/simple_indexer.py,sha256=KnkFJtXTHnwjhD_D6ZK2rFhBID1dgCedcOVPEWAY2NU,1282
|
|
36
41
|
linkml_store/index/indexer.py,sha256=K-TDPzdTyGFo6iG4XI_A_3IpwDbKeiTIbdr85NIL5r8,4918
|
|
42
|
+
linkml_store/inference/__init__.py,sha256=b8NAFNZjOYU_8gOvxdyCyoiHOOl5Ai2ckKs1tv7ZkkY,342
|
|
43
|
+
linkml_store/inference/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
linkml_store/inference/implementations/rag_inference_engine.py,sha256=TG6nPy2QowycZRPKGwzBF80Wq6Qb7wyrA1gG_h47gYw,5812
|
|
45
|
+
linkml_store/inference/implementations/rule_based_inference_engine.py,sha256=bncdfRdqjj37DIUQLCzxTJNMwEHPWsWXiom4iN6m_q8,5774
|
|
46
|
+
linkml_store/inference/implementations/sklearn_inference_engine.py,sha256=UsvtwS76lSyf3_7O1cLNxoBqkPIRwCqJcdiOFKy7lw4,12672
|
|
47
|
+
linkml_store/inference/inference_config.py,sha256=xgl3VmueErLIOnQQn4HdC2STJNY6yKoPasWmym4ltHQ,2014
|
|
48
|
+
linkml_store/inference/inference_engine.py,sha256=-X8UFZwEYfavM-cfkEb-77JptWmNQUHBnxAuKdjUi7o,5513
|
|
49
|
+
linkml_store/inference/inference_engine_registry.py,sha256=6o66gvBYBwdeAKm62zqqvfaBlcopVP_cla3L6uXGsHA,3015
|
|
37
50
|
linkml_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
51
|
linkml_store/utils/change_utils.py,sha256=O2rvSvgTKB60reLLz9mX5OWykAA_m93bwnUh5ZWa0EY,471
|
|
39
52
|
linkml_store/utils/file_utils.py,sha256=rQ7-XpmI6_Kx_dhEnI98muFRr0MmgI_kZ_9cgJBf_0I,1411
|
|
40
|
-
linkml_store/utils/format_utils.py,sha256=
|
|
53
|
+
linkml_store/utils/format_utils.py,sha256=JA7E-XYgkIGTXBSyTKSRrN7ZHeXOJ8-wpSjRTCAAAso,10680
|
|
41
54
|
linkml_store/utils/io.py,sha256=JHUrWDtlZC2jtN_PQZ4ypdGIyYlftZEN3JaCvEPs44w,884
|
|
55
|
+
linkml_store/utils/llm_utils.py,sha256=ItszPvHuQ6joU6vf30jGYfut5q9vrma3eYHighr1wOs,2840
|
|
42
56
|
linkml_store/utils/mongodb_utils.py,sha256=Rl1YmMKs1IXwSsJIViSDChbi0Oer5cBnMmjka2TeQS8,4665
|
|
43
|
-
linkml_store/utils/
|
|
44
|
-
linkml_store/utils/
|
|
57
|
+
linkml_store/utils/neo4j_utils.py,sha256=y3KPmDZ8mQmePgg0lUeKkeKqzEr2rV226xxEtHc5pRg,1266
|
|
58
|
+
linkml_store/utils/object_utils.py,sha256=dAF9WmtWwAXdAnTN-UwbiCbBJt3Wdcsp8Z4lz8lVscY,2642
|
|
59
|
+
linkml_store/utils/pandas_utils.py,sha256=djiFPO3YbgRVo2XAZuKCtgH8QVLuUyPIsfS8e-0umsU,3182
|
|
45
60
|
linkml_store/utils/patch_utils.py,sha256=q-h_v68okyruzdPTEHCe0WubbQHKpi1qy5bJ9vFWDo8,4823
|
|
46
61
|
linkml_store/utils/query_utils.py,sha256=HWt46BsGWoIGiNBTtvpXGY6onPRWsQky6eu_9cYqbvo,3440
|
|
47
62
|
linkml_store/utils/schema_utils.py,sha256=iJiZxo5NGr7v87h4DV6V9DrDOZHSswMRuf0N4V2rVtg,646
|
|
63
|
+
linkml_store/utils/sklearn_utils.py,sha256=itPpcrsbbyOazdjmivaaZ1lyZeytm0a0hJ2AS8ziUgg,7590
|
|
48
64
|
linkml_store/utils/sql_utils.py,sha256=T41w_vsc3SauTJQkDMwid_nOtKW1YOKyUuaxEf470hk,5938
|
|
65
|
+
linkml_store/utils/stats_utils.py,sha256=4KqBb1bqDgAmq-1fJLLu5B2paPgoZZc3A-gnyVam4bI,1799
|
|
49
66
|
linkml_store/webapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
67
|
linkml_store/webapi/html/__init__.py,sha256=hwp5eeBJKH65Bvv1x9Z4vsT1tLSYtb9Dq4I9r1kL1q0,69
|
|
51
68
|
linkml_store/webapi/html/base.html.j2,sha256=hoiV2uaSxxrQp7VuAZBOHueH7czyJMYcPBRN6dZFYhk,693
|
|
@@ -54,8 +71,8 @@ linkml_store/webapi/html/database_details.html.j2,sha256=qtXdavbZb0mohiObI9dvJtk
|
|
|
54
71
|
linkml_store/webapi/html/databases.html.j2,sha256=a9BCWQYfPeFhdUd31CWhB0yWhTIFXQayO08JgjyqKoc,294
|
|
55
72
|
linkml_store/webapi/html/generic.html.j2,sha256=KtLaO2HUEF2Opq-OwHKgRKetNWe8IWc6JuIkxRPsywk,1018
|
|
56
73
|
linkml_store/webapi/main.py,sha256=B0Da575kKR7X88N9ykm99Dem8FyBAW9f-w3A_JwUzfw,29165
|
|
57
|
-
linkml_store-0.1.
|
|
58
|
-
linkml_store-0.1.
|
|
59
|
-
linkml_store-0.1.
|
|
60
|
-
linkml_store-0.1.
|
|
61
|
-
linkml_store-0.1.
|
|
74
|
+
linkml_store-0.1.14.dist-info/LICENSE,sha256=77mDOslUnalYnuq9xQYZKtIoNEzcH9mIjvWHOKjamnE,1086
|
|
75
|
+
linkml_store-0.1.14.dist-info/METADATA,sha256=T5BZ87qj1w2xyCkQErRa4ErFwvDKNMfahOGWYRkPQmg,6525
|
|
76
|
+
linkml_store-0.1.14.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
77
|
+
linkml_store-0.1.14.dist-info/entry_points.txt,sha256=gWxVsHqx-t-UKWFHFzawQTvs4is4vC1rCF5AeKyqWWk,101
|
|
78
|
+
linkml_store-0.1.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|