WIP rdf graph processing library
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user