@Override public void compute(Quad quad) { logger.debug("Computing : {} ", quad.asTriple().toString()); Node subject = quad.getSubject(); Node object = quad.getObject(); if (quad.getObject().equals(FOAF.Document.asNode())) { docs.putIfAbsent(subject.toString(), new DigitalSignature()); } if (quad.getPredicate().equals(ASSURANCE.asNode())) { DigitalSignature ds; if (endorsements.containsKey(object.getURI())) { ds = endorsements.get(object.getURI()); } else { ds = new DigitalSignature(); ds.endorcement = object.getURI(); } ds.assurance = subject.getURI(); docs.put(subject.toString(), ds); endorsements.put(object.getURI(), ds); } if (quad.getPredicate().equals(ENDORSER.asNode())) { DigitalSignature ds; if (endorsements.containsKey(object.getURI())) { ds = endorsements.get(object.getURI()); } else { ds = new DigitalSignature(); ds.endorcement = subject.getURI(); } ds.endorcer = object.getURI(); } if (quad.getObject().equals(ENDORSEMENT.asNode())) { DigitalSignature ds = new DigitalSignature(); ds.endorcement = subject.getURI(); endorsements.putIfAbsent(subject.getURI(), ds); } }