mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-16 16:51:02 +02:00
Changes, entity-aware API is complete
This commit is contained in:
parent
6b478e9cc9
commit
5e1770ba0d
6 changed files with 29 additions and 25 deletions
|
|
@ -4,7 +4,7 @@ import json
|
||||||
import dataclasses
|
import dataclasses
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
from trustgraph.knowledge import hash
|
from trustgraph.knowledge import hash, Uri, Literal
|
||||||
|
|
||||||
class ProtocolException(Exception):
|
class ProtocolException(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
@ -12,14 +12,6 @@ class ProtocolException(Exception):
|
||||||
class ApplicationException(Exception):
|
class ApplicationException(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class Uri(str):
|
|
||||||
def is_uri(self): return True
|
|
||||||
def is_literal(self): return False
|
|
||||||
|
|
||||||
class Literal(str):
|
|
||||||
def is_uri(self): return False
|
|
||||||
def is_literal(self): return True
|
|
||||||
|
|
||||||
@dataclasses.dataclass
|
@dataclasses.dataclass
|
||||||
class Triple:
|
class Triple:
|
||||||
s : str
|
s : str
|
||||||
|
|
@ -279,10 +271,10 @@ class Api:
|
||||||
|
|
||||||
if metadata:
|
if metadata:
|
||||||
metadata.emit(
|
metadata.emit(
|
||||||
lambda t: triples.append(
|
lambda t: triples.append({
|
||||||
"s": { "v": t.s, "e": isinstance(t.s, Uri) }
|
"s": { "v": t["s"], "e": isinstance(t["s"], Uri) },
|
||||||
"p": { "v": t.p, "e": isinstance(t.p, Uri) }
|
"p": { "v": t["p"], "e": isinstance(t["p"], Uri) },
|
||||||
"o": { "v": t.o, "e": isinstance(t.o, Uri) }
|
"o": { "v": t["o"], "e": isinstance(t["o"], Uri) }
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -319,9 +311,9 @@ class Api:
|
||||||
if metadata:
|
if metadata:
|
||||||
metadata.emit(
|
metadata.emit(
|
||||||
lambda t: triples.append({
|
lambda t: triples.append({
|
||||||
"s": { "v": t.s, "e": isinstance(t.s, Uri),
|
"s": { "v": t["s"], "e": isinstance(t["s"], Uri) },
|
||||||
"p": { "v": t.p, "e": isinstance(t.p, Uri),
|
"p": { "v": t["p"], "e": isinstance(t["p"], Uri) },
|
||||||
"o": { "v": t.o, "e": isinstance(t.o, Uri),
|
"o": { "v": t["o"], "e": isinstance(t["o"], Uri) }
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
|
|
||||||
|
from . defs import *
|
||||||
from . identifier import *
|
from . identifier import *
|
||||||
from . publication import *
|
from . publication import *
|
||||||
from . document import *
|
from . document import *
|
||||||
|
|
|
||||||
|
|
@ -23,3 +23,11 @@ URL = 'https://schema.org/url'
|
||||||
IDENTIFIER = 'https://schema.org/identifier'
|
IDENTIFIER = 'https://schema.org/identifier'
|
||||||
KEYWORD = 'https://schema.org/keywords'
|
KEYWORD = 'https://schema.org/keywords'
|
||||||
|
|
||||||
|
class Uri(str):
|
||||||
|
def is_uri(self): return True
|
||||||
|
def is_literal(self): return False
|
||||||
|
|
||||||
|
class Literal(str):
|
||||||
|
def is_uri(self): return False
|
||||||
|
def is_literal(self): return True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,10 @@
|
||||||
from . defs import *
|
from . defs import *
|
||||||
|
|
||||||
def Value(value, is_uri):
|
def Value(value, is_uri):
|
||||||
return {
|
if is_uri:
|
||||||
"v": value, "e": is_uri,
|
return Uri(value)
|
||||||
}
|
else:
|
||||||
|
return Literal(value)
|
||||||
|
|
||||||
def Triple(s, p, o):
|
def Triple(s, p, o):
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,10 @@
|
||||||
from . defs import *
|
from . defs import *
|
||||||
|
|
||||||
def Value(value, is_uri):
|
def Value(value, is_uri):
|
||||||
return {
|
if is_uri:
|
||||||
"v": value, "e": is_uri,
|
return Uri(value)
|
||||||
}
|
else:
|
||||||
|
return Literal(value)
|
||||||
|
|
||||||
def Triple(s, p, o):
|
def Triple(s, p, o):
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,10 @@
|
||||||
from . defs import *
|
from . defs import *
|
||||||
|
|
||||||
def Value(value, is_uri):
|
def Value(value, is_uri):
|
||||||
return {
|
if is_uri:
|
||||||
"v": value, "e": is_uri,
|
return Uri(value)
|
||||||
}
|
else:
|
||||||
|
return Literal(value)
|
||||||
|
|
||||||
def Triple(s, p, o):
|
def Triple(s, p, o):
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue