mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-26 00:46:22 +02:00
Sample docs loader (#365)
This commit is contained in:
parent
9e4eb634a4
commit
54e475fa3a
34 changed files with 818 additions and 56 deletions
|
|
@ -3,6 +3,7 @@ import json
|
|||
import base64
|
||||
|
||||
from .. knowledge import hash, Uri, Literal
|
||||
from . types import Triple
|
||||
|
||||
def to_value(x):
|
||||
if x["e"]: return Uri(x["v"])
|
||||
|
|
|
|||
|
|
@ -44,13 +44,25 @@ class Library:
|
|||
triples.append(t)
|
||||
|
||||
if metadata:
|
||||
metadata.emit(
|
||||
lambda t: triples.append({
|
||||
"s": { "v": t["s"], "e": isinstance(t["s"], Uri) },
|
||||
"p": { "v": t["p"], "e": isinstance(t["p"], Uri) },
|
||||
"o": { "v": t["o"], "e": isinstance(t["o"], Uri) }
|
||||
})
|
||||
)
|
||||
if isinstance(metadata, list):
|
||||
triples = [
|
||||
{
|
||||
"s": { "v": t.s, "e": isinstance(t.s, Uri) },
|
||||
"p": { "v": t.p, "e": isinstance(t.p, Uri) },
|
||||
"o": { "v": t.o, "e": isinstance(t.o, Uri) }
|
||||
}
|
||||
for t in metadata
|
||||
]
|
||||
elif hasattr(metadata, "emit"):
|
||||
metadata.emit(
|
||||
lambda t: triples.append({
|
||||
"s": { "v": t["s"], "e": isinstance(t["s"], Uri) },
|
||||
"p": { "v": t["p"], "e": isinstance(t["p"], Uri) },
|
||||
"o": { "v": t["o"], "e": isinstance(t["o"], Uri) }
|
||||
})
|
||||
)
|
||||
else:
|
||||
raise RuntimeError("metadata should be a list of Triples or have an emit method")
|
||||
|
||||
input = {
|
||||
"operation": "add-document",
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import dataclasses
|
||||
import datetime
|
||||
from typing import List
|
||||
from .. knowledge import hash, Uri, Literal
|
||||
|
||||
@dataclasses.dataclass
|
||||
class Triple:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue