mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-22 03:31:02 +02:00
Linkage is complete
This commit is contained in:
parent
aa47ae9970
commit
6eb16473c5
5 changed files with 221 additions and 259 deletions
|
|
@ -23,4 +23,6 @@ from . document_embeddings_store_service import DocumentEmbeddingsStoreService
|
|||
from . triples_query_service import TriplesQueryService
|
||||
from . graph_embeddings_query_service import GraphEmbeddingsQueryService
|
||||
from . document_embeddings_query_service import DocumentEmbeddingsQueryService
|
||||
from . graph_embeddings_client import GraphEmbeddingsClientSpec
|
||||
from . triples_client import TriplesClientSpec
|
||||
|
||||
|
|
|
|||
43
trustgraph-base/trustgraph/base/graph_embeddings_client.py
Normal file
43
trustgraph-base/trustgraph/base/graph_embeddings_client.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
from . request_response_spec import RequestResponse, RequestResponseSpec
|
||||
from .. schema import GraphEmbeddingsRequest, GraphEmbeddingsResponse
|
||||
from .. knowledge import Uri, Literal
|
||||
|
||||
def to_value(x):
|
||||
if x.e: return Uri(x.v)
|
||||
return Literal(x.v)
|
||||
|
||||
class GraphEmbeddingsClient(RequestResponse):
|
||||
async def query(self, vectors, limit=20, user="trustgraph",
|
||||
collection="default", timeout=30):
|
||||
|
||||
resp = await self.request(
|
||||
GraphEmbeddingsRequest(
|
||||
vectors = vectors,
|
||||
limit = limit,
|
||||
user = user,
|
||||
collection = collection
|
||||
),
|
||||
timeout=timeout
|
||||
)
|
||||
|
||||
if resp.error:
|
||||
raise RuntimeError(resp.error.message)
|
||||
|
||||
return [
|
||||
to_value(v)
|
||||
for v in resp.entities
|
||||
]
|
||||
|
||||
class GraphEmbeddingsClientSpec(RequestResponseSpec):
|
||||
def __init__(
|
||||
self, request_name, response_name,
|
||||
):
|
||||
super(GraphEmbeddingsClientSpec, self).__init__(
|
||||
request_name = request_name,
|
||||
request_schema = GraphEmbeddingsRequest,
|
||||
response_name = response_name,
|
||||
response_schema = GraphEmbeddingsResponse,
|
||||
impl = GraphEmbeddingsClient,
|
||||
)
|
||||
|
||||
53
trustgraph-base/trustgraph/base/triples_client.py
Normal file
53
trustgraph-base/trustgraph/base/triples_client.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
from . request_response_spec import RequestResponse, RequestResponseSpec
|
||||
from .. schema import TriplesQueryRequest, TriplesQueryResponse, Value
|
||||
from .. knowledge import Uri, Literal
|
||||
|
||||
def to_value(x):
|
||||
if x.e: return Uri(x.v)
|
||||
return Literal(x.v)
|
||||
|
||||
def from_value(x):
|
||||
if x is None: return None
|
||||
if isinstance(x, Uri):
|
||||
return Value(value=str(x), is_uri=True)
|
||||
else:
|
||||
return Value(value=str(x), is_uri=False)
|
||||
|
||||
class TriplesClient(RequestResponse):
|
||||
async def query(self, s=None, p=None, o=None, limit=20,
|
||||
user="trustgraph", collection="default",
|
||||
timeout=30):
|
||||
|
||||
resp = await self.request(
|
||||
TriplesQueryRequest(
|
||||
s = from_value(s),
|
||||
p = from_value(p),
|
||||
o = from_value(o),
|
||||
limit = limit,
|
||||
user = user,
|
||||
collection = collection,
|
||||
),
|
||||
timeout=timeout
|
||||
)
|
||||
|
||||
if resp.error:
|
||||
raise RuntimeError(resp.error.message)
|
||||
|
||||
return [
|
||||
to_value(v)
|
||||
for v in resp.triples
|
||||
]
|
||||
|
||||
class TriplesClientSpec(RequestResponseSpec):
|
||||
def __init__(
|
||||
self, request_name, response_name,
|
||||
):
|
||||
super(TriplesClientSpec, self).__init__(
|
||||
request_name = request_name,
|
||||
request_schema = TriplesQueryRequest,
|
||||
response_name = response_name,
|
||||
response_schema = TriplesQueryResponse,
|
||||
impl = TriplesClient,
|
||||
)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue