trustgraph-base 2.2.16__tar.gz → 2.2.17__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.
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/PKG-INFO +1 -1
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/flow.py +39 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/socket_client.py +25 -0
- trustgraph_base-2.2.17/trustgraph/base_version.py +1 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/__init__.py +7 -0
- trustgraph_base-2.2.17/trustgraph/messaging/translators/sparql_query.py +115 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/__init__.py +2 -1
- trustgraph_base-2.2.17/trustgraph/schema/services/sparql_query.py +44 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/PKG-INFO +1 -1
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/SOURCES.txt +2 -0
- trustgraph_base-2.2.16/trustgraph/base_version.py +0 -1
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/README.md +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/pyproject.toml +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/setup.cfg +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/api.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/async_bulk_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/async_flow.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/async_metrics.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/async_socket_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/bulk_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/collection.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/config.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/exceptions.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/explainability.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/knowledge.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/library.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/metrics.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/api/types.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/agent_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/agent_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/async_processor.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/backend.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/cassandra_config.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/chunking_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/collection_config_handler.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/consumer.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/consumer_spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/document_embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/document_embeddings_query_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/document_embeddings_store_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/dynamic_tool_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/embeddings_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/flow.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/flow_processor.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_query_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_store_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_rag_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/librarian_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/llm_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/logging.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/metrics.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/parameter_spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/producer.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/producer_spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/prompt_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/publisher.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/pubsub.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/pulsar_backend.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/rabbitmq_backend.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/request_response_spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/row_embeddings_query_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/serialization.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/structured_query_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/subscriber.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/subscriber_spec.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/text_completion_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/tool_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/tool_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/tool_service_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/triples_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/triples_query_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/triples_store_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/agent_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/base.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/config_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/document_embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/document_rag_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/graph_embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/graph_rag_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/llm_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/prompt_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/row_embeddings_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/triples_query_client.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/exceptions.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/defs.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/document.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/identifier.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/organization.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/knowledge/publication.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/log_level.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/registry.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/agent.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/base.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/collection.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/config.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/diagnosis.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/document_loading.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/embeddings.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/embeddings_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/flow.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/knowledge.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/library.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/metadata.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/nlp_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/primitives.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/prompt.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/retrieval.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/rows_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/structured_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/text_completion.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/tool.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/triples.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/objects/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/objects/field.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/objects/object.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/agent.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/namespaces.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/triples.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/uris.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/provenance/vocabulary.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/rdf.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/core/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/core/metadata.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/core/primitives.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/core/topic.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/__init__.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/document.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/embeddings.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/graph.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/knowledge.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/nlp.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/object.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/rows.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/knowledge/structured.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/agent.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/collection.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/config.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/diagnosis.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/flow.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/library.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/llm.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/lookup.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/nlp_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/prompt.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/retrieval.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/rows_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/storage.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/structured_query.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/tool_service.py +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/dependency_links.txt +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/requires.txt +0 -0
- {trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-base
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.17
|
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
|
5
5
|
Author-email: "trustgraph.ai" <security@trustgraph.ai>
|
|
6
6
|
Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
|
|
@@ -1122,6 +1122,45 @@ class FlowInstance:
|
|
|
1122
1122
|
|
|
1123
1123
|
return result
|
|
1124
1124
|
|
|
1125
|
+
def sparql_query(
|
|
1126
|
+
self, query, user="trustgraph", collection="default",
|
|
1127
|
+
limit=10000
|
|
1128
|
+
):
|
|
1129
|
+
"""
|
|
1130
|
+
Execute a SPARQL query against the knowledge graph.
|
|
1131
|
+
|
|
1132
|
+
Args:
|
|
1133
|
+
query: SPARQL 1.1 query string
|
|
1134
|
+
user: User/keyspace identifier (default: "trustgraph")
|
|
1135
|
+
collection: Collection identifier (default: "default")
|
|
1136
|
+
limit: Safety limit on results (default: 10000)
|
|
1137
|
+
|
|
1138
|
+
Returns:
|
|
1139
|
+
dict with query results. Structure depends on query type:
|
|
1140
|
+
- SELECT: {"query-type": "select", "variables": [...], "bindings": [...]}
|
|
1141
|
+
- ASK: {"query-type": "ask", "ask-result": bool}
|
|
1142
|
+
- CONSTRUCT/DESCRIBE: {"query-type": "construct", "triples": [...]}
|
|
1143
|
+
|
|
1144
|
+
Raises:
|
|
1145
|
+
ProtocolException: If an error occurs
|
|
1146
|
+
"""
|
|
1147
|
+
|
|
1148
|
+
input = {
|
|
1149
|
+
"query": query,
|
|
1150
|
+
"user": user,
|
|
1151
|
+
"collection": collection,
|
|
1152
|
+
"limit": limit,
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
response = self.request("service/sparql", input)
|
|
1156
|
+
|
|
1157
|
+
if "error" in response and response["error"]:
|
|
1158
|
+
error_type = response["error"].get("type", "unknown")
|
|
1159
|
+
error_message = response["error"].get("message", "Unknown error")
|
|
1160
|
+
raise ProtocolException(f"{error_type}: {error_message}")
|
|
1161
|
+
|
|
1162
|
+
return response
|
|
1163
|
+
|
|
1125
1164
|
def nlp_query(self, question, max_results=100):
|
|
1126
1165
|
"""
|
|
1127
1166
|
Convert a natural language question to a GraphQL query.
|
|
@@ -812,6 +812,31 @@ class SocketFlowInstance:
|
|
|
812
812
|
else:
|
|
813
813
|
yield response
|
|
814
814
|
|
|
815
|
+
def sparql_query_stream(
|
|
816
|
+
self,
|
|
817
|
+
query: str,
|
|
818
|
+
user: str = "trustgraph",
|
|
819
|
+
collection: str = "default",
|
|
820
|
+
limit: int = 10000,
|
|
821
|
+
batch_size: int = 20,
|
|
822
|
+
**kwargs: Any
|
|
823
|
+
) -> Iterator[Dict[str, Any]]:
|
|
824
|
+
"""Execute a SPARQL query with streaming batches."""
|
|
825
|
+
request = {
|
|
826
|
+
"query": query,
|
|
827
|
+
"user": user,
|
|
828
|
+
"collection": collection,
|
|
829
|
+
"limit": limit,
|
|
830
|
+
"streaming": True,
|
|
831
|
+
"batch-size": batch_size,
|
|
832
|
+
}
|
|
833
|
+
request.update(kwargs)
|
|
834
|
+
|
|
835
|
+
for response in self.client._send_request_sync(
|
|
836
|
+
"sparql", self.flow_id, request, streaming_raw=True
|
|
837
|
+
):
|
|
838
|
+
yield response
|
|
839
|
+
|
|
815
840
|
def rows_query(
|
|
816
841
|
self,
|
|
817
842
|
query: str,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.2.17"
|
|
@@ -27,6 +27,7 @@ from .translators.nlp_query import QuestionToStructuredQueryRequestTranslator, Q
|
|
|
27
27
|
from .translators.structured_query import StructuredQueryRequestTranslator, StructuredQueryResponseTranslator
|
|
28
28
|
from .translators.diagnosis import StructuredDataDiagnosisRequestTranslator, StructuredDataDiagnosisResponseTranslator
|
|
29
29
|
from .translators.collection import CollectionManagementRequestTranslator, CollectionManagementResponseTranslator
|
|
30
|
+
from .translators.sparql_query import SparqlQueryRequestTranslator, SparqlQueryResponseTranslator
|
|
30
31
|
|
|
31
32
|
# Register all service translators
|
|
32
33
|
TranslatorRegistry.register_service(
|
|
@@ -149,6 +150,12 @@ TranslatorRegistry.register_service(
|
|
|
149
150
|
CollectionManagementResponseTranslator()
|
|
150
151
|
)
|
|
151
152
|
|
|
153
|
+
TranslatorRegistry.register_service(
|
|
154
|
+
"sparql-query",
|
|
155
|
+
SparqlQueryRequestTranslator(),
|
|
156
|
+
SparqlQueryResponseTranslator()
|
|
157
|
+
)
|
|
158
|
+
|
|
152
159
|
# Register single-direction translators for document loading
|
|
153
160
|
TranslatorRegistry.register_request("document", DocumentTranslator())
|
|
154
161
|
TranslatorRegistry.register_request("text-document", TextDocumentTranslator())
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
from typing import Dict, Any, Tuple
|
|
2
|
+
from ...schema import (
|
|
3
|
+
SparqlQueryRequest, SparqlQueryResponse, SparqlBinding,
|
|
4
|
+
Error, Term, Triple, IRI, LITERAL, BLANK,
|
|
5
|
+
)
|
|
6
|
+
from .base import MessageTranslator
|
|
7
|
+
from .primitives import TermTranslator, TripleTranslator
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SparqlQueryRequestTranslator(MessageTranslator):
|
|
11
|
+
"""Translator for SparqlQueryRequest schema objects."""
|
|
12
|
+
|
|
13
|
+
def decode(self, data: Dict[str, Any]) -> SparqlQueryRequest:
|
|
14
|
+
return SparqlQueryRequest(
|
|
15
|
+
user=data.get("user", "trustgraph"),
|
|
16
|
+
collection=data.get("collection", "default"),
|
|
17
|
+
query=data.get("query", ""),
|
|
18
|
+
limit=int(data.get("limit", 10000)),
|
|
19
|
+
streaming=data.get("streaming", False),
|
|
20
|
+
batch_size=int(data.get("batch-size", 20)),
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
def encode(self, obj: SparqlQueryRequest) -> Dict[str, Any]:
|
|
24
|
+
return {
|
|
25
|
+
"user": obj.user,
|
|
26
|
+
"collection": obj.collection,
|
|
27
|
+
"query": obj.query,
|
|
28
|
+
"limit": obj.limit,
|
|
29
|
+
"streaming": obj.streaming,
|
|
30
|
+
"batch-size": obj.batch_size,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class SparqlQueryResponseTranslator(MessageTranslator):
|
|
35
|
+
"""Translator for SparqlQueryResponse schema objects."""
|
|
36
|
+
|
|
37
|
+
def __init__(self):
|
|
38
|
+
self.term_translator = TermTranslator()
|
|
39
|
+
self.triple_translator = TripleTranslator()
|
|
40
|
+
|
|
41
|
+
def decode(self, data: Dict[str, Any]) -> SparqlQueryResponse:
|
|
42
|
+
raise NotImplementedError(
|
|
43
|
+
"Response translation to schema not typically needed"
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
def _encode_term(self, v):
|
|
47
|
+
"""Encode a Term, handling both Term objects and dicts from
|
|
48
|
+
pub/sub deserialization."""
|
|
49
|
+
if v is None:
|
|
50
|
+
return None
|
|
51
|
+
if isinstance(v, dict):
|
|
52
|
+
# Reconstruct Term from dict (pub/sub deserializes nested
|
|
53
|
+
# dataclasses as dicts)
|
|
54
|
+
term = Term(
|
|
55
|
+
type=v.get("type", ""),
|
|
56
|
+
iri=v.get("iri", ""),
|
|
57
|
+
id=v.get("id", ""),
|
|
58
|
+
value=v.get("value", ""),
|
|
59
|
+
datatype=v.get("datatype", ""),
|
|
60
|
+
language=v.get("language", ""),
|
|
61
|
+
)
|
|
62
|
+
return self.term_translator.encode(term)
|
|
63
|
+
return self.term_translator.encode(v)
|
|
64
|
+
|
|
65
|
+
def _encode_error(self, error):
|
|
66
|
+
"""Encode an Error, handling both Error objects and dicts."""
|
|
67
|
+
if isinstance(error, dict):
|
|
68
|
+
return {
|
|
69
|
+
"type": error.get("type", ""),
|
|
70
|
+
"message": error.get("message", ""),
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
"type": error.type,
|
|
74
|
+
"message": error.message,
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
def encode(self, obj: SparqlQueryResponse) -> Dict[str, Any]:
|
|
78
|
+
result = {
|
|
79
|
+
"query-type": obj.query_type,
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if obj.error:
|
|
83
|
+
result["error"] = self._encode_error(obj.error)
|
|
84
|
+
|
|
85
|
+
if obj.query_type == "select":
|
|
86
|
+
result["variables"] = obj.variables
|
|
87
|
+
bindings = []
|
|
88
|
+
for binding in obj.bindings:
|
|
89
|
+
# binding may be a SparqlBinding or a dict
|
|
90
|
+
if isinstance(binding, dict):
|
|
91
|
+
values = binding.get("values", [])
|
|
92
|
+
else:
|
|
93
|
+
values = binding.values
|
|
94
|
+
bindings.append({
|
|
95
|
+
"values": [
|
|
96
|
+
self._encode_term(v) for v in values
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
result["bindings"] = bindings
|
|
100
|
+
|
|
101
|
+
elif obj.query_type == "ask":
|
|
102
|
+
result["ask-result"] = obj.ask_result
|
|
103
|
+
|
|
104
|
+
elif obj.query_type in ("construct", "describe"):
|
|
105
|
+
result["triples"] = [
|
|
106
|
+
self.triple_translator.encode(t)
|
|
107
|
+
for t in obj.triples
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
return result
|
|
111
|
+
|
|
112
|
+
def encode_with_completion(
|
|
113
|
+
self, obj: SparqlQueryResponse
|
|
114
|
+
) -> Tuple[Dict[str, Any], bool]:
|
|
115
|
+
return self.encode(obj), obj.is_final
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
|
|
3
|
+
from ..core.primitives import Error, Term, Triple
|
|
4
|
+
from ..core.topic import queue
|
|
5
|
+
|
|
6
|
+
############################################################################
|
|
7
|
+
|
|
8
|
+
# SPARQL query
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class SparqlBinding:
|
|
12
|
+
"""A single row of SPARQL SELECT results.
|
|
13
|
+
Values are ordered to match the variables list in SparqlQueryResponse.
|
|
14
|
+
"""
|
|
15
|
+
values: list[Term | None] = field(default_factory=list)
|
|
16
|
+
|
|
17
|
+
@dataclass
|
|
18
|
+
class SparqlQueryRequest:
|
|
19
|
+
user: str = ""
|
|
20
|
+
collection: str = ""
|
|
21
|
+
query: str = "" # SPARQL query string
|
|
22
|
+
limit: int = 10000 # Safety limit on results
|
|
23
|
+
streaming: bool = False # Enable streaming mode
|
|
24
|
+
batch_size: int = 20 # Bindings per batch in streaming mode
|
|
25
|
+
|
|
26
|
+
@dataclass
|
|
27
|
+
class SparqlQueryResponse:
|
|
28
|
+
error: Error | None = None
|
|
29
|
+
query_type: str = "" # "select", "ask", "construct", "describe"
|
|
30
|
+
|
|
31
|
+
# For SELECT queries
|
|
32
|
+
variables: list[str] = field(default_factory=list)
|
|
33
|
+
bindings: list[SparqlBinding] = field(default_factory=list)
|
|
34
|
+
|
|
35
|
+
# For ASK queries
|
|
36
|
+
ask_result: bool = False
|
|
37
|
+
|
|
38
|
+
# For CONSTRUCT/DESCRIBE queries
|
|
39
|
+
triples: list[Triple] = field(default_factory=list)
|
|
40
|
+
|
|
41
|
+
is_final: bool = True # False for intermediate batches in streaming
|
|
42
|
+
|
|
43
|
+
sparql_query_request_queue = queue('sparql-query', cls='request')
|
|
44
|
+
sparql_query_response_queue = queue('sparql-query', cls='response')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-base
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.17
|
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
|
5
5
|
Author-email: "trustgraph.ai" <security@trustgraph.ai>
|
|
6
6
|
Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
|
|
@@ -108,6 +108,7 @@ trustgraph/messaging/translators/primitives.py
|
|
|
108
108
|
trustgraph/messaging/translators/prompt.py
|
|
109
109
|
trustgraph/messaging/translators/retrieval.py
|
|
110
110
|
trustgraph/messaging/translators/rows_query.py
|
|
111
|
+
trustgraph/messaging/translators/sparql_query.py
|
|
111
112
|
trustgraph/messaging/translators/structured_query.py
|
|
112
113
|
trustgraph/messaging/translators/text_completion.py
|
|
113
114
|
trustgraph/messaging/translators/tool.py
|
|
@@ -149,6 +150,7 @@ trustgraph/schema/services/prompt.py
|
|
|
149
150
|
trustgraph/schema/services/query.py
|
|
150
151
|
trustgraph/schema/services/retrieval.py
|
|
151
152
|
trustgraph/schema/services/rows_query.py
|
|
153
|
+
trustgraph/schema/services/sparql_query.py
|
|
152
154
|
trustgraph/schema/services/storage.py
|
|
153
155
|
trustgraph/schema/services/structured_query.py
|
|
154
156
|
trustgraph/schema/services/tool_service.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.2.16"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/collection_config_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/document_embeddings_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_client.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_query_service.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/graph_embeddings_store_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/row_embeddings_query_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/base/structured_query_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/document_embeddings_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/graph_embeddings_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/row_embeddings_client.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/clients/triples_query_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/collection.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/config.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/diagnosis.py
RENAMED
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/embeddings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/knowledge.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/library.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/metadata.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/nlp_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/primitives.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/prompt.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/retrieval.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/rows_query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/messaging/translators/triples.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/structured_query.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph/schema/services/tool_service.py
RENAMED
|
File without changes
|
{trustgraph_base-2.2.16 → trustgraph_base-2.2.17}/trustgraph_base.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|