You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/12/10 18:25:16 UTC
svn commit: r1419595 [6/6] - in /jena/trunk: jena-arq/
jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/
jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/
jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/
jena-arq/src/main/java/org/openjena/ri...
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestInferenceReification.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestInferenceReification.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestInferenceReification.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/TestInferenceReification.java Mon Dec 10 17:25:00 2012
@@ -26,7 +26,6 @@ import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.reasoner.*;
import com.hp.hpl.jena.reasoner.rulesys.*;
import com.hp.hpl.jena.reasoner.test.TestUtil;
-import com.hp.hpl.jena.shared.ReificationStyle;
import com.hp.hpl.jena.util.PrintUtil;
import junit.framework.TestSuite;
@@ -50,11 +49,7 @@ public class TestInferenceReification ex
@Override
public Graph getGraph()
- { return getGraph( ReificationStyle.Minimal ); }
-
- @Override
- public Graph getGraph( ReificationStyle style )
- { return makeInfGraph( "", "", style ); }
+ { return makeInfGraph( "", "" ); }
/**
* Case 1: Rules construct a reified statement, is that
@@ -64,51 +59,13 @@ public class TestInferenceReification ex
String rules =
"[r1: (?x eh:p ?o) -> (?o rdf:type rdf:Statement) (?o rdf:subject ?x)" +
" (?o rdf:predicate eh:q) (?o rdf:object 42)]";
- Model m = makeInfModel( rules, "r1 p r", ReificationStyle.Standard );
+ Model m = makeInfModel( rules, "r1 p r" );
TestUtil.assertIteratorLength( m.listReifiedStatements(), 1 );
}
- public void testBindFixesStyle()
- {
- testBindCopiesStyle( ruleBaseReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getRDFSReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getTransitiveReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getOWLMicroReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getOWLMiniReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getOWLReasoner() );
- testBindCopiesStyle( ReasonerRegistry.getRDFSSimpleReasoner() );
- }
-
- private void testBindCopiesStyle( Reasoner r )
- {
- testCopiesStyle( r, ReificationStyle.Minimal );
- testCopiesStyle( r, ReificationStyle.Standard );
- testCopiesStyle( r, ReificationStyle.Convenient );
- }
-
- private void testCopiesStyle( Reasoner r, ReificationStyle style )
- {
- assertEquals( style, r.bind( graphWith( "", style ) ).getReifier().getStyle() );
- }
-
private Reasoner ruleBaseReasoner()
{ return new FBRuleReasoner( Rule.parseRules( "" ) ); }
- public void testRetainsStyle()
- {
- testRetainsStyle( ReificationStyle.Standard );
- testRetainsStyle( ReificationStyle.Convenient );
- testRetainsStyle( ReificationStyle.Minimal );
- }
-
- private void testRetainsStyle( ReificationStyle style )
- {
- BasicForwardRuleInfGraph g = (BasicForwardRuleInfGraph) getGraph( style );
- assertEquals( style, g.getReifier().getStyle() );
- assertEquals( style, g.getRawGraph().getReifier().getStyle() );
- assertEquals( style, g.getDeductionsGraph().getReifier().getStyle() );
- }
-
public void testConstructingModelDoesntForcePreparation()
{
Model m = makeInfModel( "", "" );
@@ -132,27 +89,20 @@ public class TestInferenceReification ex
* Internal helper: create an InfGraph with given rule set and base data.
* The base data is encoded in kers-special RDF syntax.
*/
- private InfGraph makeInfGraph(String rules, String data, ReificationStyle style ) {
+ private InfGraph makeInfGraph(String rules, String data) {
PrintUtil.registerPrefix("eh", "eh:/");
- Graph base = graphWith( data, style );
+ Graph base = graphWith( data );
List<Rule> ruleList = Rule.parseRules(rules);
return new FBRuleReasoner(ruleList).bind( base );
}
- private Graph graphWith( String data, ReificationStyle style )
- { return graphAdd( Factory.createDefaultGraph( style ), data ); }
-
/**
* Internal helper: create a Model which wraps an InfGraph with given rule set and base data.
* The base data is encoded in kers-special RDF syntax.
- * @param style TODO
*/
- private Model makeInfModel( String rules, String data, ReificationStyle style ) {
- return ModelFactory.createModelForGraph( makeInfGraph(rules, data, style ) );
- }
private Model makeInfModel( String rules, String data ) {
- return makeInfModel( rules, data, ReificationStyle.Minimal );
+ return ModelFactory.createModelForGraph( makeInfGraph(rules, data ) );
}
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/WebOntTestHarness.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/WebOntTestHarness.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/WebOntTestHarness.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/rulesys/test/WebOntTestHarness.java Mon Dec 10 17:25:00 2012
@@ -18,18 +18,18 @@
package com.hp.hpl.jena.reasoner.rulesys.test;
-import com.hp.hpl.jena.graph.query.*;
-import com.hp.hpl.jena.graph.*;
-import com.hp.hpl.jena.ontology.OntModelSpec;
-import com.hp.hpl.jena.rdf.model.*;
-
-import com.hp.hpl.jena.reasoner.*;
-import com.hp.hpl.jena.reasoner.rulesys.FBRuleInfGraph;
-import com.hp.hpl.jena.reasoner.test.WGReasonerTester;
-import com.hp.hpl.jena.vocabulary.*;
+import java.io.* ;
+import java.util.* ;
-import java.io.*;
-import java.util.*;
+import com.hp.hpl.jena.ontology.OntModelSpec ;
+import com.hp.hpl.jena.rdf.model.* ;
+import com.hp.hpl.jena.reasoner.InfGraph ;
+import com.hp.hpl.jena.reasoner.Reasoner ;
+import com.hp.hpl.jena.reasoner.ReasonerException ;
+import com.hp.hpl.jena.reasoner.ReasonerRegistry ;
+import com.hp.hpl.jena.reasoner.rulesys.FBRuleInfGraph ;
+import com.hp.hpl.jena.reasoner.test.WGReasonerTester ;
+import com.hp.hpl.jena.vocabulary.* ;
/**
* Test harness for running the WebOnt working group tests relevant
@@ -377,7 +377,7 @@ public class WebOntTestHarness {
((FBRuleInfGraph)graph).resetLPProfile(true);
}
Model result = ModelFactory.createModelForGraph(graph);
- boolean correct = testEntailment(conclusions.getGraph(), result.getGraph());
+ boolean correct = WGReasonerTester.testConclusions(conclusions.getGraph(), result.getGraph());
long t2 = System.currentTimeMillis();
lastTestDuration = t2 - t1;
if (printProfile) {
@@ -468,18 +468,6 @@ public class WebOntTestHarness {
}
/**
- * Test a conclusions graph against a result graph. This works by
- * translating the conclusions graph into a find query which contains one
- * variable for each distinct bNode in the conclusions graph.
- */
- public boolean testEntailment(Graph conclusions, Graph result) {
- QueryHandler qh = result.queryHandler();
- GraphQuery query = WGReasonerTester.graphToQuery(conclusions);
- Iterator<Domain> i = qh.prepareBindings(query, new Node[] {}).executeBindings();
- return i.hasNext();
- }
-
- /**
* Example the conclusions graph for introduction of restrictions which
* require a comprehension rewrite and declare new (anon) classes
* for those restrictions.
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestInfGraph.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestInfGraph.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestInfGraph.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestInfGraph.java Mon Dec 10 17:25:00 2012
@@ -18,13 +18,12 @@
package com.hp.hpl.jena.reasoner.test;
-import junit.framework.*;
+import junit.framework.TestSuite ;
-import com.hp.hpl.jena.graph.Graph;
-import com.hp.hpl.jena.graph.test.AbstractTestGraph;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.reasoner.InfGraph;
-import com.hp.hpl.jena.reasoner.rulesys.BasicFBReifier;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.test.AbstractTestGraph ;
+import com.hp.hpl.jena.rdf.model.ModelFactory ;
+import com.hp.hpl.jena.reasoner.InfGraph ;
/**
Needs extending; relys on knowing that the only InfGraph currently used is
@@ -56,12 +55,6 @@ public class TestInfGraph extends Abstra
assertSame( ig.getPrefixMapping(), ig.getRawGraph().getPrefixMapping() );
}
- public void testInfReification()
- {
- InfGraph ig = getInfGraph();
- assertInstanceOf( BasicFBReifier.class, ig.getReifier() );
- }
-
/**
Placeholder. Will need revision later.
*/
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestRDFSReasoners.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestRDFSReasoners.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestRDFSReasoners.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/TestRDFSReasoners.java Mon Dec 10 17:25:00 2012
@@ -274,7 +274,7 @@ public class TestRDFSReasoners extends R
} else if (file.endsWith("n3")) {
langType = "N3";
}
- Model m = ModelFactory.createNonreifyingModel();
+ Model m = ModelFactory.createDefaultModel();
Reader reader = new BufferedReader(new FileReader("testing/reasoners/rdfs/"+file));
m.read(reader, WGReasonerTester.BASE_URI + file, langType);
InfGraph g = rf.create(null).bind(m.getGraph());
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java Mon Dec 10 17:25:00 2012
@@ -18,24 +18,31 @@
package com.hp.hpl.jena.reasoner.test;
-import com.hp.hpl.jena.rdf.model.*;
-import com.hp.hpl.jena.graph.*;
-import com.hp.hpl.jena.graph.query.*;
-import com.hp.hpl.jena.rdf.model.impl.PropertyImpl;
-import com.hp.hpl.jena.rdf.model.impl.ResourceImpl;
-import com.hp.hpl.jena.reasoner.*;
-import com.hp.hpl.jena.vocabulary.RDF;
-import com.hp.hpl.jena.rdf.arp.ARPTests;
-
-import com.hp.hpl.jena.shared.*;
-
-import junit.framework.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
+import java.io.BufferedInputStream ;
+import java.io.FileInputStream ;
+import java.io.IOException ;
+import java.io.InputStream ;
+import java.net.URL ;
+import java.util.ArrayList ;
+import java.util.Iterator ;
+import java.util.List ;
+
+import junit.framework.Assert ;
+import junit.framework.TestCase ;
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
+
+import com.hp.hpl.jena.graph.Factory ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.rdf.arp.ARPTests ;
+import com.hp.hpl.jena.rdf.model.* ;
+import com.hp.hpl.jena.rdf.model.impl.PropertyImpl ;
+import com.hp.hpl.jena.rdf.model.impl.ResourceImpl ;
+import com.hp.hpl.jena.reasoner.InfGraph ;
+import com.hp.hpl.jena.reasoner.Reasoner ;
+import com.hp.hpl.jena.reasoner.ReasonerFactory ;
+import com.hp.hpl.jena.shared.JenaException ;
+import com.hp.hpl.jena.vocabulary.RDF ;
/**
* A utility to support execution of the RDFCode working group entailment
@@ -157,7 +164,7 @@ public class WGReasonerTester {
} else if (file.endsWith("n3")) {
langType = "N3";
}
- Model result = ModelFactory.createNonreifyingModel();
+ Model result = ModelFactory.createDefaultModel();
String fname = file;
if (fname.startsWith(BASE_URI)) {
fname = fname.substring(BASE_URI.length());
@@ -292,7 +299,7 @@ public class WGReasonerTester {
}
// Load up the premise documents
- Model premises = ModelFactory.createNonreifyingModel();
+ Model premises = ModelFactory.createDefaultModel();
for (StmtIterator premisesI = test.listProperties(premiseDocumentP); premisesI.hasNext(); ) {
premises.add(loadFile(premisesI.nextStatement().getObject().toString()));
}
@@ -364,62 +371,27 @@ public class WGReasonerTester {
// Signal the results
if (testcase != null) {
+// if ( !correct )
+// {
+// boolean b = testConclusions(conclusions.getGraph(), result.getGraph());
+// System.out.println("**** actual") ;
+// result.write(System.out, "TTL") ;
+// System.out.println("**** expected") ;
+// conclusions.write(System.out, "TTL") ;
+// }
Assert.assertTrue("Test: " + test + "\n" + description, correct);
}
return correct?goodResult:FAIL;
}
/**
- * Test a conclusions graph against a result graph. This works by
+ * Test a conclusions graph against a result graph.
+ * This works by
* translating the conclusions graph into a find query which contains one
* variable for each distinct bNode in the conclusions graph.
*/
- private boolean testConclusions(Graph conclusions, Graph result) {
- QueryHandler qh = result.queryHandler();
- GraphQuery query = graphToQuery(conclusions);
- Iterator<Domain> i = qh.prepareBindings(query, new Node[] {}).executeBindings();
- return i.hasNext();
+ public static boolean testConclusions(Graph conclusions, Graph result) {
+ return Matcher.subgraphInferred(conclusions, result) ;
}
-
- /**
- * Translate a conclusions graph into a query pattern
- */
- public static GraphQuery graphToQuery(Graph graph) {
- HashMap<Node, Node> bnodeToVar = new HashMap<Node, Node>();
- GraphQuery query = new GraphQuery();
- for (Iterator<Triple> i = graph.find(null, null, null); i.hasNext(); ) {
- Triple triple = i.next();
- query.addMatch(
- translate(triple.getSubject(), bnodeToVar),
- translate(triple.getPredicate(), bnodeToVar),
- translate(triple.getObject(), bnodeToVar) );
- }
- return query;
- }
-
- /**
- * Translate a blank node to a variable node
- * @param node the bNode to translate
- * @param bnodeToVar a map of translations already known about
- * @return a variable node
- */
- private static Node translate(Node node, HashMap<Node, Node> bnodeToVar) {
- String varnames = "abcdefghijklmnopqrstuvwxyz";
- if (node.isBlank()) {
- Node t = bnodeToVar.get(node);
- if (t == null) {
- int i = bnodeToVar.size();
- if (i > varnames.length()) {
- throw new ReasonerException("Too many bnodes in query");
- }
- t = Node.createVariable(varnames.substring(i, i+1));
- bnodeToVar.put(node, t);
- }
- return t;
- } else {
- return node;
- }
- }
-
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java Mon Dec 10 17:25:00 2012
@@ -33,7 +33,6 @@ public class TestSharedPackage extends T
TestSuite result = new TestSuite();
result.addTest( TestPrefixMapping.suite() );
result.addTest( TestJenaException.suite() );
- result.addTest( TestReificationStyle.suite() );
result.addTest( RandomizedTestSuiteRegression.suite() );
return result;
}
Modified: jena/trunk/jena-fuseki/pom.xml
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/pom.xml?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/pom.xml (original)
+++ jena/trunk/jena-fuseki/pom.xml Mon Dec 10 17:25:00 2012
@@ -94,19 +94,19 @@
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
- <version>2.9.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
- <version>2.7.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-tdb</artifactId>
- <version>0.9.5-SNAPSHOT</version>
+ <version>0.10.0-SNAPSHOT</version>
</dependency>
<!--
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java Mon Dec 10 17:25:00 2012
@@ -19,9 +19,10 @@
package org.apache.jena.fuseki.http;
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
/**
* General implementation of operations for the SPARQL HTTP Update protocol
@@ -113,12 +114,12 @@ public class DatasetGraphAccessorBasic i
private void clearGraph(Graph graph)
{
if ( ! graph.isEmpty() )
- graph.getBulkUpdateHandler().removeAll() ;
+ graph.clear() ;
}
private void mergeGraph(Graph graph, Graph data)
{
- graph.getBulkUpdateHandler().add(data) ;
+ GraphUtil.addInto(graph, data) ;
}
}
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java Mon Dec 10 17:25:00 2012
@@ -52,6 +52,7 @@ import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -243,7 +244,7 @@ public abstract class SPARQL_REST extend
protected static void deleteGraph(HttpActionREST action)
{
if ( action.getTarget().isDefault )
- action.getTarget().graph().getBulkUpdateHandler().removeAll() ;
+ action.getTarget().graph().clear() ;
else
action.getActiveDSG().removeGraph(action.getTarget().graphName) ;
}
@@ -253,7 +254,7 @@ public abstract class SPARQL_REST extend
if ( ! target.isGraphSet() )
{
Graph g = target.graph() ;
- g.getBulkUpdateHandler().removeAll() ;
+ g.clear() ;
}
}
@@ -272,7 +273,7 @@ public abstract class SPARQL_REST extend
g = GraphFactory.createDefaultGraph() ;
dest.dsg.addGraph(dest.graphName, g) ;
}
- g.getBulkUpdateHandler().add(data) ;
+ GraphUtil.addInto(g, data) ;
} catch (RuntimeException ex)
{
// If anything went wrong, try to backout.
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java Mon Dec 10 17:25:00 2012
@@ -44,6 +44,7 @@ import org.openjena.riot.lang.SinkTriple
import org.openjena.riot.system.IRIResolver ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
@@ -101,13 +102,15 @@ public class SPARQL_Upload extends SPARQ
log.info(format("[%d] Upload: Graph: %s (%d triple(s))",
action.id, graphName, tripleCount)) ;
+ Graph target ;
if ( graphName.equals(HttpNames.valueDefault) )
- action.getActiveDSG().getDefaultGraph().getBulkUpdateHandler().add(graphTmp) ;
+ target = action.getActiveDSG().getDefaultGraph() ;
else
{
Node gn = Node.createURI(graphName) ;
- action.getActiveDSG().getGraph(gn).getBulkUpdateHandler().add(graphTmp) ;
+ target = action.getActiveDSG().getGraph(gn) ;
}
+ GraphUtil.addInto(target, graphTmp) ;
tripleCount = graphTmp.size();
action.commit() ;
} catch (RuntimeException ex)
Modified: jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorBase.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorBase.java (original)
+++ jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorBase.java Mon Dec 10 17:25:00 2012
@@ -23,6 +23,7 @@ import org.apache.jena.fuseki.http.Datas
import org.junit.Test ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
public abstract class TestDatasetGraphAccessorBase extends BaseServerTest
@@ -83,8 +84,8 @@ public abstract class TestDatasetGraphAc
Graph graph = updater.httpGet() ;
Graph graph3 = GraphFactory.createDefaultGraph() ;
- graph3.getBulkUpdateHandler().add(graph1) ;
- graph3.getBulkUpdateHandler().add(graph2) ;
+ GraphUtil.addInto(graph3, graph1) ;
+ GraphUtil.addInto(graph3, graph2) ;
assertTrue(graph.isIsomorphicWith(graph3)) ;
assertFalse(graph.isIsomorphicWith(graph1)) ;
assertFalse(graph.isIsomorphicWith(graph2)) ;
@@ -97,8 +98,8 @@ public abstract class TestDatasetGraphAc
updater.httpPost(n1, graph2) ;
Graph graph = updater.httpGet(n1) ;
Graph graph3 = GraphFactory.createDefaultGraph() ;
- graph3.getBulkUpdateHandler().add(graph1) ;
- graph3.getBulkUpdateHandler().add(graph2) ;
+ GraphUtil.addInto(graph3, graph1) ;
+ GraphUtil.addInto(graph3, graph2) ;
assertTrue(graph.isIsomorphicWith(graph3)) ;
assertFalse(graph.isIsomorphicWith(graph1)) ;
assertFalse(graph.isIsomorphicWith(graph2)) ;
Modified: jena/trunk/jena-sdb/pom.xml
URL: http://svn.apache.org/viewvc/jena/trunk/jena-sdb/pom.xml?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-sdb/pom.xml (original)
+++ jena/trunk/jena-sdb/pom.xml Mon Dec 10 17:25:00 2012
@@ -43,8 +43,8 @@
<properties>
<this.root>${project.artifactId}-${project.version}</this.root>
- <ver.jena>2.7.5-SNAPSHOT</ver.jena>
- <ver.arq>2.9.5-SNAPSHOT</ver.arq>
+ <ver.jena>2.10.0-SNAPSHOT</ver.jena>
+ <ver.arq>2.10.0-SNAPSHOT</ver.arq>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
<build.time.xsd>${maven.build.timestamp}</build.time.xsd>
</properties>
Modified: jena/trunk/jena-sdb/src-dev/dev/TestStores2Connections1.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-sdb/src-dev/dev/TestStores2Connections1.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-sdb/src-dev/dev/TestStores2Connections1.java (original)
+++ jena/trunk/jena-sdb/src-dev/dev/TestStores2Connections1.java Mon Dec 10 17:25:00 2012
@@ -57,7 +57,7 @@ public class TestStores2Connections1
store1.getConnection().getTransactionHandler().begin() ;
Graph graph1 = SDBFactory.connectDefaultGraph(store1) ;
- graph1.getBulkUpdateHandler().removeAll() ;
+ graph1.clear() ;
SSE.write(graph1) ; System.out.println();
graph1.add(t1) ;
SSE.write(graph1) ; System.out.println();
Modified: jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/GraphSDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/GraphSDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/GraphSDB.java (original)
+++ jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/GraphSDB.java Mon Dec 10 17:25:00 2012
@@ -18,40 +18,37 @@
package com.hp.hpl.jena.sdb.graph;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.ArrayList ;
+import java.util.List ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
-import com.hp.hpl.jena.graph.*;
-import com.hp.hpl.jena.graph.impl.AllCapabilities;
-import com.hp.hpl.jena.graph.query.QueryHandler;
-import com.hp.hpl.jena.query.Query;
-import com.hp.hpl.jena.sdb.SDB;
-import com.hp.hpl.jena.sdb.Store;
-import com.hp.hpl.jena.sdb.core.SDBRequest;
-import com.hp.hpl.jena.sdb.engine.QueryEngineSDB;
-import com.hp.hpl.jena.sdb.sql.SDBConnection;
-import com.hp.hpl.jena.sdb.store.DatasetStoreGraph;
-import com.hp.hpl.jena.sdb.store.StoreLoader;
-import com.hp.hpl.jena.sdb.store.StoreLoaderPlus;
-import com.hp.hpl.jena.shared.PrefixMapping;
-import com.hp.hpl.jena.sparql.algebra.Op;
-import com.hp.hpl.jena.sparql.algebra.op.OpQuadPattern;
-import com.hp.hpl.jena.sparql.core.BasicPattern;
-import com.hp.hpl.jena.sparql.core.Quad;
-import com.hp.hpl.jena.sparql.core.Var;
-import com.hp.hpl.jena.sparql.engine.Plan;
-import com.hp.hpl.jena.sparql.engine.QueryIterator;
-import com.hp.hpl.jena.sparql.engine.binding.Binding;
-import com.hp.hpl.jena.sparql.engine.binding.BindingRoot;
-import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper;
+import com.hp.hpl.jena.graph.* ;
+import com.hp.hpl.jena.graph.impl.AllCapabilities ;
+import com.hp.hpl.jena.query.Query ;
+import com.hp.hpl.jena.sdb.SDB ;
+import com.hp.hpl.jena.sdb.Store ;
+import com.hp.hpl.jena.sdb.core.SDBRequest ;
+import com.hp.hpl.jena.sdb.engine.QueryEngineSDB ;
+import com.hp.hpl.jena.sdb.sql.SDBConnection ;
+import com.hp.hpl.jena.sdb.store.DatasetStoreGraph ;
+import com.hp.hpl.jena.sdb.store.StoreLoader ;
+import com.hp.hpl.jena.sdb.store.StoreLoaderPlus ;
+import com.hp.hpl.jena.shared.PrefixMapping ;
+import com.hp.hpl.jena.sparql.algebra.Op ;
+import com.hp.hpl.jena.sparql.algebra.op.OpQuadPattern ;
+import com.hp.hpl.jena.sparql.core.BasicPattern ;
+import com.hp.hpl.jena.sparql.core.Quad ;
+import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.engine.Plan ;
+import com.hp.hpl.jena.sparql.engine.QueryIterator ;
+import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingRoot ;
+import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
import com.hp.hpl.jena.sparql.graph.GraphBase2 ;
-import com.hp.hpl.jena.util.iterator.ExtendedIterator;
-import com.hp.hpl.jena.util.iterator.NiceIterator;
-
-
+import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
+import com.hp.hpl.jena.util.iterator.NiceIterator ;
public class GraphSDB extends GraphBase2 implements Graph
{
@@ -255,6 +252,7 @@ public class GraphSDB extends GraphBase2
public StoreLoader getBulkLoader() { return store.getLoader() ; }
+ @Deprecated
@Override
public BulkUpdateHandler getBulkUpdateHandler()
{
@@ -263,12 +261,6 @@ public class GraphSDB extends GraphBase2
}
@Override
- public QueryHandler queryHandler()
- {
- return new GraphQueryHandlerSDB(this, graphNode, datasetStore) ;
- }
-
- @Override
public GraphEventManager getEventManager()
{
if (gem == null) gem = new EventManagerSDB( this );
Modified: jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/UpdateHandlerSDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/UpdateHandlerSDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/UpdateHandlerSDB.java (original)
+++ jena/trunk/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/graph/UpdateHandlerSDB.java Mon Dec 10 17:25:00 2012
@@ -110,7 +110,4 @@ public class UpdateHandlerSDB extends Si
try { ((GraphSDB) graph).startBulkUpdate(); ((GraphSDB) graph).deleteAll(); }
finally { ((GraphSDB) graph).finishBulkUpdate(); }
}
-
-
-
}
Modified: jena/trunk/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/graph/AbstractTestGraphSDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/graph/AbstractTestGraphSDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/graph/AbstractTestGraphSDB.java (original)
+++ jena/trunk/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/graph/AbstractTestGraphSDB.java Mon Dec 10 17:25:00 2012
@@ -20,7 +20,7 @@ package com.hp.hpl.jena.sdb.test.graph;
import com.hp.hpl.jena.graph.test.AbstractTestGraph;
-public class AbstractTestGraphSDB extends AbstractTestGraph
+public abstract class AbstractTestGraphSDB extends AbstractTestGraph
{
public AbstractTestGraphSDB(String x) { super(x); }
// Tests to skip.
Modified: jena/trunk/jena-tdb/pom.xml
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/pom.xml?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/pom.xml (original)
+++ jena/trunk/jena-tdb/pom.xml Mon Dec 10 17:25:00 2012
@@ -22,7 +22,7 @@
<artifactId>jena-tdb</artifactId>
<packaging>jar</packaging>
<name>Apache Jena - TDB (Native Triple Store)</name>
- <version>0.9.5-SNAPSHOT</version>
+ <version>0.10.0-SNAPSHOT</version>
<parent>
<groupId>org.apache.jena</groupId>
@@ -62,28 +62,28 @@
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
- <version>2.9.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<classifier>tests</classifier>
- <version>2.9.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
- <version>2.7.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
<classifier>tests</classifier>
- <version>2.7.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/graph/BulkUpdateHandlerTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/graph/BulkUpdateHandlerTDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/graph/BulkUpdateHandlerTDB.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/graph/BulkUpdateHandlerTDB.java Mon Dec 10 17:25:00 2012
@@ -18,19 +18,11 @@
package com.hp.hpl.jena.tdb.graph;
-import java.util.Iterator;
-
-import org.apache.jena.atlas.lib.Tuple ;
-
-
-
-import com.hp.hpl.jena.graph.BulkUpdateHandler;
-import com.hp.hpl.jena.graph.GraphEvents;
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.graph.impl.SimpleBulkUpdateHandler;
-import com.hp.hpl.jena.tdb.nodetable.NodeTupleTable ;
-import com.hp.hpl.jena.tdb.store.GraphTDBBase;
-import com.hp.hpl.jena.tdb.store.NodeId;
+import com.hp.hpl.jena.graph.BulkUpdateHandler ;
+import com.hp.hpl.jena.graph.GraphEvents ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.impl.SimpleBulkUpdateHandler ;
+import com.hp.hpl.jena.tdb.store.GraphTDBBase ;
public class BulkUpdateHandlerTDB extends SimpleBulkUpdateHandler implements BulkUpdateHandler
{
@@ -42,75 +34,24 @@ public class BulkUpdateHandlerTDB extend
this.graphTDB = graph ;
}
+ @Deprecated
@Override
public void remove(Node s, Node p, Node o)
{
s = fix(s) ;
p = fix(p) ;
o = fix(o) ;
- removeWorker(s,p,o) ;
+ GraphTDBBase.removeWorker(graphTDB, s,p,o) ;
manager.notifyEvent( graph, GraphEvents.remove( s, p, o ) );
}
private static Node fix(Node n) { return (n!=null)? n : Node.ANY ; }
+ @Deprecated
@Override
public void removeAll()
{
- removeWorker(null, null, null) ;
+ GraphTDBBase.removeWorker(graphTDB, null, null, null) ;
notifyRemoveAll();
}
-
- private static final int sliceSize = 1000 ;
-
- private void removeWorker(Node s, Node p, Node o)
- {
- graphTDB.startUpdate() ;
-
- // Delete in batches.
- // That way, there is no active iterator when a delete
- // from the indexes happens.
-
- NodeTupleTable t = graphTDB.getNodeTupleTable() ;
- Node gn = graphTDB.getGraphNode() ;
-
- @SuppressWarnings("unchecked")
- Tuple<NodeId>[] array = (Tuple<NodeId>[])new Tuple<?>[sliceSize] ;
-
- while (true)
- {
- // Convert/cache s,p,o?
- // The Node Cache will catch these so don't worry unduely.
- Iterator<Tuple<NodeId>> iter = null ;
- if ( gn == null )
- iter = t.findAsNodeIds(s, p, o) ;
- else
- iter = t.findAsNodeIds(gn, s, p, o) ;
-
- if ( iter == null )
- // Finished?
- return ;
-
- // Get a slice
- int len = 0 ;
- for ( ; len < sliceSize ; len++ )
- {
- if ( !iter.hasNext() ) break ;
- array[len] = iter.next() ;
- }
-
- // Delete them.
- for ( int i = 0 ; i < len ; i++ )
- {
- t.getTupleTable().delete(array[i]) ;
- array[i] = null ;
- }
- // Finished?
- if ( len < sliceSize )
- break ;
- }
-
- graphTDB.finishUpdate() ;
-
- }
}
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/DatasetGraphTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/DatasetGraphTDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/DatasetGraphTDB.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/DatasetGraphTDB.java Mon Dec 10 17:25:00 2012
@@ -28,6 +28,7 @@ import org.apache.jena.atlas.lib.Sync ;
import org.apache.jena.atlas.lib.Tuple ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.Dataset ;
@@ -305,7 +306,7 @@ public class DatasetGraphTDB extends Dat
public void addGraph(Node graphName, Graph graph)
{
Graph g = getGraph(graphName) ;
- g.getBulkUpdateHandler().add(graph) ;
+ GraphUtil.addInto(g, graph) ;
}
@Override
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/GraphTDBBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/GraphTDBBase.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/GraphTDBBase.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/GraphTDBBase.java Mon Dec 10 17:25:00 2012
@@ -23,19 +23,18 @@ import static com.hp.hpl.jena.sparql.cor
import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.lib.Tuple ;
import org.slf4j.Logger ;
import com.hp.hpl.jena.graph.* ;
-import com.hp.hpl.jena.graph.query.QueryHandler ;
import com.hp.hpl.jena.shared.Lock ;
import com.hp.hpl.jena.sparql.core.Quad ;
import com.hp.hpl.jena.sparql.graph.GraphBase2 ;
-import com.hp.hpl.jena.sparql.graph.Reifier2 ;
import com.hp.hpl.jena.tdb.TDB ;
import com.hp.hpl.jena.tdb.graph.BulkUpdateHandlerTDB ;
-import com.hp.hpl.jena.tdb.graph.QueryHandlerTDB ;
import com.hp.hpl.jena.tdb.graph.TransactionHandlerTDB ;
import com.hp.hpl.jena.tdb.lib.NodeFmtLib ;
+import com.hp.hpl.jena.tdb.nodetable.NodeTupleTable ;
import com.hp.hpl.jena.tdb.sys.SystemTDB ;
import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
import com.hp.hpl.jena.util.iterator.WrappedIterator ;
@@ -43,8 +42,6 @@ import com.hp.hpl.jena.util.iterator.Wra
/** General operations for TDB graphs (free-standing graph, default graph and named graphs) */
public abstract class GraphTDBBase extends GraphBase2 implements GraphTDB
{
- @SuppressWarnings("hiding")
- private final QueryHandlerTDB queryHandler = new QueryHandlerTDB(this) ;
private final TransactionHandler transactionHandler = new TransactionHandlerTDB(this) ;
private final BulkUpdateHandler bulkUpdateHandler = new BulkUpdateHandlerTDB(this) ;
protected final DatasetGraphTDB dataset ;
@@ -134,12 +131,6 @@ public abstract class GraphTDBBase exten
return WrappedIterator.createNoRemove(iterTriples) ;
}
- @Override
- protected Reifier constructReifier()
- {
- return new Reifier2(this) ;
- }
-
protected abstract Logger getLog() ;
/** Iterator over something that, when counted, is the graph size. */
@@ -184,6 +175,7 @@ public abstract class GraphTDBBase exten
public void remove() { iter.remove(); }
}
+ @Deprecated
@Override
public BulkUpdateHandler getBulkUpdateHandler() { return bulkUpdateHandler ; }
@@ -216,10 +208,74 @@ public abstract class GraphTDBBase exten
}
@Override
- public QueryHandler queryHandler()
- { return queryHandler ; }
-
- @Override
public TransactionHandler getTransactionHandler()
{ return transactionHandler ; }
+
+ @Override
+ public void clear()
+ {
+ removeWorker(this, Node.ANY, Node.ANY, Node.ANY) ;
+ getEventManager().notifyEvent(this, GraphEvents.removeAll ) ;
+ }
+
+ @Override
+ public void remove( Node s, Node p, Node o )
+ {
+ removeWorker(this, s, p, o) ;
+ getEventManager().notifyEvent(this, GraphEvents.remove(s, p, o) ) ;
+ }
+
+
+ private static final int sliceSize = 1000 ;
+
+ public static void removeWorker(GraphTDBBase g, Node s, Node p, Node o)
+ {
+ g.startUpdate() ;
+
+ // Delete in batches.
+ // That way, there is no active iterator when a delete
+ // from the indexes happens.
+
+ NodeTupleTable t = g.getNodeTupleTable() ;
+ Node gn = g.getGraphNode() ;
+
+ @SuppressWarnings("unchecked")
+ Tuple<NodeId>[] array = (Tuple<NodeId>[])new Tuple<?>[sliceSize] ;
+
+ while (true)
+ {
+ // Convert/cache s,p,o?
+ // The Node Cache will catch these so don't worry unduely.
+ Iterator<Tuple<NodeId>> iter = null ;
+ if ( gn == null )
+ iter = t.findAsNodeIds(s, p, o) ;
+ else
+ iter = t.findAsNodeIds(gn, s, p, o) ;
+
+ if ( iter == null )
+ // Finished?
+ return ;
+
+ // Get a slice
+ int len = 0 ;
+ for ( ; len < sliceSize ; len++ )
+ {
+ if ( !iter.hasNext() ) break ;
+ array[len] = iter.next() ;
+ }
+
+ // Delete them.
+ for ( int i = 0 ; i < len ; i++ )
+ {
+ t.getTupleTable().delete(array[i]) ;
+ array[i] = null ;
+ }
+ // Finished?
+ if ( len < sliceSize )
+ break ;
+ }
+
+ g.finishUpdate() ;
+ }
+
}
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/junit/AbstractTestGraphTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/junit/AbstractTestGraphTDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/junit/AbstractTestGraphTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/junit/AbstractTestGraphTDB.java Mon Dec 10 17:25:00 2012
@@ -20,15 +20,13 @@ package com.hp.hpl.jena.tdb.junit;
import com.hp.hpl.jena.graph.test.AbstractTestGraph;
-public class AbstractTestGraphTDB extends AbstractTestGraph
+public abstract class AbstractTestGraphTDB extends AbstractTestGraph
{
public AbstractTestGraphTDB(String name)
{
super(name) ;
}
- @Override public void testBulkAddWithReification() {}
-
@Override public void testIsomorphismFile() {}
// Meaning less - graphs (and hence models) are not indpenedent of their datasets.
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestConcurrentAccess.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestConcurrentAccess.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestConcurrentAccess.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestConcurrentAccess.java Mon Dec 10 17:25:00 2012
@@ -26,6 +26,7 @@ import org.apache.jena.atlas.lib.StrUtil
import org.junit.Test ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.Query ;
@@ -76,7 +77,7 @@ public class TestConcurrentAccess extend
{
Graph g = buildGraph() ;
Dataset ds = TDBFactory.createDataset() ;
- ds.getDefaultModel().getGraph().getBulkUpdateHandler().add(g) ;
+ GraphUtil.addInto(ds.getDefaultModel().getGraph(), g) ;
return ds ;
}
@@ -146,7 +147,7 @@ public class TestConcurrentAccess extend
{
Dataset d = TDBFactory.createDataset() ;
Model m = d.getNamedModel("http://example") ;
- m.getGraph().getBulkUpdateHandler().add(buildGraph()) ;
+ GraphUtil.addInto(m.getGraph(), buildGraph()) ;
Resource r = m.createResource("x") ;
ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ;
while(iter1.hasNext())
@@ -161,7 +162,7 @@ public class TestConcurrentAccess extend
{
Dataset d = TDBFactory.createDataset() ;
Model m = d.getNamedModel("http://example") ;
- m.getGraph().getBulkUpdateHandler().add(buildGraph()) ;
+ GraphUtil.addInto(m.getGraph(), buildGraph()) ;
Resource r = m.createResource("x") ;
ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ;
assertNotNull(iter1.next()) ;
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java Mon Dec 10 17:25:00 2012
@@ -100,7 +100,7 @@ public class TestDatasetTDBPersist exten
// Sometimes, under windows, deleting the files by
// graphLocation.clearDirectory does not work.
// Needed for safe tests on windows.
- g1.getBulkUpdateHandler().removeAll() ;
+ g1.clear() ;
Graph g2 = ds.getNamedModel("http://example/").getGraph() ;
g2.add(new Triple(n0,n1,n2) ) ;
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java?rev=1419595&r1=1419594&r2=1419595&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java Mon Dec 10 17:25:00 2012
@@ -58,7 +58,7 @@ public class TestGraphTDB extends Abstra
@Before public void before()
{
try {
- graph.getBulkUpdateHandler().removeAll() ;
+ graph.clear() ;
} catch (Exception ex)
{
Log.warn(this, "before() : "+ex.getMessage(), ex) ;
Added: jena/trunk/jena-tdb/src/test/resources/etc/rdfs-fb-tgc-noresource.rules
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/resources/etc/rdfs-fb-tgc-noresource.rules?rev=1419595&view=auto
==============================================================================
--- jena/trunk/jena-tdb/src/test/resources/etc/rdfs-fb-tgc-noresource.rules (added)
+++ jena/trunk/jena-tdb/src/test/resources/etc/rdfs-fb-tgc-noresource.rules Mon Dec 10 17:25:00 2012
@@ -0,0 +1,84 @@
+#------------------------------------------------------------------
+# RDFS rule set v0.1.
+# This variant is used in the case where the subclass and subproperty
+# lattices have been precomputed by a transitive graph closure cache.
+# $Id: rdfs-fb-tgc-noresource.rules,v 1.3 2003-08-21 22:06:42 der Exp $
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# Tabling directives
+#------------------------------------------------------------------
+
+-> table(rdf:type).
+
+#------------------------------------------------------------------
+# RDFS Axioms
+#------------------------------------------------------------------
+
+-> (rdf:type rdfs:range rdfs:Class).
+-> (rdfs:Resource rdf:type rdfs:Class).
+-> (rdfs:Literal rdf:type rdfs:Class).
+-> (rdf:Statement rdf:type rdfs:Class).
+-> (rdf:nil rdf:type rdf:List).
+-> (rdf:subject rdf:type rdf:Property).
+-> (rdf:object rdf:type rdf:Property).
+-> (rdf:predicate rdf:type rdf:Property).
+-> (rdf:first rdf:type rdf:Property).
+-> (rdf:rest rdf:type rdf:Property).
+
+-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
+-> (rdfs:subClassOf rdfs:domain rdfs:Class).
+-> (rdfs:domain rdfs:domain rdf:Property).
+-> (rdfs:range rdfs:domain rdf:Property).
+-> (rdf:subject rdfs:domain rdf:Statement).
+-> (rdf:predicate rdfs:domain rdf:Statement).
+-> (rdf:object rdfs:domain rdf:Statement).
+-> (rdf:first rdfs:domain rdf:List).
+-> (rdf:rest rdfs:domain rdf:List).
+
+-> (rdfs:subPropertyOf rdfs:range rdf:Property).
+-> (rdfs:subClassOf rdfs:range rdfs:Class).
+-> (rdfs:domain rdfs:range rdfs:Class).
+-> (rdfs:range rdfs:range rdfs:Class).
+-> (rdf:type rdfs:range rdfs:Class).
+-> (rdfs:comment rdfs:range rdfs:Literal).
+-> (rdfs:label rdfs:range rdfs:Literal).
+-> (rdf:rest rdfs:range rdf:List).
+
+-> (rdf:Alt rdfs:subClassOf rdfs:Container).
+-> (rdf:Bag rdfs:subClassOf rdfs:Container).
+-> (rdf:Seq rdfs:subClassOf rdfs:Container).
+-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
+
+-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
+
+-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
+-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
+
+#------------------------------------------------------------------
+# RDFS Closure rules
+#------------------------------------------------------------------
+
+# This one could be omitted since the results are not really very interesting!
+#[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
+
+[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
+
+[rdfs2: (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ]
+[rdfs3: (?p rdfs:range ?c) -> [(?y rdf:type ?c) <- (?x ?p ?y)] ]
+[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
+[rdfs6: (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> table(?p), table(?q), [ (?a ?q ?b) <- (?a ?p ?b)] ]
+[rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
+[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
+
+[rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)]
+[rdfs3-partial: (?p rdfs:range ?c) -> (?c rdf:type rdfs:Class)]
+
+# Either version should work, pure back one scales better.
+# rdfs9: (?x rdfs:subClassOf ?y) -> [ (?a rdf:type ?y) <- (?a rdf:type ?x)] ]
+[rdfs9-alt: (?a rdf:type ?y) <- (?x rdfs:subClassOf ?y), (?a rdf:type ?x) ]
+
+# Not needed - replaced by TGC front end
+#[rdfs8: (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)]
+#[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
+
Added: jena/trunk/jena-tdb/src/test/resources/vocabularies/assembler.n3
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/resources/vocabularies/assembler.n3?rev=1419595&view=auto
==============================================================================
--- jena/trunk/jena-tdb/src/test/resources/vocabularies/assembler.n3 (added)
+++ jena/trunk/jena-tdb/src/test/resources/vocabularies/assembler.n3 Mon Dec 10 17:25:00 2012
@@ -0,0 +1,590 @@
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+
+@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
+
+@prefix lm: <http://jena.hpl.hp.com/2004/08/location-mapping#> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+
+@prefix : <#> .
+
+<> rdfs:comment "Vocabulary for describing Jena models" ;
+ dc:creator "Chris Dollin" ;
+ dc:creator "the Jena team" ;
+ dc:subject "" ;
+ dc:publisher "HP" ;
+ dc:title "Jena Model Spec" ;
+ dc:description "Vocabulary for describing Jena models" ;
+ dc:date "2005-11-15" ;
+ dc:format "RDF" ;
+ dc:identifier :
+ .
+
+#
+# Alias for owl:imports
+#
+
+ja:imports a rdf:Property
+ ; rdfs:label "Assembler.imports"
+ ; rdfs:comment
+ """property whose object is another JA description to
+ be loaded into this one; equivalent to owl:imports."""
+ .
+
+#
+# Assembler object: those things that can be specified and created
+#
+
+ja:Object a rdfs:Class
+ ; rdfs:label "Assembler.Object"
+ ; rdfs:comment "the class of Assembler objects"
+ .
+
+#
+# Assembler model base type.
+#
+
+ja:Model a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:subClassOf ja:Loadable
+ ; rdfs:subClassOf ja:ContentItem
+ ; rdfs:label "Assembler.Model"
+ ; rdfs:comment "the class of Assembler model objects"
+ .
+
+#
+# every Model can be given a ReificationMode
+#
+
+ja:reificationMode a rdf:Property
+ ; rdfs:label "Assembler.reificationMode"
+ ; rdfs:comment "property to attach a ReificationMode to a Model"
+ ; rdfs:domain ja:Model
+ ; rdfs:range ja:ReificationMode
+ .
+
+#
+# every model can has some content specified by a Content object.
+#
+
+ja:content a rdf:Property
+ ; rdfs:label "Assembler.content"
+ ; rdfs:comment
+ """specifies that the subject Loadable is to be loaded with
+ all the contents specified by the object Content.
+ """
+ ; rdfs:domain ja:Loadable
+ ; rdfs:range ja:Content
+ .
+
+ja:initialContent a rdf:Property
+ ; rdfs:label "Assembler.initialContent"
+ ; rdfs:comment
+ """specifies that the subject Loadable is to be loaded with
+ all the contents specified by the object Load when it is first
+ created - ie not when eg an existing database model is opened.
+ """
+ ; rdfs:domain ja:Loadable
+ ; rdfs:range ja:Content
+ .
+
+ja:Loadable a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:label "Assembler.Loadable"
+ ; rdfs:comment "a Loadable object, namely a Model or a Load"
+ .
+
+ja:HasFileManager a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:label "Assembler.HasFileManager"
+ ; rdfs:comment "an object that may have a fileManager property"
+ .
+
+ja:Content a rdfs:Class
+ ; rdfs:subClassOf ja:HasFileManager
+ ; rdfs:label "Assembler.Content"
+ ; rdfs:comment "content to be loaded into a Loadable"
+ .
+
+#
+# there are two kinds of Load. A ContentGroup collects together
+# other Loads, specified with ja:content.
+#
+
+ja:ContentGroup a rdfs:Class
+ ; rdfs:subClassOf ja:Content, ja:Loadable
+ .
+
+#
+# the other kind of Content is a ContentItem, which is either a
+# URL or a literal string with an optional language name.
+#
+
+ja:ContentItem a rdfs:Class
+ ; rdfs:subClassOf ja:Content
+ ; rdfs:subClassOf [owl:onProperty ja:fileManager; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.ContentItem"
+ ; rdfs:comment "a single loadable model item"
+ .
+
+ja:externalContent a rdf:Property
+ ; rdfs:label "Assembler.externalContent"
+ ; rdfs:comment
+ """the subject Load is to be loaded from
+ the object URL"""
+ ; rdfs:domain ja:ContentItem
+ .
+
+ja:literalContent a rdf:Property
+ ; rdfs:label "Assembler.literalContent"
+ ; rdfs:comment
+ """the subject Load is to be loaded from the
+ object String"""
+ ; rdfs:domain ja:ContentItem
+ .
+
+ja:contentEncoding a rdf:Property
+ ; rdfs:label "Assembler.contentEncoding"
+ ; rdfs:comment
+ """specifies the name of the encoding language (N3, RDF/XML, etc)
+ for the associated file or string. Overrides any guess that might
+ otherwise be made. Guesses when omitted: starts with '<' means
+ RDF/XML, starts with '@' or '#' means N3, otherwise NTRIPLE"""
+ ; rdfs:domain ja:ContentItem
+ .
+
+#
+# default models [typically memory models]
+#
+
+ja:DefaultModel a rdfs:Class
+ ; rdfs:subClassOf ja:Model
+ ; rdfs:label "Assembler.DefaultModel"
+ ; rdfs:comment "the default model description"
+ .
+
+#
+# memory models
+#
+
+ja:MemoryModel a rdfs:Class
+ ; rdfs:subClassOf ja:Model
+ ; rdfs:label "Assembler.MemoryModel"
+ ; rdfs:comment "description of a memory model"
+ .
+
+#
+# named models [for file & database models]
+#
+
+ja:NamedModel a rdfs:Class
+ ; rdfs:subClassOf ja:Model
+ ; rdfs:subClassOf [owl:onProperty ja:modelName; owl:cardinality 1]
+ ; rdfs:label "Assembler.NamedModel"
+ ; rdfs:comment
+ """superclass for FileModel,
+ accepting the modelName property"""
+ .
+
+ja:modelName a rdf:Property
+ ; rdfs:label "Assembler.modelName"
+ ; rdfs:comment
+ """property specifying that the subject NamedModel shall
+ have the object String as its name. If the object is a URI
+ node, it has the spelling of the URI as its name."""
+ ; rdfs:domain ja:NamedModel
+ .
+
+#
+# file models
+#
+
+ja:FileModel a rdfs:Class
+ ; rdfs:subClassOf ja:NamedModel
+ ; rdfs:subClassOf [owl:onProperty ja:fileEncoding; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:directory; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:mapName; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.FileModel"
+ ; rdfs:comment
+ """a FileModel is a file-backed NamedModel implemented as a
+ MemoryModel with the name given by the modelName and in the
+ directory given by fromDirectory."""
+ .
+
+ja:directory a rdf:Property
+ ; rdfs:label "directory"
+ ; rdfs:comment
+ """property of a FileModel giving the directory in which the
+ modelName is to be resolved. Query: is the current behaviour
+ of FileModels to be preserved?"""
+ ; rdfs:domain ja:FileModel
+ .
+
+ja:mapName a rdf:Property
+ ; rdfs:label "Assembler.mapName"
+ ; rdfs:domain ja:FileModel
+ ; rdfs:comment
+ """property of a FileModel specifying whether the modelName should
+ be escaped by replacing _, /, and : by __, _S, _C before being used,
+ to allow URIs as model names without implying nested directory
+ strucure. If ommitted or not ja:true, no translation is done."""
+ .
+
+ja:fileEncoding a rdf:Property
+ ; rdfs:domain ja:FileModel
+ ; rdfs:label "Assemble.fileEncoding"
+ ; rdfs:comment """FileModel property to give language encoding"""
+ .
+
+ja:Connectable a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:label "Assembler.Connectable"
+ .
+
+ja:ModelSource a rdfs:Class
+ ; rdfs:subClassOf ja:Connectable
+ ; rdfs:label "Assembler.ModelSource"
+ ; rdfs:comment "Source of models by name for an OntModelSpec"
+ .
+#
+# inference models
+#
+
+ja:InfModel a rdfs:Class
+ ; rdfs:subClassOf ja:Model
+ ; rdfs:subClassOf [owl:onProperty ja:baseModel; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:reasoner; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.InfModel"
+ ; rdfs:comment
+ """class of inference models given by applying a reasoner to a base model
+ (which might be implictly the a default model)"""
+ .
+
+ja:reasoner a rdf:Property
+ ; rdfs:label "Assembler.reasoner"
+ ; rdfs:comment
+ """property of an inference model that specifies the reasoner
+ to use."""
+ ; rdfs:domain ja:InfModel
+ ; rdfs:range ja:ReasonerFactory
+ .
+
+ja:baseModel a rdf:Property
+ ; rdfs:label "Assembler.baseModel"
+ ; rdfs:comment
+ """optional property of an inference model that specifies the
+ base model over which inference is done."""
+ ; rdfs:domain ja:InfModel
+ ; rdfs:range ja:Model
+ .
+
+#
+# reasoner factories; see also properties of HasRules.
+#
+
+ja:ReasonerFactory a rdfs:Class
+ ; rdfs:subClassOf ja:HasRules
+ ; rdfs:subClassOf [owl:onProperty ja:ReasonerURL; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.ReasonerFactory"
+ ; rdfs:comment
+ """class of ReasonerFactory objects, allowing arbitrary reasoner
+ properties to be attached."""
+ .
+
+ja:reasonerURL a rdf:Property
+ ; rdfs:label "Assembler.reasonerURL"
+ ; rdfs:comment
+ """property of a ReasonerFactory specifying the URL of the reasoner
+ in the reasoner registry; only one such property per reasoner."""
+ ; rdfs:domain ja:ReasonerFactory
+ .
+
+ja:reasonerClass a rdf:Property
+ ; rdfs:label "Assembler.reasonerClass"
+ ; rdfs:comment "property of a ReasonerFactory giving the class name"
+ ; rdfs:domain ja:ReasonerFactory
+ .
+
+ja:reasonerFactory a rdf:Property
+ ; rdfs:label "Assembler.reasonerFactory"
+ ; rdfs:comment "property of an OntModelSpec giving the reasoner for the spec"
+ ; rdfs:range ja:ReasonerFactory
+ ; rdfs:domain ja:OntModelSpec
+ .
+
+ja:schema a rdf:Property
+ ; rdfs:label "Assembler.schemaURL"
+ ; rdfs:comment
+ """property of a Reasoner specifying schema Models to be loaded.
+ Multiple schemas can be given; they are unioned
+ together before being supplied to the reasoner."""
+ ; rdfs:domain ja:ReasonerFactory
+ ; rdfs:range ja:Model
+ .
+
+#
+# rulesets
+#
+
+ja:HasRules a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:label "Assembler.HasRules"
+ ; rdfs:comment
+ """the class of things that can have rules attached,
+ viz, Reasoners and RuleSets."""
+ .
+
+ja:RuleSet a rdfs:Class
+ ; rdfs:subClassOf ja:HasRules
+ ; rdfs:label "Assembler.RuleSet"
+ ; rdfs:comment
+ """class of sets of rules (for a Jena rule engine) specified
+ within the Assembler file. A RuleSet may refer to rules by
+ their URL, by their containing RuleSets, or by including them
+ as string literals."""
+ .
+
+ja:rules a rdf:Property
+ ; rdfs:label "Assembler.rules"
+ ; rdfs:comment
+ """property of a GenericRuleReasoner or RuleSet which specifies
+ rules given witin rulesets within the Assembler RDF. Multiple
+ such properties can be given."""
+ ; rdfs:domain ja:HasRules
+ ; rdfs:range ja:RuleSet
+ .
+
+ja:rulesFrom a rdf:Property
+ ; rdfs:label "Assembler.rulesFrom"
+ ; rdfs:comment
+ """property of a RuleSet which identifies rules by their URL.
+ The target resource is loaded and parsed as a rule string."""
+ ; rdfs:domain ja:HasRules
+ .
+
+ja:rule a rdf:Property
+ ; rdfs:label "Assembler.rule"
+ ; rdfs:comment
+ """property of a RuleSet specifying a rule (or rules) as a
+ literal string."""
+ ; rdfs:domain ja:HasRules
+ .
+
+#
+#
+#
+
+ja:LocationMapper a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:subClassOf [owl:onProperty lm:mapping; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.LocationMapper"
+ ; rdfs:comment "class of LocationMapper specificiations"
+ .
+
+lm:mapping a rdf:Property
+ ; rdfs:domain ja:LocationMapper
+ ; rdfs:label "LocationMapper.mapping"
+ ; rdfs:comment
+ """LocationMapper property which identifies location mappings and
+ which we have stolen to identify ja:LocationMapper specifications."""
+ .
+
+ja:FileManager a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:subClassOf [owl:onProperty ja:locationMapper; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.FileManager"
+ ; rdfs:comment "class of FileManager specifications"
+ .
+
+ja:locationMapper a rdf:Property
+ ; rdfs:domain ja:FileManager
+ ; rdfs:range ja:LocationMapper
+ ; rdfs:label "Assembler.locationMapper"
+ ; rdfs:comment "FileManager property which identifies its LocationMapper."
+ .
+
+ja:DocumentManager a rdfs:Class
+ ; rdfs:subClassOf ja:HasFileManager
+ ; rdfs:subClassOf [owl:onProperty ja:fileManager; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:policyPath; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.DocumentManager"
+ ; rdfs:comment "class of OntDocumentManager specificiations"
+ .
+
+ja:fileManager a rdf:Property
+ ; rdfs:domain ja:HasFileManager
+ ; rdfs:range ja:FileManager
+ ; rdfs:label "Assembler.fileManager"
+ ; rdfs:comment
+ """property of a DocumentManager whose value is its FileManager"""
+ .
+
+ja:policyPath a rdf:Property
+ ; rdfs:domain ja:DocumentManager
+ ; rdfs:label "Assembler.policyPath"
+ ; rdfs:comment
+ """property of a DocumentManager whose value is its metadata policy path"""
+ .
+
+#
+# ontology models. every ontology model is an inference model.
+#
+
+ja:OntModel a rdfs:Class
+ ; rdfs:subClassOf ja:InfModel, ja:UnionModel
+ ; rdfs:label "Assembler.OntModel"
+ ; rdfs:comment "the class of OntModel specifications"
+ .
+
+ja:OntModelSpec a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:subClassOf [owl:onProperty ja:ontLanguage; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:documentManager; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:importSource; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:reasonerFactory; owl:maxCardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:like; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.OntModelSpec"
+ ; rdfs:comment "class of OntModelSpec objects for OntModel construction"
+ .
+
+ja:ontModelSpec a rdf:Property
+ ; rdfs:label "Assembler.ontModelSpec"
+ ; rdfs:comment "property of an OntModel giving its OntModelSpec"
+ ; rdfs:domain ja:OntModel
+ ; rdfs:range ja:OntModelSpec
+ .
+
+ja:likeBuiltinSpec a rdf:Property
+ ; rdfs:label "Assembler.likeBuiltinSpec"
+ ; rdfs:comment "property of an OntModelSpec giving an internal spec it's like"
+ ; rdfs:domain ja:OntModelSpec
+ .
+
+ja:ontLanguage a rdf:Property
+ ; rdfs:label "Assembler.ontLanguage"
+ ; rdfs:comment
+ """property of an OntModelSpec that specifies the ontology
+ language."""
+ ; rdfs:domain ja:OntModelSpec
+ .
+
+ja:documentManager a rdf:Property
+ ; rdfs:label "Assembler.docManager"
+ ; rdfs:comment
+ """property of an OntModelSpec that specifies the
+ document manager of the model. If omitted, the model has
+ the default document manager."""
+ ; rdfs:domain ja:OntModelSpec
+ .
+
+ja:importSource a rdf:Property
+ ; rdfs:label "Assembler.importSource"
+ ; rdfs:comment
+ """property of an OntModelSpec that specifies the importSource
+ of the model. If omitted, the model has a default MemoryModelMaker. """
+ ; rdfs:domain ja:OntModelSpec
+ .
+
+#
+# union models
+#
+
+ja:UnionModel a rdfs:Class
+ ; rdfs:subClassOf ja:Model
+ ; rdfs:subClassOf [owl:onProperty ja:rootModel; owl:maxCardinality 1]
+ ; rdfs:label "Assembler.Union"
+ ; rdfs:comment "class of Union models"
+ .
+
+ja:subModel a rdf:Property
+ ; rdfs:label "Assembler.subModel"
+ ; rdfs:comment
+ """property of a UnionModel that specifies one of its non-root sub-models.
+ Arbitrarily many sub-models can be supplied."""
+ ; rdfs:domain ja:UnionModel
+ ; rdfs:range ja:Model
+ .
+
+ja:rootModel a rdf:Property
+ ; rdfs:domain ja:UnionModel
+ ; rdfs:range ja:Model
+ ; rdfs:label "Assembler.rootModel"
+ ; rdfs:comment
+ """property of a UnionModel that specifies its mutable base model"""
+ .
+
+#
+# reification modes
+#
+
+ja:ReificationMode a rdfs:Class
+ ; rdfs:label "Assembler.ReificationMode"
+ ; rdfs:comment "the class of reification modes"
+ .
+
+ja:standard a ja:ReificationMode
+ ; rdfs:label "Standard"
+ ; rdfs:comment "reification mode Standard - all reification triples visible"
+ .
+
+ja:minimal a ja:ReificationMode
+ ; rdfs:label "Minimal"
+ ; rdfs:comment "reification mode Minimal - no reification triples visible"
+ .
+
+ja:convenient a ja:ReificationMode
+ ; rdfs:label "Convenient"
+ ; rdfs:comment "reification mode Convenient"
+ .
+
+#
+# prefix mappings
+#
+
+ja:PrefixMapping a rdfs:Class
+ ; rdfs:subClassOf ja:Object
+ ; rdfs:label "Assembler.PrefixMapping"
+ ; rdfs:comment
+ """class encoding a Jena prefix mapping"""
+ .
+
+ja:prefixMapping a rdf:Property
+ ; rdfs:label "Assembler.prefixMapping"
+ ; rdfs:comment
+ """property used to attach a PrefixMapping to a Model"""
+ ; rdfs:domain ja:Model
+ ; rdfs:range ja:PrefixMapping
+ .
+
+ja:includes a rdf:Property
+ ; rdfs:label "Assembler.includes"
+ ; rdfs:comment """property to allow one prefix mapping to include another"""
+ ; rdfs:domain ja:PrefixMapping
+ ; rdfs:range ja:PrefixMapping
+ .
+
+ja:SinglePrefixMapping a rdfs:Class
+ ; rdfs:subClassOf ja:PrefixMapping
+ ; rdfs:subClassOf [owl:onProperty ja:prefix; owl:cardinality 1]
+ ; rdfs:subClassOf [owl:onProperty ja:namespace; owl:cardinality 1]
+ ; rdfs:label "Assembler.SinglePrefixMapping"
+ ; rdfs:comment """class encoding a single prefix mapping maplet"""
+ .
+
+ja:prefix a rdf:Property
+ ; rdfs:label "Assembler.prefix"
+ ; rdfs:comment """property for specifing the prefix of a SimplePrefixMapping"""
+ ; rdfs:domain ja:SinglePrefixMapping
+ .
+
+ja:namespace a rdf:Property
+ ; rdfs:label "Assembler.namespace"
+ ; rdfs:comment """property for specifying the URL of a SimplePrefixMapping"""
+ ; rdfs:domain ja:SinglePrefixMapping
+ .
+
+# Local Variables:
+# tab-width: 4
+# indent-tabs-mode: nil
+# End: