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/06/14 23:39:04 UTC

svn commit: r1350405 - in /jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph: ./ test/

Author: andy
Date: Thu Jun 14 21:39:03 2012
New Revision: 1350405

URL: http://svn.apache.org/viewvc?rev=1350405&view=rev
Log: (empty)

Added:
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/AbstractTestGraphOverDataset.java
      - copied, changed from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/AbstractTestGraphOverDataset.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TS_ViewGraphs.java
      - copied, changed from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TS_ViewGraphs.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDSGViewGraphs.java
      - copied, changed from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDSGViewGraphs.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDatasetPrefixes.java
      - copied, changed from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDatasetPrefixes.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestGraphOverDataset.java
      - copied, changed from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestGraphOverDataset.java
Removed:
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/AbstractTestGraphOverDataset.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TS_ViewGraphs.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDSGViewGraphs.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDatasetPrefixes.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestGraphOverDataset.java
Modified:
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/DSGViewGraphs.java
    jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/GraphViewDataset.java

Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/DSGViewGraphs.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/DSGViewGraphs.java?rev=1350405&r1=1350404&r2=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/DSGViewGraphs.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/DSGViewGraphs.java Thu Jun 14 21:39:03 2012
@@ -22,21 +22,28 @@ 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.sparql.core.DatasetGraphWrapper ;
+import com.hp.hpl.jena.sparql.core.DatasetPrefixStorage ;
 
 /** Directly call the view mechanism */
 public class DSGViewGraphs extends DatasetGraphWrapper
 {
-    public DSGViewGraphs(DatasetGraph dsg)
+    // This class is a converter.
+    // may integrate into DatasetGraph hierarchy.
+    
+    final private DatasetPrefixStorage dsgPrefixes ;
+
+    public DSGViewGraphs(DatasetGraph dsg, DatasetPrefixStorage dsgPrefixes)
     {
         super(dsg) ;
+        this.dsgPrefixes = dsgPrefixes ;
     }
 
     @Override
     public Graph getDefaultGraph()
-    { return GraphViewDataset.createDefaultGraph(getWrapped()) ; }
+    { return GraphViewDataset.createDefaultGraph(getWrapped(), dsgPrefixes) ; }
 
     @Override
     public Graph getGraph(Node graphNode)
-    { return GraphViewDataset.createNamedGraph(getWrapped(), graphNode) ; }
+    { return GraphViewDataset.createNamedGraph(getWrapped(), dsgPrefixes, graphNode) ; }
 }
 

Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/GraphViewDataset.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/GraphViewDataset.java?rev=1350405&r1=1350404&r2=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/GraphViewDataset.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/GraphViewDataset.java Thu Jun 14 21:39:03 2012
@@ -31,6 +31,7 @@ import com.hp.hpl.jena.graph.query.Simpl
 import com.hp.hpl.jena.shared.JenaException ;
 import com.hp.hpl.jena.shared.PrefixMapping ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.core.DatasetPrefixStorage ;
 import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.sparql.graph.GraphBase2 ;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
@@ -51,38 +52,69 @@ public class GraphViewDataset extends Gr
     // TODO datasetGraph - performAdd - call after making union graph 
     // TODO Integrate with DatasetGraphTriplesQuads / DatasetGraphQuads
     // TODO default union graphs
-    // TODO Consolidate iterator projections : quads -> triples 
+    // TODO Consolidate iterator projections : quads -> triples : see GLib
     // TODO DatasetPrefixStorage projection for prfix mapping. 
     // TODO Use GraphPrefixesProjection (not PrefixMappingOverPrefixMap).
     
     private final DatasetGraph dsg ;
     private final Node gn ;
+    private DatasetPrefixStorage dsgPrefixes ;
 
-    protected GraphViewDataset(DatasetGraph dsg, Node gn)
+    protected GraphViewDataset(DatasetGraph dsg, DatasetPrefixStorage dsgPrefixes, Node gn)
     { 
         this.dsg = dsg ; 
+        this.dsgPrefixes = dsgPrefixes ;
         this.gn = gn ;
     }
     
     public static Graph createDefaultGraph(DatasetGraph dsg)
-    { return new GraphViewDataset(dsg, Quad.defaultGraphNodeGenerated) ; }
+    { return createDefaultGraph(dsg, null) ; }
     
     public static Graph createNamedGraph(DatasetGraph dsg, Node graphIRI)
-    { return new GraphViewDataset(dsg, graphIRI) ; }
+    { return new GraphViewDataset(dsg, null, graphIRI) ; }
+
+    public static Graph createDefaultGraph(DatasetGraph dsg, DatasetPrefixStorage dsgPrefixes)
+    { return new GraphViewDataset(dsg, dsgPrefixes, Quad.defaultGraphNodeGenerated) ; }
+    
+    public static Graph createNamedGraph(DatasetGraph dsg, DatasetPrefixStorage dsgPrefixes, Node graphIRI)
+    { return new GraphViewDataset(dsg, dsgPrefixes, graphIRI) ; }
     
     @Override
     public QueryHandler queryHandler()
     {
         return new SimpleQueryHandler(this);
     }
