assure("no foo graph", null != xRep.getGraph(foo));
stmts = xFooGraph.getStatements(null, null, null);
assure("stmts in foo graph", !stmts.hasMoreElements());
XOutputStream xFooOut =
new StreamSimulator(tempDir + "empty.rdf", false, param);
xRep.exportGraph(FileFormat.RDF_XML, xFooOut, foo, base);
xFooOut.closeOutput();
XInputStream xFooIn =
new StreamSimulator(tempDir + "empty.rdf", true, param);
xRep.importGraph(FileFormat.RDF_XML, xFooIn, bar, base);
assure("no bar graph", null != xRep.getGraph(bar));
log.println("...done");
log.println("Checking graph manipulation...");
XEnumeration xFooEnum;
Statement xFoo_FooBarBaz = new Statement(foo, bar, baz, foo);
xFooGraph.addStatement(foo, bar, baz);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(foo,bar,baz)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz }));
Statement xFoo_FooBarBlank = new Statement(foo, bar, blank, foo);
xFooGraph.addStatement(foo, bar, blank);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(foo,bar,blank)",
eq(xFooEnum,
new Statement[] { xFoo_FooBarBaz, xFoo_FooBarBlank }));
xFooEnum = xRep.getStatements(null, null, null);
assure("addStatement(foo,bar,blank) (global)",
eq(xFooEnum,
new Statement[] { xFoo_FooBarBaz, xFoo_FooBarBlank }));
Statement xFoo_BazBarLit = new Statement(baz, bar, lit, foo);
xFooGraph.addStatement(baz, bar, lit);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(baz,bar,lit)",
eq(xFooEnum, new Statement[] {
xFoo_FooBarBaz, xFoo_FooBarBlank, xFoo_BazBarLit }));
xFooEnum = xFooGraph.getStatements(baz, bar, null);
assure("addStatement(baz,bar,lit) (baz,bar)",
eq(xFooEnum, new Statement[] { xFoo_BazBarLit }));
Statement xFoo_BazBarLitlang =
new Statement(baz, bar, litlang, foo);
xFooGraph.addStatement(baz, bar, litlang);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(baz,bar,litlang)",
eq(xFooEnum, new Statement[] {
xFoo_FooBarBaz, xFoo_FooBarBlank, xFoo_BazBarLit,
xFoo_BazBarLitlang }));
xFooEnum = xFooGraph.getStatements(null, null, baz);
assure("addStatement(baz,bar,litlang) (baz)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz }));
Statement xFoo_BazBarLittype =
new Statement(baz, bar, littype, foo);
xFooGraph.addStatement(baz, bar, littype);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(baz,bar,littype)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz, xFoo_FooBarBlank,
xFoo_BazBarLit, xFoo_BazBarLitlang, xFoo_BazBarLittype }));
xFooGraph.removeStatements(baz, bar, litlang);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("removeStatement(baz,bar,litlang)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz, xFoo_FooBarBlank,
xFoo_BazBarLit, xFoo_BazBarLittype }));
xFooGraph.removeStatements(foo, bar, null);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("removeStatement(foo,bar,null)",
eq(xFooEnum, new Statement[] {
xFoo_BazBarLit, xFoo_BazBarLittype }));
xFooGraph.addStatement(foo, bar, baz);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(foo,bar,baz) (re-add)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz,
xFoo_BazBarLit, xFoo_BazBarLittype }));
xFooGraph.addStatement(foo, bar, baz);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(foo,bar,baz) (duplicate)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz,
xFoo_BazBarLit, xFoo_BazBarLittype }));
xFooGraph.addStatement(xFooGraph, bar, baz);
xFooEnum = xFooGraph.getStatements(null, null, null);
assure("addStatement(foo,bar,baz) (triplicate, as graph)",
eq(xFooEnum, new Statement[] { xFoo_FooBarBaz,
xFoo_BazBarLit, xFoo_BazBarLittype }));
log.println("...done");
log.println("Checking graph import/export...");
xFooOut = new StreamSimulator(tempDir + "foo.rdf", false, param);
xRep.exportGraph(FileFormat.RDF_XML, xFooOut, foo, base);
xFooOut.closeOutput();
xFooIn = new StreamSimulator(tempDir + "foo.rdf", true, param);
try {
xRep.importGraph(FileFormat.RDF_XML, xFooIn, bar, base);
assure("importing existing graph did not fail", false);