WIP rdf graph processing library

This commit is contained in:
lash
2023-04-30 07:38:42 +01:00
parent 929a042c95
commit d4a1df3ec9
6 changed files with 51 additions and 25 deletions

View File

@@ -1,17 +1,44 @@
# standard imports
import sys
import enum
# external imports
from rdflib import Graph
from rdflib import Graph, RDF
from rdflib.term import URIRef
from rdflib.collection import Collection
class CIC(enum.Enum):
voucherContract = URIRef('https://defalsify.org/rdf-eth/0.1/voucherContract')
voucherTransfer = URIRef('https://defalsify.org/rdf-eth/0.1/voucherTransfer')
class Cert:
def __init__(self, path):
def __init__(self):
self.g = Graph()
self.g.parse(path, format='turtle')
self.txs = {}
self.typ = None
@classmethod
def from_path(cls, path):
c = cls()
c.g.parse(path, format='turtle')
c.__apply_graph()
return c
def __apply_graph(self):
current_subject = None
for (s, p, o) in self.g:
if s != current_subject:
current_subject = s
if p == RDF.first:
pass
print('{} {} {}'.format(s, p, o))
def export(self, w=sys.stdout):
v = self.g.serialize(format='xml')
w.write(v)