maplib 0.19.9__tar.gz → 0.19.10__tar.gz

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.
Files changed (245) hide show
  1. {maplib-0.19.9 → maplib-0.19.10}/Cargo.lock +12 -4
  2. {maplib-0.19.9 → maplib-0.19.10}/Cargo.toml +2 -0
  3. {maplib-0.19.9 → maplib-0.19.10}/PKG-INFO +1 -1
  4. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model/expansion.rs +9 -3
  5. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model.rs +33 -0
  6. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/base_rdf_type.rs +8 -2
  7. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/decode.rs +1 -1
  8. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/image.rs +8 -4
  9. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/re_encode.rs +4 -1
  10. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/constants.rs +4 -1
  11. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/prefixes.rs +5 -1
  12. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/rdf_to_polars.rs +7 -3
  13. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/Cargo.toml +2 -0
  14. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/errors.rs +4 -0
  15. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/lib.rs +1 -0
  16. maplib-0.19.10/lib/triplestore/src/map_json.rs +388 -0
  17. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/insert.rs +3 -3
  18. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/storage.rs +15 -9
  19. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/triples_write/pretty_turtle.rs +20 -9
  20. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/triples_write/serializers.rs +1 -1
  21. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/triples_write.rs +5 -2
  22. {maplib-0.19.9 → maplib-0.19.10}/maplib/__init__.pyi +23 -0
  23. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/Cargo.toml +1 -1
  24. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/__init__.pyi +23 -0
  25. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/src/lib.rs +43 -12
  26. maplib-0.19.10/py_maplib/tests/test_json.py +152 -0
  27. maplib-0.19.10/py_maplib/tests/testdata/jsons/1.json +22 -0
  28. maplib-0.19.10/py_maplib/tests/testdata/jsons/2.json +27 -0
  29. maplib-0.19.10/py_maplib/tests/testdata/jsons/3.json +89 -0
  30. {maplib-0.19.9 → maplib-0.19.10}/LICENSE +0 -0
  31. {maplib-0.19.9 → maplib-0.19.10}/README.md +0 -0
  32. {maplib-0.19.9 → maplib-0.19.10}/lib/cimxml/Cargo.toml +0 -0
  33. {maplib-0.19.9 → maplib-0.19.10}/lib/cimxml/src/export.rs +0 -0
  34. {maplib-0.19.9 → maplib-0.19.10}/lib/cimxml/src/lib.rs +0 -0
  35. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/Cargo.toml +0 -0
  36. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/src/ast.rs +0 -0
  37. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/src/inference.rs +0 -0
  38. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/src/lib.rs +0 -0
  39. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/src/parser.rs +0 -0
  40. {maplib-0.19.9 → maplib-0.19.10}/lib/datalog/src/python.rs +0 -0
  41. {maplib-0.19.9 → maplib-0.19.10}/lib/file_io/Cargo.toml +0 -0
  42. {maplib-0.19.9 → maplib-0.19.10}/lib/file_io/src/lib.rs +0 -0
  43. {maplib-0.19.9 → maplib-0.19.10}/lib/fts/Cargo.toml +0 -0
  44. {maplib-0.19.9 → maplib-0.19.10}/lib/fts/src/lib.rs +0 -0
  45. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/Cargo.toml +0 -0
  46. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/errors.rs +0 -0
  47. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/lib.rs +0 -0
  48. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model/constant_terms.rs +0 -0
  49. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model/default.rs +0 -0
  50. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model/errors.rs +0 -0
  51. {maplib-0.19.9 → maplib-0.19.10}/lib/maplib/src/model/expansion/validation.rs +0 -0
  52. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/Cargo.toml +0 -0
  53. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/LICENSE +0 -0
  54. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/README.md +0 -0
  55. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/licensing/POLARS_LICENSE +0 -0
  56. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/src/lib.rs +0 -0
  57. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/src/to_python.rs +0 -0
  58. {maplib-0.19.9 → maplib-0.19.10}/lib/pydf_io/src/to_rust.rs +0 -0
  59. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/Cargo.toml +0 -0
  60. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/LICENSE +0 -0
  61. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/README.md +0 -0
  62. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/aggregates.rs +0 -0
  63. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/cats.rs +0 -0
  64. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/constants.rs +0 -0
  65. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/errors.rs +0 -0
  66. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/exists_helper.rs +0 -0
  67. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/expressions/comparisons.rs +0 -0
  68. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/expressions/functions.rs +0 -0
  69. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/expressions/operations.rs +0 -0
  70. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/expressions.rs +0 -0
  71. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/find_query_variables.rs +0 -0
  72. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/cats.rs +0 -0
  73. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/group.rs +0 -0
  74. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/join.rs +0 -0
  75. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/order.rs +0 -0
  76. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/union.rs +0 -0
  77. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns/values.rs +0 -0
  78. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/graph_patterns.rs +0 -0
  79. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/lib.rs +0 -0
  80. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/pushdowns.rs +0 -0
  81. {maplib-0.19.9 → maplib-0.19.10}/lib/query_processing/src/type_constraints.rs +0 -0
  82. {maplib-0.19.9 → maplib-0.19.10}/lib/report_mapping/Cargo.toml +0 -0
  83. {maplib-0.19.9 → maplib-0.19.10}/lib/report_mapping/src/lib.rs +0 -0
  84. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/Cargo.toml +0 -0
  85. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/LICENSE +0 -0
  86. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/README.md +0 -0
  87. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/encode.rs +0 -0
  88. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/globalize.rs +0 -0
  89. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/maps/in_memory.rs +0 -0
  90. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/maps/on_disk.rs +0 -0
  91. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats/maps.rs +0 -0
  92. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/cats.rs +0 -0
  93. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/dataset.rs +0 -0
  94. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/debug.rs +0 -0
  95. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/errors.rs +0 -0
  96. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/formatting.rs +0 -0
  97. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/lib.rs +0 -0
  98. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/literals.rs +0 -0
  99. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/multitype.rs +0 -0
  100. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/polars_to_rdf.rs +0 -0
  101. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/python.rs +0 -0
  102. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/query_context.rs +0 -0
  103. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/rdf_state.rs +0 -0
  104. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/rdf_type.rs +0 -0
  105. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/solution_mapping.rs +0 -0
  106. {maplib-0.19.9 → maplib-0.19.10}/lib/representation/src/subtypes.rs +0 -0
  107. {maplib-0.19.9 → maplib-0.19.10}/lib/shacl/Cargo.toml +0 -0
  108. {maplib-0.19.9 → maplib-0.19.10}/lib/shacl/src/errors.rs +0 -0
  109. {maplib-0.19.9 → maplib-0.19.10}/lib/shacl/src/lib.rs +0 -0
  110. {maplib-0.19.9 → maplib-0.19.10}/lib/shacl/src/storage.rs +0 -0
  111. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/Cargo.toml +0 -0
  112. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/LICENSE +0 -0
  113. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/README.md +0 -0
  114. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/algebra.rs +0 -0
  115. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/lib.rs +0 -0
  116. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/parser.rs +0 -0
  117. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/query.rs +0 -0
  118. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/query_context.rs +0 -0
  119. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/remove_sugar.rs +0 -0
  120. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/term.rs +0 -0
  121. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/treehouse.rs +0 -0
  122. {maplib-0.19.9 → maplib-0.19.10}/lib/spargebra/src/update.rs +0 -0
  123. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/Cargo.toml +0 -0
  124. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/ast.rs +0 -0
  125. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/compatible.rs +0 -0
  126. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/dataset/errors.rs +0 -0
  127. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/dataset.rs +0 -0
  128. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/document.rs +0 -0
  129. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/lib.rs +0 -0
  130. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/parsing.rs +0 -0
  131. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/python/owl.rs +0 -0
  132. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/python/rdf.rs +0 -0
  133. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/python/rdfs.rs +0 -0
  134. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/python/xsd.rs +0 -0
  135. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/python.rs +0 -0
  136. {maplib-0.19.9 → maplib-0.19.10}/lib/templates/src/subtypes_ext.rs +0 -0
  137. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/cats.rs +0 -0
  138. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/dblf.rs +0 -0
  139. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/io_funcs.rs +0 -0
  140. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/native_parquet_write.rs +0 -0
  141. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/query_solutions.rs +0 -0
  142. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/rdfs_inferencing.rs +0 -0
  143. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/debug.rs +0 -0
  144. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/delete.rs +0 -0
  145. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/errors.rs +0 -0
  146. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_aggregate.rs +0 -0
  147. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_expressions.rs +0 -0
  148. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/distinct.rs +0 -0
  149. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/extend.rs +0 -0
  150. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/filter.rs +0 -0
  151. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/graph.rs +0 -0
  152. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/group.rs +0 -0
  153. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/join.rs +0 -0
  154. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/left_join.rs +0 -0
  155. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/minus.rs +0 -0
  156. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/order_by.rs +0 -0
  157. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/path.rs +0 -0
  158. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/project.rs +0 -0
  159. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/pvalues.rs +0 -0
  160. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/triple.rs +0 -0
  161. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/triples_ordering.rs +0 -0
  162. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/union.rs +0 -0
  163. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns/values.rs +0 -0
  164. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_graph_patterns.rs +0 -0
  165. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/lazy_order.rs +0 -0
  166. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/rewrite/rewrite_cse.rs +0 -0
  167. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/rewrite/rewrite_pushdown.rs +0 -0
  168. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql/rewrite.rs +0 -0
  169. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/sparql.rs +0 -0
  170. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/storage/deduplication.rs +0 -0
  171. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/storage/so_index.rs +0 -0
  172. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/triples_read.rs +0 -0
  173. {maplib-0.19.9 → maplib-0.19.10}/lib/triplestore/src/triples_write/fast_ntriples.rs +0 -0
  174. {maplib-0.19.9 → maplib-0.19.10}/lib/utils/Cargo.toml +0 -0
  175. {maplib-0.19.9 → maplib-0.19.10}/lib/utils/src/lib.rs +0 -0
  176. {maplib-0.19.9 → maplib-0.19.10}/lib/utils/src/polars.rs +0 -0
  177. {maplib-0.19.9 → maplib-0.19.10}/maplib/__init__.py +0 -0
  178. {maplib-0.19.9 → maplib-0.19.10}/maplib/adding_triples.py +0 -0
  179. {maplib-0.19.9 → maplib-0.19.10}/maplib/py.typed +0 -0
  180. {maplib-0.19.9 → maplib-0.19.10}/maplib/template_generator/__init__.py +0 -0
  181. {maplib-0.19.9 → maplib-0.19.10}/maplib/template_generator/generate.py +0 -0
  182. {maplib-0.19.9 → maplib-0.19.10}/maplib/template_generator/ordering.py +0 -0
  183. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/LICENSE +0 -0
  184. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/README.md +0 -0
  185. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/.gitignore +0 -0
  186. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/__init__.py +0 -0
  187. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/adding_triples.py +0 -0
  188. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/py.typed +0 -0
  189. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/template_generator/__init__.py +0 -0
  190. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/template_generator/generate.py +0 -0
  191. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/maplib/template_generator/ordering.py +0 -0
  192. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/src/error.rs +0 -0
  193. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/src/shacl.rs +0 -0
  194. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/.gitignore +0 -0
  195. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/__init__.py +0 -0
  196. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/out.ttl +0 -0
  197. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/requirements.txt +0 -0
  198. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_basics.py +0 -0
  199. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_blank_nodes_multi.py +0 -0
  200. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_data_validation.py +0 -0
  201. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_exceptions.py +0 -0
  202. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_integration.py +0 -0
  203. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_multi_expressions.py +0 -0
  204. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_named_graphs.py +0 -0
  205. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_pizza_example.py +0 -0
  206. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_pretty_turtle.py +0 -0
  207. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_programmatic_pizza_example.py +0 -0
  208. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_rdf_parser.py +0 -0
  209. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_read_write.py +0 -0
  210. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_stottr.py +0 -0
  211. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/test_validate_iris.py +0 -0
  212. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/expected_easy_case.ttl +0 -0
  213. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/iterated_property_path_constant_object_query.csv +0 -0
  214. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/iterated_property_path_constant_subject_query.csv +0 -0
  215. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/iterated_property_path_query.csv +0 -0
  216. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/iterated_property_path_query_with_bug.csv +0 -0
  217. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/larger_ordered_query.csv +0 -0
  218. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/larger_query.csv +0 -0
  219. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_concat.csv +0 -0
  220. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_join_query.csv +0 -0
  221. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_join_query_two_vars.csv +0 -0
  222. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_leftjoin_query.csv +0 -0
  223. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_query.csv +0 -0
  224. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_query_sorting.csv +0 -0
  225. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_union_query.csv +0 -0
  226. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_union_query_native_df.parquet +0 -0
  227. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_union_sort_desc1_query.csv +0 -0
  228. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_datatype_union_sort_query.csv +0 -0
  229. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/multi_many_comp.csv +0 -0
  230. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/property_path_query.csv +0 -0
  231. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/rdf_parser/date_panic.nt +0 -0
  232. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/read_lists.ttl +0 -0
  233. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/read_ntriples.csv +0 -0
  234. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/read_ntriples.nt +0 -0
  235. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/read_ntriples2.csv +0 -0
  236. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_construct_query_nothing.csv +0 -0
  237. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_construct_query_something.csv +0 -0
  238. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_insert_query_nothing.csv +0 -0
  239. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_insert_query_something.csv +0 -0
  240. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_property_path_query.csv +0 -0
  241. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/simple_query.csv +0 -0
  242. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/stringfuncs.csv +0 -0
  243. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/templates.ttl +0 -0
  244. {maplib-0.19.9 → maplib-0.19.10}/py_maplib/tests/testdata/write_turtle_newlines_bug.nt +0 -0
  245. {maplib-0.19.9 → maplib-0.19.10}/pyproject.toml +0 -0
@@ -2452,7 +2452,7 @@ dependencies = [
2452
2452
 
2453
2453
  [[package]]
2454
2454
  name = "py_maplib"
2455
- version = "0.19.9"
2455
+ version = "0.19.10"
2456
2456
  dependencies = [
2457
2457
  "chrono",
2458
2458
  "cimxml",
@@ -3172,15 +3172,15 @@ dependencies = [
3172
3172
 
3173
3173
  [[package]]
3174
3174
  name = "serde_json"
3175
- version = "1.0.145"
3175
+ version = "1.0.149"
3176
3176
  source = "registry+https://github.com/rust-lang/crates.io-index"
3177
- checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
3177
+ checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
3178
3178
  dependencies = [
3179
3179
  "itoa",
3180
3180
  "memchr",
3181
- "ryu",
3182
3181
  "serde",
3183
3182
  "serde_core",
3183
+ "zmij",
3184
3184
  ]
3185
3185
 
3186
3186
  [[package]]
@@ -3809,6 +3809,8 @@ dependencies = [
3809
3809
  "rayon",
3810
3810
  "representation",
3811
3811
  "ryu",
3812
+ "serde_json",
3813
+ "simd-json",
3812
3814
  "sparesults",
3813
3815
  "spargebra",
3814
3816
  "sprs",
@@ -4495,6 +4497,12 @@ version = "0.5.2"
4495
4497
  source = "registry+https://github.com/rust-lang/crates.io-index"
4496
4498
  checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2"
4497
4499
 
4500
+ [[package]]
4501
+ name = "zmij"
4502
+ version = "1.0.16"
4503
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4504
+ checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65"
4505
+
4498
4506
  [[package]]
4499
4507
  name = "zstd"
4500
4508
  version = "0.13.3"
@@ -33,6 +33,8 @@ memmap2 = "0.9.5"
33
33
  sprs = "0.11.3"
34
34
  walkdir = "2.5.0"
35
35
  aho-corasick = "1.1.4"
36
+ simd-json = { version = "0.17.0", features = ["serde_json"] }
37
+ serde_json = {version = "1.0.149"}
36
38
 
37
39
  tracing = { version = "0.1", features = [ "log" ] }
38
40
  tracing-subscriber = { version = "0.3.19", features = [ "env-filter" ] }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maplib
3
- Version: 0.19.9
3
+ Version: 0.19.10
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Programming Language :: Python :: 3 :: Only
@@ -11,6 +11,7 @@ use polars::prelude::{
11
11
  by_name, col, lit, Column, DataFrame, DataType, Expr, IntoColumn, IntoLazy, LazyFrame,
12
12
  NamedFrom, Series,
13
13
  };
14
+ use query_processing::expressions::non_multi_col_is_null_workaround;
14
15
  use rayon::iter::{IndexedParallelIterator, ParallelDrainRange, ParallelIterator};
15
16
  use representation::constants::OTTR_TRIPLE;
16
17
  use representation::dataset::NamedGraph;
@@ -27,7 +28,6 @@ use templates::ast::{
27
28
  };
28
29
  use templates::MappingColumnType;
29
30
  use tracing::debug;
30
- use query_processing::expressions::non_multi_col_is_null_workaround;
31
31
  use triplestore::TriplesToAdd;
32
32
 
33
33
  const LIST_COL: &str = "list";
@@ -291,10 +291,16 @@ impl Model {
291
291
  if has_multi {
292
292
  let mut lf = df.lazy();
293
293
  if subject_multi {
294
- lf = lf.filter(non_multi_col_is_null_workaround(col(SUBJECT_COL_NAME), &subject_type).not())
294
+ lf = lf.filter(
295
+ non_multi_col_is_null_workaround(col(SUBJECT_COL_NAME), &subject_type)
296
+ .not(),
297
+ )
295
298
  }
296
299
  if object_multi {
297
- lf = lf.filter(non_multi_col_is_null_workaround(col(OBJECT_COL_NAME), &object_type).not())
300
+ lf = lf.filter(
301
+ non_multi_col_is_null_workaround(col(OBJECT_COL_NAME), &object_type)
302
+ .not(),
303
+ )
298
304
  }
299
305
  df = lf.collect().unwrap();
300
306
  }
@@ -15,6 +15,7 @@ use representation::solution_mapping::EagerSolutionMappings;
15
15
  use representation::RDFNodeState;
16
16
  use shacl::{validate, ValidationReport};
17
17
  use std::collections::HashMap;
18
+ use std::fs;
18
19
  use std::io::Write;
19
20
  use std::path::Path;
20
21
  use templates::ast::{ConstantTermOrList, PType, Template};
@@ -29,6 +30,7 @@ use datalog::ast::DatalogRuleset;
29
30
  use representation::dataset::NamedGraph;
30
31
  use representation::prefixes::get_default_prefixes;
31
32
  use tracing::instrument;
33
+ use triplestore::errors::TriplestoreError;
32
34
 
33
35
  pub struct Model {
34
36
  pub template_dataset: TemplateDataset,
@@ -167,6 +169,37 @@ impl Model {
167
169
  Ok(return_template_iri)
168
170
  }
169
171
 
172
+ #[instrument(skip_all)]
173
+ pub fn map_json_path(
174
+ &mut self,
175
+ path: &Path,
176
+ prefix: &NamedNode,
177
+ graph: &NamedGraph,
178
+ transient: bool,
179
+ ) -> Result<(), MaplibError> {
180
+ let mut u8s =
181
+ fs::read(path).map_err(|x| TriplestoreError::ReadJSONFileError(x.to_string()))?;
182
+
183
+ self.triplestore
184
+ .map_json(&mut u8s, prefix, graph, transient)
185
+ .map_err(MaplibError::TriplestoreError)
186
+ }
187
+
188
+ #[instrument(skip_all)]
189
+ pub fn map_json_string(
190
+ &mut self,
191
+ mut p: String,
192
+ prefix: &NamedNode,
193
+ graph: &NamedGraph,
194
+ transient: bool,
195
+ ) -> Result<(), MaplibError> {
196
+ //Safety: we are never reading this vec back to a string
197
+ let u8s = unsafe { p.as_mut_vec() };
198
+ self.triplestore
199
+ .map_json(u8s, prefix, graph, transient)
200
+ .map_err(MaplibError::TriplestoreError)
201
+ }
202
+
170
203
  #[allow(clippy::too_many_arguments)]
171
204
  #[instrument(skip_all)]
172
205
  pub fn read_triples(
@@ -196,7 +196,11 @@ impl BaseRDFNodeType {
196
196
  } else if matches!(self, BaseRDFNodeType::IRI | BaseRDFNodeType::BlankNode) {
197
197
  DataType::UInt32
198
198
  } else if let BaseRDFNodeType::Literal(l) = self {
199
- literal_type(l.as_ref(), &BaseCatState::CategoricalNative(false, None), false)
199
+ literal_type(
200
+ l.as_ref(),
201
+ &BaseCatState::CategoricalNative(false, None),
202
+ false,
203
+ )
200
204
  } else {
201
205
  unreachable!("Should never happen")
202
206
  }
@@ -225,7 +229,9 @@ fn literal_type(
225
229
  DataType::Struct(polars_lang_fields(base_cat_state))
226
230
  } else {
227
231
  match base_cat_state {
228
- BaseCatState::String | BaseCatState::NonString | BaseCatState::CategoricalNative(..) => DataType::String,
232
+ BaseCatState::String
233
+ | BaseCatState::NonString
234
+ | BaseCatState::CategoricalNative(..) => DataType::String,
229
235
  }
230
236
  }
231
237
  }
@@ -26,7 +26,7 @@ impl CatEncs {
26
26
  }
27
27
 
28
28
  impl Cats {
29
- pub fn maybe_decode_of_type(&self, u:&u32, bt:&BaseRDFNodeType) -> Option<Cow<'_, str>> {
29
+ pub fn maybe_decode_of_type(&self, u: &u32, bt: &BaseRDFNodeType) -> Option<Cow<'_, str>> {
30
30
  let ct = CatType::from_base_rdf_node_type(bt);
31
31
  if let Some(cat_encs) = self.cat_map.get(&ct) {
32
32
  cat_encs.maybe_decode_string(u)
@@ -23,7 +23,8 @@ impl Cats {
23
23
  if let BaseCatState::CategoricalNative(_, local) = bs {
24
24
  let mut sers = vec![];
25
25
  if bt.is_lang_string() {
26
- let ser1 = sm.mappings
26
+ let ser1 = sm
27
+ .mappings
27
28
  .column(c)
28
29
  .unwrap()
29
30
  .struct_()
@@ -31,7 +32,8 @@ impl Cats {
31
32
  .field_by_name(LANG_STRING_VALUE_FIELD)
32
33
  .unwrap();
33
34
  sers.push(ser1);
34
- let ser2 = sm.mappings
35
+ let ser2 = sm
36
+ .mappings
35
37
  .column(c)
36
38
  .unwrap()
37
39
  .struct_()
@@ -40,7 +42,8 @@ impl Cats {
40
42
  .unwrap();
41
43
  sers.push(ser2);
42
44
  } else if t.is_multi() {
43
- let ser = sm.mappings
45
+ let ser = sm
46
+ .mappings
44
47
  .column(c)
45
48
  .unwrap()
46
49
  .struct_()
@@ -49,7 +52,8 @@ impl Cats {
49
52
  .unwrap();
50
53
  sers.push(ser);
51
54
  } else {
52
- let ser = sm.mappings
55
+ let ser = sm
56
+ .mappings
53
57
  .column(c)
54
58
  .unwrap()
55
59
  .as_materialized_series()
@@ -1,7 +1,10 @@
1
1
  use super::{CatEncs, CatTriples, CatType, Cats};
2
2
  use crate::cats::LockedCats;
3
3
  use crate::solution_mapping::{BaseCatState, EagerSolutionMappings};
4
- use crate::{BaseRDFNodeType, LANG_STRING_LANG_FIELD, LANG_STRING_VALUE_FIELD, OBJECT_COL_NAME, SUBJECT_COL_NAME};
4
+ use crate::{
5
+ BaseRDFNodeType, LANG_STRING_LANG_FIELD, LANG_STRING_VALUE_FIELD, OBJECT_COL_NAME,
6
+ SUBJECT_COL_NAME,
7
+ };
5
8
  use nohash_hasher::NoHashHasher;
6
9
  use polars::datatypes::PlSmallStr;
7
10
  use polars::error::PolarsResult;
@@ -1,3 +1,6 @@
1
+ pub const LANG_LANG_FIELD_ALT_NAME: &str = "language";
2
+ pub const LANG_VALUE_FIELD_ALT_NAME: &str = "value";
3
+
1
4
  pub const OTTR_TRIPLE: &str = "http://ns.ottr.xyz/0.4/Triple";
2
5
  pub const OTTR_PREFIX: &str = "ottr";
3
6
  pub const OTTR_PREFIX_IRI: &str = "http://ns.ottr.xyz/0.4/";
@@ -23,4 +26,4 @@ pub const SHACL_PREFIX_IRI: &str = "http://www.w3.org/ns/shacl#";
23
26
  pub const XSD_ANY_URI: &str = "http://www.w3.org/2001/XMLSchema#anyURI";
24
27
 
25
28
  pub const FOAF_PREFIX: &str = "foaf";
26
- pub const FOAF_PREFIX_IRI: &str = "http://xmlns.com/foaf/0.1/";
29
+ pub const FOAF_PREFIX_IRI: &str = "http://xmlns.com/foaf/0.1/";
@@ -1,4 +1,8 @@
1
- use crate::constants::{DEFAULT_PREFIX, DEFAULT_PREFIX_IRI, FOAF_PREFIX, FOAF_PREFIX_IRI, OTTR_PREFIX, OTTR_PREFIX_IRI, OWL_PREFIX, OWL_PREFIX_IRI, RDFS_PREFIX, RDFS_PREFIX_IRI, RDF_PREFIX, RDF_PREFIX_IRI, SHACL_PREFIX, SHACL_PREFIX_IRI, XSD_PREFIX, XSD_PREFIX_IRI};
1
+ use crate::constants::{
2
+ DEFAULT_PREFIX, DEFAULT_PREFIX_IRI, FOAF_PREFIX, FOAF_PREFIX_IRI, OTTR_PREFIX, OTTR_PREFIX_IRI,
3
+ OWL_PREFIX, OWL_PREFIX_IRI, RDFS_PREFIX, RDFS_PREFIX_IRI, RDF_PREFIX, RDF_PREFIX_IRI,
4
+ SHACL_PREFIX, SHACL_PREFIX_IRI, XSD_PREFIX, XSD_PREFIX_IRI,
5
+ };
2
6
  use oxrdf::NamedNode;
3
7
  use std::collections::HashMap;
4
8
 
@@ -76,10 +76,14 @@ pub fn rdf_literal_to_polars_expr(l: &Literal) -> Expr {
76
76
  }
77
77
  }
78
78
 
79
- pub fn rdf_literal_to_polars_literal_value(lit: &Literal) -> LiteralValue {
80
- let datatype = lit.datatype();
81
- let value = lit.value();
79
+ pub fn rdf_literal_to_polars_literal_value(literal: &Literal) -> LiteralValue {
80
+ rdf_literal_to_polars_literal_value_impl(literal.value(), literal.datatype())
81
+ }
82
82
 
83
+ pub fn rdf_literal_to_polars_literal_value_impl(
84
+ value: &str,
85
+ datatype: NamedNodeRef,
86
+ ) -> LiteralValue {
83
87
  if datatype == xsd::STRING {
84
88
  LiteralValue::Scalar(Scalar::from(PlSmallStr::from_string(value.to_string())))
85
89
  } else if datatype == rdf::LANG_STRING {
@@ -32,6 +32,8 @@ memmap2.workspace = true
32
32
  sparesults.workspace = true
33
33
  tracing.workspace = true
34
34
  aho-corasick.workspace = true
35
+ simd-json.workspace = true
36
+ serde_json.workspace = true
35
37
 
36
38
  pyo3 = { workspace = true, optional = true }
37
39
 
@@ -47,6 +47,10 @@ pub enum TriplestoreError {
47
47
  SparqlQueryError(String),
48
48
  #[error("Found bad list: {0}")]
49
49
  BadListError(String),
50
+ #[error("Error reading JSON file: {0}")]
51
+ ReadJSONFileError(String),
52
+ #[error("Prefix IRI is invalid: {0}")]
53
+ InvalidPrefixIRI(String),
50
54
  }
51
55
 
52
56
  impl<T> From<PoisonError<T>> for TriplestoreError {
@@ -4,6 +4,7 @@ extern crate core;
4
4
  pub mod cats;
5
5
  mod dblf;
6
6
  pub mod errors;
7
+ mod map_json;
7
8
  pub mod native_parquet_write;
8
9
  pub mod query_solutions;
9
10
  pub mod rdfs_inferencing;