package com.franz.ag.repository.examples;
import com.franz.ag.repository.AGRepository;
import com.franz.agbase.AllegroGraph;
import com.franz.agbase.AllegroGraphConnection;
import com.franz.agbase.AllegroGraphException;
import com.franz.agbase.examples.AGPaths;
import org.openrdf.model.BNode;
import org.openrdf.model.Literal;
import org.openrdf.model.URI;
import org.openrdf.model.ValueFactory;
import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryConnection;
public class AGRepositoryValueFactory {
public static final String FOAF_NS = "http://xmlns.com/foaf/0.1/";
public static final String DC_NS = "http://purl.org/dc/elements/1.1/";
public static final String TEST_DIR_PREFIX = "/testcases/";
public static ValueFactory vf;
public static BNode bob;
public static BNode alice;
public static BNode alexander;
public static URI name;
public static URI mbox;
public static URI publisher;
public static URI unknownContext;
public static URI context1;
public static URI context2;
public static Literal nameAlice;
public static Literal nameBob;
public static Literal mboxAlice;
public static Literal mboxBob;
/**
* Demonstrates basic use of a Repository's ValueFactory to create
* BNode's, URI's, and Literals.
*
* These values are also used by other examples.
*
* @param args
* unused
* @throws AllegroGraphException
*/
public static void main(String[] args) throws Exception {
// Connect to the server, which must already be running.
AllegroGraphConnection ags = new AllegroGraphConnection();
try {
ags.enable();
} catch (Exception e) {
throw new AllegroGraphException("Server connection problem", e);
}
// Create a fresh triple store and Repository
AllegroGraph ts = ags.renew("valuefactory", AGPaths.TRIPLE_STORES);
Repository repo = new AGRepository(ts);
repo.initialize();
RepositoryConnection repoConn = repo.getConnection();
// Get the ValueFactory for the Repository and create some example values.
ValueFactory vf = repo.getValueFactory();
createExampleValues(vf);
System.out.println("Using Repository's ValueFactory to create example values.");
// Now we can use the values in an application
repoConn.add(alice, name, nameAlice, context1);
System.out.println("Added a statement involving some values to the repository.");
// Close the RepositoryConnection and shutdown the Repository
// Close the store and disconnect from the server
repoConn.close();
repo.shutDown();
ts.closeTripleStore();
ags.disable();
}
public static void createExampleValues(ValueFactory vf) {
bob = vf.createBNode();
alice = vf.createBNode();
alexander = vf.createBNode();
name = vf.createURI(FOAF_NS + "name");
mbox = vf.createURI(FOAF_NS + "mbox");
publisher = vf.createURI(DC_NS + "publisher");
nameAlice = vf.createLiteral("Alice");
nameBob = vf.createLiteral("Bob");
mboxAlice = vf.createLiteral("[email protected]");
mboxBob = vf.createLiteral("[email protected]");
context1 = vf.createURI("urn:x-local:graph1");
context2 = vf.createURI("urn:x-local:graph2");
}
}
Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement |