Following the schema change, Value -> Term

This commit is contained in:
Cyber MacGeddon 2026-01-26 22:54:50 +00:00
parent 9387b24083
commit 16e66d0150
2 changed files with 25 additions and 9 deletions

View file

@ -2,15 +2,21 @@
import logging import logging
from . request_response_spec import RequestResponse, RequestResponseSpec from . request_response_spec import RequestResponse, RequestResponseSpec
from .. schema import GraphEmbeddingsRequest, GraphEmbeddingsResponse from .. schema import GraphEmbeddingsRequest, GraphEmbeddingsResponse, IRI, LITERAL
from .. knowledge import Uri, Literal from .. knowledge import Uri, Literal
# Module logger # Module logger
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def to_value(x): def to_value(x):
if x.is_uri: return Uri(x.value) """Convert schema Term to Uri or Literal."""
if x.type == IRI:
return Uri(x.iri)
elif x.type == LITERAL:
return Literal(x.value) return Literal(x.value)
# Fallback
return Literal(x.value or x.iri)
class GraphEmbeddingsClient(RequestResponse): class GraphEmbeddingsClient(RequestResponse):
async def query(self, vectors, limit=20, user="trustgraph", async def query(self, vectors, limit=20, user="trustgraph",

View file

@ -1,24 +1,34 @@
from . request_response_spec import RequestResponse, RequestResponseSpec from . request_response_spec import RequestResponse, RequestResponseSpec
from .. schema import TriplesQueryRequest, TriplesQueryResponse, Value from .. schema import TriplesQueryRequest, TriplesQueryResponse, Term, IRI, LITERAL
from .. knowledge import Uri, Literal from .. knowledge import Uri, Literal
class Triple: class Triple:
def __init__(self, s, p, o): def __init__(self, s, p, o):
self.s = s self.s = s
self.p = p self.p = p
self.o = o self.o = o
def to_value(x): def to_value(x):
if x.is_uri: return Uri(x.value) """Convert schema Term to Uri or Literal."""
if x.type == IRI:
return Uri(x.iri)
elif x.type == LITERAL:
return Literal(x.value) return Literal(x.value)
# Fallback
return Literal(x.value or x.iri)
def from_value(x): def from_value(x):
if x is None: return None """Convert Uri or Literal to schema Term."""
if x is None:
return None
if isinstance(x, Uri): if isinstance(x, Uri):
return Value(value=str(x), is_uri=True) return Term(type=IRI, iri=str(x))
else: else:
return Value(value=str(x), is_uri=False) return Term(type=LITERAL, value=str(x))
class TriplesClient(RequestResponse): class TriplesClient(RequestResponse):
async def query(self, s=None, p=None, o=None, limit=20, async def query(self, s=None, p=None, o=None, limit=20,