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/02/07 21:45:10 UTC

svn commit: r1241609 - /incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java

Author: andy
Date: Tue Feb  7 20:45:09 2012
New Revision: 1241609

URL: http://svn.apache.org/viewvc?rev=1241609&view=rev
Log:
Remove warning for technically correct skipping on partially bound quads.

Modified:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java?rev=1241609&r1=1241608&r2=1241609&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/TemplateLib.java Tue Feb  7 20:45:09 2012
@@ -18,47 +18,26 @@
 
 package com.hp.hpl.jena.sparql.modify;
 
-import java.util.ArrayList ;
-import java.util.HashMap ;
-import java.util.Iterator ;
-import java.util.List ;
-import java.util.Map ;
+import java.util.* ;
 
 import org.openjena.atlas.iterator.Iter ;
 import org.openjena.atlas.iterator.Transform ;
-import org.openjena.atlas.lib.MultiMap ;
-import org.openjena.atlas.logging.Log ;
 
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.Triple ;
 import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.sparql.core.Substitute ;
 import com.hp.hpl.jena.sparql.core.Var ;
-import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
-import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
-import com.hp.hpl.jena.sparql.util.FmtUtils ;
 
 public class TemplateLib
 {
     // See also Substitute -- combine?
     // Or is this specifc enough to CONSTRUCT/Update template processing? 
     
-    /** Take a template, as a list of quad patterns, a default graph, and a list of bindings,
-     *  and produce a map of graph name to lists of triples.
-     */
-    public static MultiMap<Node, Triple> template(List<Quad> quads, final Node dftGraph, List<Binding> bindings)
-    {
-        if ( quads == null || quads.isEmpty() ) return null ; 
-        
-        quads = remapDefaultGraph(quads, dftGraph);
-        MultiMap<Node, Triple> acc = calcTriples(quads, bindings) ;
-        return acc ;
-    }
-    
     /**
      * Take a template, as a list of quad patterns, a default graph, and an iterator of bindings,
-     * and produce an iterator of quads that result from applying the template to the bindings.
+     * and produce an iterator of quads that results from applying the template to the bindings.
      */
     public static Iterator<Quad> template(List<Quad> quads, final Node dftGraph, Iterator<Binding> bindings)
     {
@@ -87,49 +66,17 @@ public class TemplateLib
         return quads;
     }
     
-    /** Substitute into quad patterns, and build a map of graph name to lists of triples */
-    public static MultiMap<Node, Triple> calcTriples(List<Quad> quads, List<Binding> bindings)
-    {
-        QueryIterator qIter = new QueryIterPlainWrapper(bindings.iterator()) ;
-        return subst(quads, qIter) ;
-    }
-
-    /** Substitute into quad patterns, and build a map of graph name to lists of triples */
-    protected static MultiMap<Node, Triple> subst(List<Quad> quads, QueryIterator qIter)
-    {
-        MultiMap<Node, Triple> acc = MultiMap.createMapList() ;
-    
-        for ( ; qIter.hasNext() ; )
-        {
-            Map<Node, Node> bNodeMap = new HashMap<Node, Node>() ;
-            Binding b = qIter.nextBinding() ;
-            for ( Quad quad : quads )
-                subst(acc, quad, b, bNodeMap) ;
-        }
-        return acc ;
-    }
-
-    static void subst(MultiMap<Node, Triple> acc, Quad quad, Binding b, Map<Node, Node> bNodeMap)
-    {
-        Quad q = subst(quad, b, bNodeMap) ;
-        if ( ! q.isConcrete() )
-        {
-            Log.warn(TemplateLib.class, "Unbound quad: "+FmtUtils.stringForQuad(quad)) ;
-            return ;
-        }
-        acc.put(q.getGraph(), q.asTriple()) ;
-    }
-    
     /** Substitute into quad patterns */
     public static Iterator<Quad> calcQuads(final List<Quad> quads, Iterator<Binding> bindings)
     {
         return Iter.mapMany(bindings, new Transform<Binding, Iterator<Quad>>()
         {
+            Map<Node, Node> bNodeMap = new HashMap<Node, Node>() ;
             @Override
             public Iterator<Quad> convert(final Binding b)
             {
                 // Iteration is a new mapping of bnodes. 
-                final Map<Node, Node> bNodeMap = new HashMap<Node, Node>() ;
+                bNodeMap.clear() ;
 
                 List<Quad> quadList = new ArrayList<Quad>(quads.size());
                 for (Quad quad : quads)
@@ -137,7 +84,7 @@ public class TemplateLib
                     Quad q = subst(quad, b, bNodeMap) ;
                     if ( ! q.isConcrete() )
                     {
-                        Log.warn(TemplateLib.class, "Unbound quad: "+FmtUtils.stringForQuad(quad)) ;
+                        //Log.warn(TemplateLib.class, "Unbound quad: "+FmtUtils.stringForQuad(quad)) ;
                         continue ;
                     }
                     quadList.add(q);