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/05/24 23:04:19 UTC

svn commit: r1342430 - in /jena/trunk/jena-arq/src: main/java/com/hp/hpl/jena/sparql/engine/main/ main/java/com/hp/hpl/jena/sparql/graph/ test/java/arq/

Author: andy
Date: Thu May 24 21:04:19 2012
New Revision: 1342430

URL: http://svn.apache.org/viewvc?rev=1342430&view=rev
Log:
Don't rely on Jena SmallGraphMem.
Don't support QueryHandler in generic stage generator.
Tidy EARL output.

Added:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/SmallGraphMem.java
Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/main/StageGeneratorGeneric.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/PlainGraphMem.java
    jena/trunk/jena-arq/src/test/java/arq/qtest.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/main/StageGeneratorGeneric.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/main/StageGeneratorGeneric.java?rev=1342430&r1=1342429&r2=1342430&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/main/StageGeneratorGeneric.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/main/StageGeneratorGeneric.java Thu May 24 21:04:19 2012
@@ -24,7 +24,6 @@ import org.openjena.atlas.logging.Log ;
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.GraphStatisticsHandler ;
 import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.mem.GraphMem ;
 import com.hp.hpl.jena.mem.faster.GraphMemFaster ;
 import com.hp.hpl.jena.sparql.core.BasicPattern ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
@@ -54,7 +53,7 @@ public class StageGeneratorGeneric imple
         final ReorderTransformation reorder ;
         final StageGenerator executor ;
         
-        if ( graph instanceof GraphMemFaster || graph instanceof GraphMem )            // New and old Graph-in-memory
+        if ( graph instanceof GraphMemFaster  )            // Jena in-memory graph
         {
             reorder = reorderBasicStats(graph) ;
             executor = executeInline ; 

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/PlainGraphMem.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/PlainGraphMem.java?rev=1342430&r1=1342429&r2=1342430&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/PlainGraphMem.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/PlainGraphMem.java Thu May 24 21:04:19 2012
@@ -24,7 +24,6 @@ import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.graph.TripleMatch ;
 import com.hp.hpl.jena.graph.impl.SimpleEventManager ;
-import com.hp.hpl.jena.mem.SmallGraphMem ;
 import com.hp.hpl.jena.util.iterator.ClosableIterator ;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
 import com.hp.hpl.jena.util.iterator.Filter ;

Added: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/SmallGraphMem.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/SmallGraphMem.java?rev=1342430&view=auto
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/SmallGraphMem.java (added)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/SmallGraphMem.java Thu May 24 21:04:19 2012
@@ -0,0 +1,91 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.sparql.graph;
+
+import java.util.Set ;
+
+import com.hp.hpl.jena.graph.BulkUpdateHandler ;
+import com.hp.hpl.jena.graph.Triple ;
+import com.hp.hpl.jena.graph.TripleMatch ;
+import com.hp.hpl.jena.graph.TripleMatchFilter ;
+import com.hp.hpl.jena.graph.impl.SimpleEventManager ;
+import com.hp.hpl.jena.graph.impl.SimpleReifier ;
+import com.hp.hpl.jena.graph.impl.TripleStore ;
+import com.hp.hpl.jena.mem.GraphMemBase ;
+import com.hp.hpl.jena.mem.GraphMemBulkUpdateHandler ;
+import com.hp.hpl.jena.shared.ReificationStyle ;
+import com.hp.hpl.jena.util.CollectionFactory ;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
+
+public class SmallGraphMem extends GraphMemBase
+{
+    protected Set<Triple> triples = CollectionFactory.createHashedSet();
+
+    public SmallGraphMem()
+    { this( ReificationStyle.Minimal ); }
+
+    public SmallGraphMem( ReificationStyle style )
+    { super( style ); }
+
+    /**
+        SmallGraphMem's don't use TripleStore's at present. 
+     */
+    @Override protected TripleStore createTripleStore()
+    { return null; }
+
+    @Override public void performAdd( Triple t )
+    { if (!getReifier().handledAdd( t )) triples.add( t ); }
+
+    @Override public void performDelete( Triple t )
+    { if (!getReifier().handledRemove( t )) triples.remove( t ); }
+
+    @Override public int graphBaseSize()  
+    { return triples.size(); }
+
+    /**
+        Answer true iff t matches some triple in the graph. If t is concrete, we
+        can use a simple membership test; otherwise we resort to the generic
+        method using find.
+     */
+    @Override public boolean graphBaseContains( Triple t ) 
+    { return isSafeForEquality( t ) ? triples.contains( t ) : containsByFind( t ); }
+
+    @Override protected void destroy()
+    { triples = null; }
+
+    @Override public void clear()
+    { 
+        triples.clear(); 
+        ((SimpleReifier) getReifier()).clear();
+    }
+
+    @Override public BulkUpdateHandler getBulkUpdateHandler()
+    {
+        if (bulkHandler == null) bulkHandler = new GraphMemBulkUpdateHandler( this );
+        return bulkHandler;
+    }
+
+    @Override public ExtendedIterator <Triple>graphBaseFind( TripleMatch m ) 
+    {
+        return 
+            SimpleEventManager.notifyingRemove( this, triples.iterator() ) 
+            .filterKeep ( new TripleMatchFilter( m.asTriple() ) );
+    }    
+}
+

Modified: jena/trunk/jena-arq/src/test/java/arq/qtest.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/arq/qtest.java?rev=1342430&r1=1342429&r2=1342430&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/test/java/arq/qtest.java (original)
+++ jena/trunk/jena-arq/src/test/java/arq/qtest.java Thu May 24 21:04:19 2012
@@ -197,8 +197,8 @@ public class qtest extends CmdARQ
     {
         String name =  "ARQ" ;
         String releaseName =  "ARQ" ;
-        String version = "2.9.1-incubating" ;
-        String homepage = "http://incubator.apache.org/jena" ;
+        String version = "2.9.1" ;
+        String homepage = "http://jena.apache.org/" ;
         String systemURI = "http://jena.apache.org/#arq" ;  // Null for bNode.
         
         // Include information later.
@@ -210,7 +210,7 @@ public class qtest extends CmdARQ
         
         // Update the EARL report. 
         Resource jena = model.createResource()
-                    .addProperty(FOAF.homepage, model.createResource("http://incubator.apache.org/jena")) ;
+                    .addProperty(FOAF.homepage, model.createResource("http://jena.apache.org/")) ;
         
         // ARQ is part fo Jena.
         Resource arq = report.getSystem()