+    
+    private final boolean isDefaultGraph() { return Quad.isDefaultGraph(gn) ; }
+    
 
     @Override
     protected PrefixMapping createPrefixMapping()
     {
-        // TODO
-        return null ;
-    }
+        
+        DatasetPrefixStorage dsgPrefixes = this.dsgPrefixes ;
+        
+        if ( dsgPrefixes == null )
+            // Fake it!
+            dsgPrefixes = new DatasetPrefixStorageMem() ;
+        
+        if ( isDefaultGraph() )
+            return dsgPrefixes.getPrefixMapping() ;
+        else
+            return dsgPrefixes.getPrefixMapping(gn.getURI()) ;
+    }
+
+    // two ideas - need to choose
+    //   DatasetPrefixStorage - used, clunky?
+    //   DatasetPrefixes - better but missing? PrefixMap needs to be an interface. 
+    
+    static class GraphViewPrefixMapping 
+    {
+        private final DatasetPrefixes prefixes ;
 
+        public GraphViewPrefixMapping(DatasetPrefixes prefixes) { this.prefixes = prefixes ; }
+    }
+    
     @Override
     protected ExtendedIterator<Triple> graphBaseFind(TripleMatch m)
     {
@@ -99,6 +131,8 @@ public class GraphViewDataset extends Gr
         Node g = gn ;
         // Assumes dataset understands default union graphs.
         // The general purpose implementation does. 
+        // BUT?
+        
         Iterator<Triple> iter = GLib.quads2triples(dsg.find(gn, s, p, o)) ;
         if ( Quad.isUnionGraph(gn) )
             // Suppress duplicates after projecting to triples.

Copied: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/AbstractTestGraphOverDataset.java (from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/AbstractTestGraphOverDataset.java)
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/AbstractTestGraphOverDataset.java?p2=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/AbstractTestGraphOverDataset.java&p1=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/AbstractTestGraphOverDataset.java&r1=1342284&r2=1350405&rev=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/AbstractTestGraphOverDataset.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/AbstractTestGraphOverDataset.java Thu Jun 14 21:39:03 2012
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package projects.viewgraph;
+package projects.viewgraph.test;
 
 import java.util.Iterator ;
 

Copied: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TS_ViewGraphs.java (from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TS_ViewGraphs.java)
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TS_ViewGraphs.java?p2=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TS_ViewGraphs.java&p1=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TS_ViewGraphs.java&r1=1342284&r2=1350405&rev=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TS_ViewGraphs.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TS_ViewGraphs.java Thu Jun 14 21:39:03 2012
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package projects.viewgraph;
+package projects.viewgraph.test;
 
 import org.junit.runner.RunWith ;
 import org.junit.runners.Suite ;
@@ -26,7 +26,8 @@ import org.junit.runners.Suite.SuiteClas
 @RunWith(Suite.class)
 @SuiteClasses( {
     TestGraphOverDataset.class,
-    TestDSGViewGraphs.class 
+    TestDSGViewGraphs.class ,
+    TestDatasetPrefixes.class
 })
 
 public class TS_ViewGraphs

Copied: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDSGViewGraphs.java (from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDSGViewGraphs.java)
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDSGViewGraphs.java?p2=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDSGViewGraphs.java&p1=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDSGViewGraphs.java&r1=1342284&r2=1350405&rev=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDSGViewGraphs.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDSGViewGraphs.java Thu Jun 14 21:39:03 2012
@@ -16,7 +16,9 @@
  * limitations under the License.
  */
 
-package projects.viewgraph;
+package projects.viewgraph.test;
+
+import projects.viewgraph.GraphViewDataset ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Node ;

Copied: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDatasetPrefixes.java (from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDatasetPrefixes.java)
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDatasetPrefixes.java?p2=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDatasetPrefixes.java&p1=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDatasetPrefixes.java&r1=1342284&r2=1350405&rev=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestDatasetPrefixes.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestDatasetPrefixes.java Thu Jun 14 21:39:03 2012
@@ -16,12 +16,13 @@
  * limitations under the License.
  */
 
-package projects.viewgraph;
+package projects.viewgraph.test;
 
 import java.util.Set ;
 
 import org.junit.Test ;
 import org.openjena.atlas.junit.BaseTest ;
+import projects.viewgraph.DatasetPrefixStorageMem ;
 
 import com.hp.hpl.jena.shared.PrefixMapping ;
 import com.hp.hpl.jena.sparql.core.DatasetPrefixStorage ;

Copied: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestGraphOverDataset.java (from r1342284, jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestGraphOverDataset.java)
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestGraphOverDataset.java?p2=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestGraphOverDataset.java&p1=jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestGraphOverDataset.java&r1=1342284&r2=1350405&rev=1350405&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/TestGraphOverDataset.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/viewgraph/test/TestGraphOverDataset.java Thu Jun 14 21:39:03 2012
@@ -16,10 +16,11 @@
  * limitations under the License.
  */
 
-package projects.viewgraph;
+package projects.viewgraph.test;
 
 import org.junit.After ;
 import org.junit.Before ;
+import projects.viewgraph.DSGViewGraphs ;
 
 import com.hp.hpl.jena.graph.Graph ;
 import com.hp.hpl.jena.graph.Node ;
@@ -30,7 +31,7 @@ public class TestGraphOverDataset extend
 {
     DatasetGraph dsgv ;
     
-    @Before public void before()    { dsgv = new DSGViewGraphs(dsg) ; }
+    @Before public void before()    { dsgv = new DSGViewGraphs(dsg, null) ; }
     @After  public void after()     { dsgv = null ; }
     
     @Override