def __init__(self, store, identifier=None, graph=None): if graph is not None: assert identifier is None np = store.node_pickler identifier = md5() s = list(graph.triples((None, None, None))) s.sort() for t in s: identifier.update("^".join((np.dumps(i) for i in t))) identifier = URIRef("data:%s" % identifier.hexdigest()) super(GraphValue, self).__init__(store, identifier) for t in graph: store.add(t, context=self) else: super(GraphValue, self).__init__(store, identifier)