mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-05-19 20:35:13 +02:00
* Update schema defs for source -> metadata * Migrate to use metadata part of schema, also add metadata to triples & vecs * Add user/collection metadata to query * Use user/collection in RAG * Write and query working on triples
73 lines
1.8 KiB
Python
73 lines
1.8 KiB
Python
|
|
from pulsar.schema import Record, Bytes, String, Boolean, Integer, Array, Double
|
|
|
|
from . types import Error, Value
|
|
from . topic import topic
|
|
from . metadata import Metadata
|
|
|
|
############################################################################
|
|
|
|
# Graph embeddings are embeddings associated with a graph entity
|
|
|
|
class GraphEmbeddings(Record):
|
|
metadata = Metadata()
|
|
vectors = Array(Array(Double()))
|
|
entity = Value()
|
|
|
|
graph_embeddings_store_queue = topic('graph-embeddings-store')
|
|
|
|
############################################################################
|
|
|
|
# Graph embeddings query
|
|
|
|
class GraphEmbeddingsRequest(Record):
|
|
vectors = Array(Array(Double()))
|
|
limit = Integer()
|
|
user = String()
|
|
collection = String()
|
|
|
|
class GraphEmbeddingsResponse(Record):
|
|
error = Error()
|
|
entities = Array(Value())
|
|
|
|
graph_embeddings_request_queue = topic(
|
|
'graph-embeddings', kind='non-persistent', namespace='request'
|
|
)
|
|
graph_embeddings_response_queue = topic(
|
|
'graph-embeddings-response', kind='non-persistent', namespace='response',
|
|
)
|
|
|
|
############################################################################
|
|
|
|
# Graph triples
|
|
|
|
class Triple(Record):
|
|
metadata = Metadata()
|
|
s = Value()
|
|
p = Value()
|
|
o = Value()
|
|
|
|
triples_store_queue = topic('triples-store')
|
|
|
|
############################################################################
|
|
|
|
# Triples query
|
|
|
|
class TriplesQueryRequest(Record):
|
|
s = Value()
|
|
p = Value()
|
|
o = Value()
|
|
limit = Integer()
|
|
user = String()
|
|
collection = String()
|
|
|
|
class TriplesQueryResponse(Record):
|
|
error = Error()
|
|
triples = Array(Triple())
|
|
|
|
triples_request_queue = topic(
|
|
'triples', kind='non-persistent', namespace='request'
|
|
)
|
|
triples_response_queue = topic(
|
|
'triples-response', kind='non-persistent', namespace='response',
|
|
)
|