private void performReification(Graph graph) throws Exception {
System.out.println("Reifying a statement...");
//get the Factories
GraphElementFactory elementFactory = graph.getElementFactory();
TripleFactory tripleFactory = graph.getTripleFactory();
//create a resource to identify the statement
URIReference statement = elementFactory.createURIReference(new URI("http://example.org/statement#address"));
//reify the address statement (person, hasAddress, address)
tripleFactory.reifyTriple(addressStatement, statement);
//insert a statement about the original statement
URIReference manager = elementFactory.createURIReference(new URI("http://example.org/managerid#65"));
URIReference hasConfirmed = elementFactory.createURIReference(new URI("http://example.org/terms#hasConfirmed"));
Triple confirmationStatement = tripleFactory.createTriple(manager, hasConfirmed, statement);
graph.add(confirmationStatement);
//print the contents
print("Graph contains (after reification): ", graph);
}