mulgara - semantic store

skip navigation

SHOW SITE NAV
fixed
fluid
straight

Reify Triples

A statement can be made about another statement using reification. JRDF supports reification via a TripleFactory obtained using a graph's getTripleFactory() method. The following code inserts a reified statement:

TripleFactory tripleFactory = graph.getTripleFactory();

//create a resource to identify the statement
URIReference statement = elementFactory.createResource
(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.createResource(new URI("http://example.org/managerid#65"));
URIReference hasConfirmed = elementFactory.createResource
(new URI("http://example.org/terms#hasConfirmed"));
Triple confirmationStatement = elementFactory.createTriple(manager, hasConfirmed, statement);
graph.add(confirmationStatement);

The graph now contains:

http://example.org/staffid#85740  http://example.org/terms#address     _blankNode123
_blankNode123                     http://example.org/terms#street      "1501 Grant Avenue"
_blankNode123                     http://example.org/terms#city        "Bedford"
_blankNode123                     http://example.org/terms#state       "Massachusetts"
_blankNode123                     http://example.org/terms#postalCode  "01730"

http://example.org/managerid#65       http://example.org/terms#hasConfirmed
  http://example.org/statement#address
http://example.org/statement#address  http://www.w3.org/1999/02/22-rdf-syntax-ns#subject
  http://example.org/staffid#85740
http://example.org/statement#address  http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate
  http://example.org/terms#address
http://example.org/statement#address  http://www.w3.org/1999/02/22-rdf-syntax-ns#object
  _blankNode123
http://example.org/statement#address  http://www.w3.org/1999/02/22-rdf-syntax-ns#type
  http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement

Valid XHTML 1.0 TransitionalValid CSS 3.0!