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.

Files changed (31) hide show
  1. linkml_store/api/client.py +37 -8
  2. linkml_store/api/collection.py +81 -9
  3. linkml_store/api/config.py +28 -1
  4. linkml_store/api/database.py +26 -3
  5. linkml_store/api/stores/mongodb/mongodb_collection.py +4 -0
  6. linkml_store/api/stores/neo4j/__init__.py +0 -0
  7. linkml_store/api/stores/neo4j/neo4j_collection.py +429 -0
  8. linkml_store/api/stores/neo4j/neo4j_database.py +154 -0
  9. linkml_store/cli.py +140 -13
  10. linkml_store/graphs/__init__.py +0 -0
  11. linkml_store/graphs/graph_map.py +24 -0
  12. linkml_store/inference/__init__.py +13 -0
  13. linkml_store/inference/implementations/__init__.py +0 -0
  14. linkml_store/inference/implementations/rag_inference_engine.py +145 -0
  15. linkml_store/inference/implementations/rule_based_inference_engine.py +158 -0
  16. linkml_store/inference/implementations/sklearn_inference_engine.py +290 -0
  17. linkml_store/inference/inference_config.py +62 -0
  18. linkml_store/inference/inference_engine.py +173 -0
  19. linkml_store/inference/inference_engine_registry.py +74 -0
  20. linkml_store/utils/format_utils.py +21 -90
  21. linkml_store/utils/llm_utils.py +95 -0
  22. linkml_store/utils/neo4j_utils.py +42 -0
  23. linkml_store/utils/object_utils.py +3 -1
  24. linkml_store/utils/pandas_utils.py +55 -2
  25. linkml_store/utils/sklearn_utils.py +193 -0
  26. linkml_store/utils/stats_utils.py +53 -0
  27. {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/METADATA +30 -3
  28. {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/RECORD +31 -14
  29. {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/LICENSE +0 -0
  30. {linkml_store-0.1.12.dist-info → linkml_store-0.1.14.dist-info}/WHEEL +0 -0
  31. {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.12
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,<0.11.0)
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=8hfO7loCxGbqcmbKXqheRRh5AUbhHvFJxk1WDiYIYik,10890
4
- linkml_store/api/collection.py,sha256=cbi2kj_DhIxz32SH-vjiZduXb9oUE2YTVGxAUmxvyTA,35097
5
- linkml_store/api/config.py,sha256=u8bl5qqTtp_woLkkiE9f2f6AUr3OD4xZt4aJTE_j93Q,4798
6
- linkml_store/api/database.py,sha256=BvaK1lybtClRYvoXILnBVYJzdhhpyNmtuU0Got5BBoI,28213
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=W-j1tkk8h1-zzjIRe-IYAnAOwlFSwr4fnDtgiu7RsVI,6695
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=_oDbqElZIWKHJ6ruJyu57rbg2IYUr7U-0AqDlKz6jug,21126
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=aBS0uUhvdgPEXzw72iGfSezmHZFnqHtPuFUbVR4cfbA,13174
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/object_utils.py,sha256=is6T2gruvVKvWD5ZntcAl6Qi3L154FObEho_b_crTuE,2539
44
- linkml_store/utils/pandas_utils.py,sha256=INL8aZ5v2OeLg-Uzfa8P1cpnMMKA1DumiTB0q175tw8,1389
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.12.dist-info/LICENSE,sha256=77mDOslUnalYnuq9xQYZKtIoNEzcH9mIjvWHOKjamnE,1086
58
- linkml_store-0.1.12.dist-info/METADATA,sha256=4bQ68MKFKwRcoYs6tMLq7Pn_E1IHZtorMeLSVxJBHV8,5471
59
- linkml_store-0.1.12.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
60
- linkml_store-0.1.12.dist-info/entry_points.txt,sha256=gWxVsHqx-t-UKWFHFzawQTvs4is4vC1rCF5AeKyqWWk,101
61
- linkml_store-0.1.12.dist-info/RECORD,,
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,,