01: package org.ontoware.semversion.example;
02:
03: import java.io.File;
04:
05: import org.junit.Test;
06: import org.ontoware.rdf2go.model.Model;
07: import org.ontoware.rdf2go.model.node.URI;
08: import org.ontoware.rdf2go.model.node.impl.URIImpl;
09: import org.ontoware.rdf2go.vocabulary.RDF;
10: import org.ontoware.rdf2go.vocabulary.RDFS;
11: import org.ontoware.semversion.SemVersion;
12: import org.ontoware.semversion.Session;
13: import org.ontoware.semversion.Version;
14: import org.ontoware.semversion.VersionedModel;
15:
16: public class SimpleExample {
17:
18: @Test
19: public void testSimpleExample() throws Exception {
20:
21: // prepare server
22: SemVersion semVersion = new SemVersion();
23: // initialise system
24: semVersion.startup(new File("./target/test/SimpleExample"));
25: semVersion.deleteStore();
26:
27: semVersion.createUser("admin", "password");
28: semVersion.createUser("tom", "password");
29: semVersion.createUser("joe", "password");
30:
31: // prepare versioned model
32: Session adminSession = semVersion.login("admin", "password");
33: adminSession.createVersionedModel(new URIImpl("vm://1"),
34: "Gene Ontology");
35: adminSession.close();
36:
37: // use it
38: Session userSession = semVersion.login("tom", "password");
39: VersionedModel vm = userSession
40: .getVersionedModel("Gene Ontology");
41: Model myFirstModel = userSession.getModel();
42: URI tool = new URIImpl("http://example.com/#Tool");
43: myFirstModel.addStatement(new URIImpl(
44: "http://semversion.ontoware.org"), RDF.type, tool);
45: vm.commitRoot(myFirstModel, "version1");
46: userSession.close();
47:
48: // suggest to add a label
49: userSession = semVersion.login("joe", "password");
50: Version root = userSession.getVersionedModel("Gene Ontology")
51: .getRoot();
52: root.setComment("root version");
53: Model rootModel = root.getContent();
54: rootModel.addStatement(new URIImpl(
55: "http://semversion.ontoware.org"), RDFS.label,
56: "rdf-based versioning tool");
57: root.commit(rootModel, "version2", true);
58: // root.commit(rootModel, "version2", URIUtils.createURI("version://2"),
59: // new ValidTime(), VersionImpl.NO_PROVENANCE, true);
60:
61: semVersion.dump();
62:
63: // free resources
64: semVersion.shutdown();
65: }
66:
67: }
|