Feature/graphql table query (#486)

* Tech spec

* Object query service for Cassandra

* Gateway support for objects-query

* GraphQL query utility

* Filters, ordering
This commit is contained in:
cybermaggedon 2025-09-03 23:39:11 +01:00 committed by GitHub
parent 38826c7de1
commit 672e358b2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 3133 additions and 3 deletions

View file

@ -8,4 +8,5 @@ from .config import *
from .library import *
from .lookup import *
from .nlp_query import *
from .structured_query import *
from .structured_query import *
from .objects_query import *

View file

@ -0,0 +1,28 @@
from pulsar.schema import Record, String, Map, Array
from ..core.primitives import Error
from ..core.topic import topic
############################################################################
# Objects Query Service - executes GraphQL queries against structured data
class GraphQLError(Record):
message = String()
path = Array(String()) # Path to the field that caused the error
extensions = Map(String()) # Additional error metadata
class ObjectsQueryRequest(Record):
user = String() # Cassandra keyspace (follows pattern from TriplesQueryRequest)
collection = String() # Data collection identifier (required for partition key)
query = String() # GraphQL query string
variables = Map(String()) # GraphQL variables
operation_name = String() # Operation to execute for multi-operation documents
class ObjectsQueryResponse(Record):
error = Error() # System-level error (connection, timeout, etc.)
data = String() # JSON-encoded GraphQL response data
errors = Array(GraphQLError()) # GraphQL field-level errors
extensions = Map(String()) # Query metadata (execution time, etc.)
############################################################################