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 2014/09/23 15:50:17 UTC
[01/10] git commit: Add convenience operations NodeTable.containsNode
and .containsNodeId
Repository: jena
Updated Branches:
refs/heads/master 539f27c3a -> 2472f6ae8
Add convenience operations NodeTable.containsNode and .containsNodeId
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/88836ee2
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/88836ee2
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/88836ee2
Branch: refs/heads/master
Commit: 88836ee2332936e9ee969974bc67d9f6c03d6ad0
Parents: 539f27c
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:36:37 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:36:37 2014 +0100
----------------------------------------------------------------------
.../hp/hpl/jena/tdb/store/nodetable/NodeTable.java | 8 +++++++-
.../jena/tdb/store/nodetable/NodeTableCache.java | 12 ++++++++++++
.../jena/tdb/store/nodetable/NodeTableLogger.java | 17 +++++++++++++++++
.../jena/tdb/store/nodetable/NodeTableNative.java | 14 +++++++++++++-
.../jena/tdb/store/nodetable/NodeTableWrapper.java | 9 +++++++++
.../hpl/jena/tdb/transaction/NodeTableTrans.java | 14 ++++++++++++++
6 files changed, 72 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTable.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTable.java
index 34cc3e7..23ea998 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTable.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTable.java
@@ -43,13 +43,19 @@ public interface NodeTable extends Sync, Closeable
/** Look up node id and return the Node - return null if not found */
public Node getNodeForNodeId(NodeId id) ;
+ /** Test whether the node table contains an entry for node */
+ public boolean containsNode(Node node) ;
+
+ /** Test whether the node table contains an entry for node */
+ public boolean containsNodeId(NodeId nodeId) ;
+
/** Iterate over all nodes (not necessarily fast). Does not include inlined NodeIds */
public Iterator<Pair<NodeId, Node>> all() ;
/** The offset needed to predicate allocation difference between peristent tables - internal function */
public NodeId allocOffset() ;
- /** Any thing there? */
+ /** Anything there? */
public boolean isEmpty() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableCache.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableCache.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableCache.java
index c27e847..a16b889 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableCache.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableCache.java
@@ -92,6 +92,18 @@ public class NodeTableCache implements NodeTable
@Override
public NodeId getAllocateNodeId(Node node) { return _idForNode(node, true) ; }
+ @Override
+ public boolean containsNode(Node node) {
+ NodeId x = getNodeIdForNode(node) ;
+ return NodeId.isDoesNotExist(x) ;
+ }
+
+ @Override
+ public boolean containsNodeId(NodeId nodeId) {
+ Node x = getNodeForNodeId(nodeId) ;
+ return x == null ;
+ }
+
// ---- The worker functions
// NodeId ==> Node
private Node _retrieveNodeByNodeId(NodeId id)
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableLogger.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableLogger.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableLogger.java
index 37214be..d3617e1 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableLogger.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableLogger.java
@@ -70,6 +70,23 @@ public class NodeTableLogger implements NodeTable
}
@Override
+ public boolean containsNode(Node node) {
+ //info("containsNodeId("+id+") =>") ;
+ boolean b = nodeTable.containsNode(node) ;
+ info("containsNode("+node+") => "+b) ;
+ return b ;
+ }
+
+ @Override
+ public boolean containsNodeId(NodeId id) {
+ //info("containsNodeId("+id+") =>") ;
+ boolean b = nodeTable.containsNodeId(id) ;
+ info("containsNodeId("+id+") => "+b) ;
+ return b ;
+ }
+
+
+ @Override
public NodeId allocOffset()
{
NodeId nodeId = nodeTable.allocOffset() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableNative.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableNative.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableNative.java
index 57e85fa..17162c9 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableNative.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableNative.java
@@ -79,9 +79,21 @@ public class NodeTableNative implements NodeTable
@Override
public NodeId getAllocateNodeId(Node node) { return _idForNode(node, true) ; }
+ @Override
+ public boolean containsNode(Node node) {
+ NodeId x = getNodeIdForNode(node) ;
+ return NodeId.isDoesNotExist(x) ;
+ }
+
+ @Override
+ public boolean containsNodeId(NodeId nodeId) {
+ Node x = getNodeForNodeId(nodeId) ;
+ return x == null ;
+ }
+
// ---- The worker functions
// Synchronization:
- // accesIndex and readNodeFromTable
+ // accessIndex and readNodeFromTable
// Cache around this class further out in NodeTableCache are synchronized
// to maintain cache validatity which indirectly sync access to the NodeTable.
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableWrapper.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableWrapper.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableWrapper.java
index 662de57..a2ef49a 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableWrapper.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/store/nodetable/NodeTableWrapper.java
@@ -55,6 +55,15 @@ public class NodeTableWrapper implements NodeTable
}
@Override
+ public boolean containsNode(Node node) {
+ return nodeTable.containsNode(node) ;
+ }
+
+ @Override
+ public boolean containsNodeId(NodeId nodeId) {
+ return nodeTable.containsNodeId(nodeId) ; }
+
+ @Override
public NodeId allocOffset()
{
return nodeTable.allocOffset() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/88836ee2/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
index e28cad2..e4542d7 100644
--- a/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
+++ b/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
@@ -118,6 +118,20 @@ public class NodeTableTrans implements NodeTable, TransactionLifecycle
return node ;
}
+ @Override
+ public boolean containsNode(Node node) {
+ NodeId x = getNodeIdForNode(node) ;
+ return NodeId.isDoesNotExist(x) ;
+ }
+
+ @Override
+ public boolean containsNodeId(NodeId nodeId) {
+ Node x = getNodeForNodeId(nodeId) ;
+ return x == null ;
+ }
+
+
+
/** Convert from a id to the id in the "journal" file */
private NodeId mapToJournal(NodeId id)
{
[10/10] git commit: Merge BGPs are path flattening so later
operations see combined BGPs.
Posted by an...@apache.org.
Merge BGPs are path flattening so later operations see combined BGPs.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/2472f6ae
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/2472f6ae
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/2472f6ae
Branch: refs/heads/master
Commit: 2472f6ae85c41456de0fa53cc4cfa241f0c95569
Parents: 379ab1f
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:49:13 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:49:13 2014 +0100
----------------------------------------------------------------------
.../java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/2472f6ae/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
index af86148..9ac4e49 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
@@ -155,8 +155,12 @@ public class Optimize implements Rewrite
OpWalker.walk(op, new OpVisitorExprPrepare(context)) ;
// Convert paths to triple patterns if possible.
- if ( context.isTrueOrUndef(ARQ.optPathFlatten) )
+ if ( context.isTrueOrUndef(ARQ.optPathFlatten) ) {
op = apply("Path flattening", new TransformPathFlattern(), op) ;
+ // and merge adjacent BGPs (part 1)
+ if ( context.isTrueOrUndef(ARQ.optMergeBGPs) )
+ op = apply("Merge BGPs", new TransformMergeBGPs(), op) ;
+ }
// Expression constant folding
if ( context.isTrueOrUndef(ARQ.optExprConstantFolding) )
[07/10] git commit: Document
Posted by an...@apache.org.
Document
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/eeb4e4aa
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/eeb4e4aa
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/eeb4e4aa
Branch: refs/heads/master
Commit: eeb4e4aa895134c5d3153dfb6690fbc6efa1f483
Parents: e87a8a3
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:46:40 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:46:40 2014 +0100
----------------------------------------------------------------------
.../algebra/optimize/TransformMergeBGPs.java | 77 +++++++++-----------
1 file changed, 33 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/eeb4e4aa/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
index e0193e1..1c6e0e1 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package com.hp.hpl.jena.sparql.algebra.optimize;
+package com.hp.hpl.jena.sparql.algebra.optimize ;
import java.util.List ;
@@ -27,57 +27,51 @@ import com.hp.hpl.jena.sparql.algebra.op.OpJoin ;
import com.hp.hpl.jena.sparql.algebra.op.OpSequence ;
import com.hp.hpl.jena.sparql.core.BasicPattern ;
-/** Merge adjacent BGPsTransformCollapseBGPs */
-public class TransformMergeBGPs extends TransformCopy
-{
+/** Merge BGPs
+ *
+ * <li>(join BGP1 BGP2) => BGP
+ * <li>(sequence ...BGP1 BGP2 ...) => (sequence ...BGP ...)
+ */
+public class TransformMergeBGPs extends TransformCopy {
@Override
- public Op transform(OpJoin opJoin, Op left, Op right)
- {
+ public Op transform(OpJoin opJoin, Op left, Op right) {
BasicPattern p1 = asBGP(left) ;
BasicPattern p2 = asBGP(right) ;
- if ( p1 != null && p2 != null )
- {
+ if ( p1 != null && p2 != null ) {
BasicPattern p = merge(p1, p2) ;
return new OpBGP(p) ;
}
-
+
return super.transform(opJoin, left, right) ;
}
-
+
@Override
- public Op transform(OpSequence opSequence, List<Op> elts)
- {
+ public Op transform(OpSequence opSequence, List<Op> elts) {
// First check whether we need to do anything at all.
// Check for two BGPs.
boolean xform = false ;
boolean previousBGP = false ;
- for ( Op op1 : elts )
- {
- BasicPattern p1 = asBGP( op1 );
- if ( previousBGP && p1 != null )
- {
- xform = true;
- break;
+ for ( Op op1 : elts ) {
+ BasicPattern p1 = asBGP(op1) ;
+ if ( previousBGP && p1 != null ) {
+ xform = true ;
+ break ;
}
- previousBGP = ( p1 != null );
+ previousBGP = (p1 != null) ;
}
-
- if ( ! xform )
- // Nothing to do here.
- return super.transform(opSequence, elts) ;
-
-
-
+
+ if ( !xform )
+ // Nothing to do here.
+ return super.transform(opSequence, elts) ;
+
OpSequence seq2 = OpSequence.create() ;
- for ( int i = 0 ; i < elts.size() ; i++ )
- {
+ for ( int i = 0 ; i < elts.size() ; i++ ) {
Op op = elts.get(i) ;
BasicPattern p1 = asBGP(op) ;
- if ( p1 == null )
- {
+ if ( p1 == null ) {
// Do nothing
seq2.add(op) ;
continue ; // Outer loop.
@@ -88,14 +82,12 @@ public class TransformMergeBGPs extends TransformCopy
seq2.add(new OpBGP(pMerge)) ;
// Merge any BGPs from here on ...
// Re-gets the BGP that trigegrs this all.
- for ( ; i < elts.size() ; i++ )
- {
+ for ( ; i < elts.size() ; i++ ) {
// Look at next element.
Op opNext = elts.get(i) ;
BasicPattern p2 = asBGP(opNext) ;
- if ( p2 == null )
- {
+ if ( p2 == null ) {
seq2.add(opNext) ;
break ;
}
@@ -108,16 +100,14 @@ public class TransformMergeBGPs extends TransformCopy
return seq2.get(0) ;
return seq2 ;
}
-
- private static BasicPattern asBGP(Op op)
- {
+
+ private static BasicPattern asBGP(Op op) {
if ( op instanceof OpBGP )
- return ((OpBGP)op).getPattern() ;
+ return ((OpBGP)op).getPattern() ;
return null ;
}
-
- private static BasicPattern merge(BasicPattern p1, BasicPattern p2)
- {
+
+ private static BasicPattern merge(BasicPattern p1, BasicPattern p2) {
if ( p1 == null || p2 == null )
return null ;
BasicPattern p = new BasicPattern() ;
@@ -125,6 +115,5 @@ public class TransformMergeBGPs extends TransformCopy
p.addAll(p2) ;
return p ;
}
-
-}
+}
[03/10] git commit: start/finish around parser call.
Posted by an...@apache.org.
start/finish around parser call.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c0bc67d7
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c0bc67d7
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c0bc67d7
Branch: refs/heads/master
Commit: c0bc67d7f3d7a49673494112900e2c4a084c9813
Parents: 4491980
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:42:02 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:42:02 2014 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/riotcmd/CmdLangParse.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c0bc67d7/jena-arq/src/main/java/riotcmd/CmdLangParse.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/riotcmd/CmdLangParse.java b/jena-arq/src/main/java/riotcmd/CmdLangParse.java
index f7ddf89..d11ce98 100644
--- a/jena-arq/src/main/java/riotcmd/CmdLangParse.java
+++ b/jena-arq/src/main/java/riotcmd/CmdLangParse.java
@@ -222,7 +222,7 @@ public abstract class CmdLangParse extends CmdGeneral
// else use NodeToLabel.createBNodeByLabel() ;
// Also, as URI.
final boolean labelsAsGiven = false ;
-
+
NodeToLabel labels = SyntaxLabels.createNodeToLabel() ;
if ( labelsAsGiven )
labels = NodeToLabel.createBNodeByLabelEncoded() ;
@@ -246,7 +246,9 @@ public abstract class CmdLangParse extends CmdGeneral
if ( labelsAsGiven )
reader.getParserProfile().setLabelToNode(LabelToNode.createUseLabelAsGiven()) ;
modTime.startTimer() ;
+ sink.start() ;
reader.read(in, baseURI, ct, sink, null) ;
+ sink.finish() ;
} catch (RiotException ex) {
// Should have handled the exception and logged a message by now.
// System.err.println("++++"+ex.getMessage());
[02/10] git commit: Refactor WebContent.determineCT to make the
arguments clearer.
Posted by an...@apache.org.
Refactor WebContent.determineCT to make the arguments clearer.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/4491980b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/4491980b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/4491980b
Branch: refs/heads/master
Commit: 4491980bfed389f6d42d8408026c81adb90a6532
Parents: 88836ee
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:41:23 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:41:23 2014 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/riot/RDFDataMgr.java | 101 +++++++++++++------
.../java/org/apache/jena/riot/ResultSetMgr.java | 2 +-
.../java/org/apache/jena/riot/WebContent.java | 37 +++++--
.../org/apache/jena/riot/system/StreamOps.java | 2 +-
.../jena/riot/writer/TriGWriterBlocks.java | 9 +-
.../apache/jena/riot/writer/TriGWriterFlat.java | 9 +-
.../jena/riot/writer/TurtleWriterBlocks.java | 9 +-
.../jena/riot/writer/TurtleWriterFlat.java | 9 +-
.../apache/jena/riot/writer/WriterStream.java | 76 --------------
.../riot/writer/WriterStreamRDFBatched.java | 75 +++++++-------
.../jena/riot/writer/WriterStreamRDFBlocks.java | 89 +++++++---------
11 files changed, 193 insertions(+), 225 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
index 7f38f7b..284b1c3 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
@@ -67,6 +67,7 @@ import com.hp.hpl.jena.sparql.util.Utils ;
* <li>{@code parse} -- Read data and send to an {@link StreamRDF}</li>
* <li>{@code open} -- Open a typed input stream to the location, using any alternative locations</li>
* <li>{@code write} -- Write Model/Dataset etc</li>
+ * <li>{@code create} -- Create a reader or writer explicitly</li>
* </ul>
*/
@@ -80,16 +81,8 @@ public class RDFDataMgr
static Logger log = LoggerFactory.getLogger(RDFDataMgr.class) ;
private static String riotBase = "http://jena.apache.org/riot/" ;
-// private static String dataStreamManagerSymbolStr = riotBase+"dataStreamManager" ;
-// public static Symbol dataStreamManagerSymbol = Symbol.create(dataStreamManagerSymbolStr) ;
-//
-// private static String StreamManagerSymbolStr = riotBase+"streamManager" ;
-// /** @deprecated Use {@linkplain #dataStreamManagerSymbol} */
-// @Deprecated
-// public static Symbol streamManagerSymbolOld = Symbol.create(riotBase+"streamManager") ;
-
- private static String StreamManagerSymbolStr = riotBase+"streamManager" ;
- public static Symbol streamManagerSymbol = Symbol.create(riotBase+"streamManager") ;
+ private static String StreamManagerSymbolStr = riotBase+"streamManager" ;
+ public static Symbol streamManagerSymbol = Symbol.create(riotBase+"streamManager") ;
/** Read triples into a Model from the given location.
* The syntax is detemined from input source URI (content negotiation or extension).
@@ -326,8 +319,6 @@ public class RDFDataMgr
private static DatasetGraph createDatasetGraph() { return DatasetGraphFactory.createMem() ; }
// Load:
- // Macros would be nice.
-
/** Create a memory Model and read in some data
* @see #read(Model,String)
*/
@@ -885,33 +876,51 @@ public class RDFDataMgr
return in ;
}
- // -----
- // Readers are algorithms and must be stateless (or they must create a per run
- // instance of something) because they may be called concurrency from different threads.
- // The Context Readerobject gives the per-run configuration.
-
- // Alternative: A two step factory-instance design means
- // readers can be created and passed around (e,.g. to set specific features)
- // We could have had two step design - ReaderFactory-ReaderInstance
- // no - put the bruden on complicated readers, not everyone.
-
- private static void process(StreamRDF destination, TypedInputStream in, String baseUri, Lang hintLang, Context context)
- {
- ContentType ct = WebContent.determineCT(baseUri, in.getContentType(), hintLang) ;
+ // -----
+ // Readers are algorithms and must be stateless (or they must create a per
+ // run instance of something) because they may be called concurrency from
+ // different threads. The Context Reader object gives the per-run
+ // configuration.
+
+ private static void process(StreamRDF destination, TypedInputStream in, String baseUri, Lang lang, Context context)
+ {
+ // Issue is whether lang overrides all.
+ // Not in the case of remote conneg, no file extension, when lang is default.
+// // ---- NEW
+// if ( lang != null ) {
+// ReaderRIOT reader = createReader(lang) ;
+// if ( reader == null )
+// throw new RiotException("No parser registered for language: "+lang.getLabel()) ;
+// reader.read(in, baseUri, lang.getContentType(), destination, context) ;
+// return ;
+// }
+// // ---- NEW
+
+ ContentType ct = WebContent.determineCT(in.getContentType(), lang, baseUri) ;
if ( ct == null )
- throw new RiotException("Failed to determine the content type: (URI="+baseUri+" : stream="+in.getContentType()+" : hint="+hintLang+")") ;
+ throw new RiotException("Failed to determine the content type: (URI="+baseUri+" : stream="+in.getContentType()+")") ;
ReaderRIOT reader = getReader(ct) ;
if ( reader == null )
throw new RiotException("No parser registered for content type: "+ct.getContentType()) ;
reader.read(in, baseUri, ct, destination, context) ;
}
-
+
// java.io.Readers are NOT preferred.
private static void process(StreamRDF destination, Reader in, String baseUri, Lang lang, Context context )
{
+// // ---- NEW
+// if ( lang != null ) {
+// ReaderRIOT reader = createReader(lang) ;
+// if ( reader == null )
+// throw new RiotException("No parser registered for language: "+lang.getLabel()) ;
+// reader.read(in, baseUri, lang.getContentType(), destination, context) ;
+// return ;
+// }
+// // ---- NEW
+
// Not as good as from an InputStream
- ContentType ct = WebContent.determineCT(baseUri, null, lang) ;
+ ContentType ct = WebContent.determineCT(null, lang, baseUri) ;
if ( ct == null )
throw new RiotException("Failed to determine the content type: (URI="+baseUri+" : hint="+lang+")") ;
ReaderRIOT reader = getReader(ct) ;
@@ -920,6 +929,38 @@ public class RDFDataMgr
reader.read(in, baseUri, ct, destination, context) ;
}
+// ///---- NEW / rewrite
+// // Lang is definitive. needs further consideration
+// private static void process2(StreamRDF destination, TypedInputStream in, String uri, Lang givenLang, Context context)
+// {
+// Pair<Lang, ContentType> p = selectLang(in.getMediaType(), uri, givenLang, context) ;
+// Lang lang = p.getLeft() ;
+// ContentType ct = p.getRight() ;
+//
+// if ( lang == null )
+// throw new RiotException("Syntax not identified (URI="+uri+" : stream="+in.getContentType()+")") ;
+//
+// ReaderRIOT reader = createReader(lang) ;
+// if ( reader == null )
+// throw new RiotException("No parser registered for lang: "+lang.getLabel()) ;
+// reader.read(in, uri, ct, destination, context) ;
+// }
+//
+// private static Pair<Lang, ContentType> selectLang(ContentType ct, String uri, Lang lang, Context context) {
+// if ( lang != null )
+// return Pair.create(lang, lang.getContentType()) ;
+//
+// Lang ctLang = RDFLanguages.contentTypeToLang(ct) ;
+// if ( ctLang != null )
+// return Pair.create(ctLang, ct) ;
+//
+// Lang filenameLang = RDFLanguages.filenameToLang(uri) ;
+// if ( filenameLang != null )
+// return Pair.create(filenameLang, filenameLang.getContentType()) ;
+// return null ;
+// }
+// ///---- NEW
+
/**
* @see RDFLanguages#shortnameToLang to go from Jena short name to {@linkplain Lang}
* @see RDFLanguages#contentTypeToLang to go from content type to {@linkplain Lang}
@@ -947,7 +988,7 @@ public class RDFDataMgr
/** Determine the Lang, given the URI target, any content type header string and a hint */
public static Lang determineLang(String target, String ctStr, Lang hintLang) {
- ContentType ct = WebContent.determineCT(target, ctStr, hintLang) ;
+ ContentType ct = WebContent.determineCT(ctStr, hintLang, target) ;
if ( ct == null )
return hintLang ;
Lang lang = RDFLanguages.contentTypeToLang(ct) ;
@@ -1226,7 +1267,7 @@ public class RDFDataMgr
RDFFormat serialization = RDFWriterRegistry.defaultSerialization(lang) ;
return createGraphWriter$(serialization) ;
}
-
+
/** Create a writer for an RDF language
* @param serialization Serialization format
* @return WriterGraphRIOT
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java b/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
index ded6a79..0a18e0c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/ResultSetMgr.java
@@ -129,7 +129,7 @@ public class ResultSetMgr {
}
private static ResultSet process(TypedInputStream in, String srcURI, Lang hintLang, Context context) {
- ContentType ct = WebContent.determineCT(srcURI, in.getContentType(), hintLang) ;
+ ContentType ct = WebContent.determineCT(in.getContentType(), hintLang, srcURI) ;
if ( ct == null )
throw new RiotException("Failed to determine the content type: (URI="+srcURI+" : stream="+in.getContentType()+" : hint="+hintLang+")") ;
ResultSetReader reader = getReader(ct) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java b/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
index 6e49ef5..fd5875f 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
@@ -214,18 +214,35 @@ public class WebContent
return contentTypeMultipartFormData.equalsIgnoreCase(ct.getContentType()) ;
}
- /** Determine the content type to be used, given the target URL, the content-type from
+ /**
+ * <p>
+ * Determine the content type to be used, given the target URL, the content-type from
* Content Negotiation and a hint language. This is a pragmatic balance.
- * A content-type of "text/plain" is ignored - it is too often wrong.
+ * A content-type of "text/plain" is ignored - it is too often wrong.
+ * </p><p>
+ * The decision is
+ * <blockquote>
+ * <i>Content type</i> (but not text/plain) > <i>hint</i> > <i>file extension</i>.
+ * </blockquote>
+ * We make content type (via content negotiation) strongest because a server
+ * may return something unexpected because that is all it can do. We are
+ * assuming servers don't lie. The "hint" is really a hint just for file extenion override.
+ * </p><p>
+ * In the case of no file extension, this reduces to the hint being
+ * the default choice if conneg does not produce anything useful.
+ * </p>
+ *
+ * @param contentTypeStr Content-Type string
+ * @param hintLang Default language
+ * @param target The URL of the target (file extension may be used)
+ *
+ * @return ContentType or null
*/
- public static ContentType determineCT(String target, String ctStr, Lang hintLang) {
- boolean isTextPlain = contentTypeTextPlain.equals(ctStr) ;
+ public static ContentType determineCT(String contentTypeStr, Lang hintLang, String target) {
+ boolean isTextPlain = contentTypeTextPlain.equals(contentTypeStr) ;
- if ( ctStr != null )
- ctStr = contentTypeCanonical(ctStr) ;
-
- // The decision is:
- // Content type (but not text/plain) > hint > file extension.
+ if ( contentTypeStr != null )
+ contentTypeStr = contentTypeCanonical(contentTypeStr) ;
// If it's text plain, we ignore it because a lot of naive
// server setups return text/plain for any file type.
@@ -234,7 +251,7 @@ public class WebContent
ContentType ct = null ;
if ( ! isTextPlain )
// Not guaranteed to be registered as a language here.
- ct = (ctStr==null) ? null : ContentType.create(ctStr) ;
+ ct = (contentTypeStr==null) ? null : ContentType.create(contentTypeStr) ;
if ( ct == null && hintLang != null )
ct = hintLang.getContentType() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
index 4ad7fd1..fff48c5 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamOps.java
@@ -81,7 +81,7 @@ public class StreamOps {
}
//
-// /** Send a dataset to a StreamRDF as triples and quads, using the xpelcitily given prefix map */
+// /** Send a dataset to a StreamRDF as triples and quads, using the explicitly given prefix map */
// public static void datasetToStream(DatasetGraph datasetGraph, StreamRDF stream, PrefixMap prefixMap) {
//
// }
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
index fbe1308..a2740fb 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterBlocks.java
@@ -20,6 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.StreamOps ;
import org.apache.jena.riot.system.StreamRDF ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -30,10 +31,12 @@ import com.hp.hpl.jena.sparql.core.DatasetGraph ;
public class TriGWriterBlocks extends TriGWriterBase
{
@Override
- protected void output(IndentedWriter iOut, DatasetGraph dsg, PrefixMap prefixMap, String baseURI)
- {
+ protected void output(IndentedWriter iOut, DatasetGraph dsg, PrefixMap prefixMap, String baseURI) {
StreamRDF dest = new WriterStreamRDFBlocks(iOut) ;
- WriterStream.write(dest, dsg, prefixMap, baseURI) ;
+ dest.start() ;
+ dest.base(baseURI) ;
+ StreamOps.sendDatasetToStream(dsg, dest, prefixMap) ;
+ dest.finish() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
index 54ef31d..66ea06c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TriGWriterFlat.java
@@ -20,6 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.StreamOps ;
import org.apache.jena.riot.system.StreamRDF ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
@@ -31,9 +32,11 @@ import com.hp.hpl.jena.sparql.core.DatasetGraph ;
public class TriGWriterFlat extends TriGWriterBase
{
@Override
- protected void output(IndentedWriter iOut, DatasetGraph datasetGraph, PrefixMap prefixMap, String baseURI)
- {
+ protected void output(IndentedWriter iOut, DatasetGraph datasetGraph, PrefixMap prefixMap, String baseURI) {
StreamRDF dest = new WriterStreamRDFFlat(iOut) ;
- WriterStream.write(dest, datasetGraph, prefixMap, baseURI) ;
+ dest.start() ;
+ dest.base(baseURI) ;
+ StreamOps.sendDatasetToStream(datasetGraph, dest, prefixMap) ;
+ dest.finish() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
index 5013dc8..90bc962 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterBlocks.java
@@ -20,6 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.StreamOps ;
import org.apache.jena.riot.system.StreamRDF ;
import com.hp.hpl.jena.graph.Graph ;
@@ -30,10 +31,12 @@ import com.hp.hpl.jena.graph.Graph ;
public class TurtleWriterBlocks extends TurtleWriterBase
{
@Override
- protected void output(IndentedWriter out, Graph graph, PrefixMap prefixMap, String baseURI)
- {
+ protected void output(IndentedWriter out, Graph graph, PrefixMap prefixMap, String baseURI) {
StreamRDF dest = new WriterStreamRDFBlocks(out) ;
- WriterStream.write(dest, graph, prefixMap, baseURI) ;
+ dest.start() ;
+ dest.base(baseURI) ;
+ StreamOps.sendGraphToStream(graph, dest, prefixMap) ;
+ dest.finish() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
index 6bf4704..9770b04 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleWriterFlat.java
@@ -20,6 +20,7 @@ package org.apache.jena.riot.writer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.riot.system.PrefixMap ;
+import org.apache.jena.riot.system.StreamOps ;
import org.apache.jena.riot.system.StreamRDF ;
import com.hp.hpl.jena.graph.Graph ;
@@ -28,9 +29,11 @@ import com.hp.hpl.jena.graph.Graph ;
public class TurtleWriterFlat extends TurtleWriterBase
{
@Override
- protected void output(IndentedWriter out, Graph graph, PrefixMap prefixMap, String baseURI)
- {
+ protected void output(IndentedWriter out, Graph graph, PrefixMap prefixMap, String baseURI) {
StreamRDF dest = new WriterStreamRDFFlat(out) ;
- WriterStream.write(dest, graph, prefixMap, baseURI) ;
+ dest.start() ;
+ dest.base(baseURI) ;
+ StreamOps.sendGraphToStream(graph, dest, prefixMap) ;
+ dest.finish() ;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStream.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStream.java
deleted file mode 100644
index f794f91..0000000
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStream.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * 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 org.apache.jena.riot.writer;
-
-import java.util.Iterator ;
-import java.util.Map.Entry ;
-
-import org.apache.jena.riot.system.PrefixMap ;
-import org.apache.jena.riot.system.StreamOps ;
-import org.apache.jena.riot.system.StreamRDF ;
-
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Triple ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.Quad ;
-
-/** Library class with helpers for writing streams of RDF (as {@linkplain StreamRDF}) */
-public class WriterStream
-{
- // In development.
- // This is really utilities for StreamRDF and should go into StreamRDFLib.
- // It's the nature of the StreamRDF that does the writing.
- private WriterStream() {}
-
- protected static void finish(StreamRDF dest)
- { dest.finish() ; }
-
- protected static void start(StreamRDF dest)
- { dest.start() ; }
-
- protected static void writePrefixes(StreamRDF dest, PrefixMap prefixMap)
- {
- if ( prefixMap != null )
- {
- for ( Entry<String, String> e : prefixMap.getMappingCopyStr().entrySet())
- dest.prefix(e.getKey(), e.getValue()) ;
- }
- }
-
- protected static void write(StreamRDF dest, DatasetGraph datasetGraph, PrefixMap prefixes, String baseURI)
- {
- start(dest) ;
- dest.base(baseURI) ;
- writePrefixes(dest, prefixes) ;
- Iterator<Quad> iter = datasetGraph.find(null, null, null, null) ;
- StreamOps.sendQuadsToStream(iter, dest) ;
- finish(dest) ;
- }
-
- protected static void write(StreamRDF dest, Graph graph, PrefixMap prefixes, String baseURI)
- {
- start(dest) ;
- dest.base(baseURI) ;
- writePrefixes(dest, prefixes) ;
- Iterator<Triple> iter = graph.find(null, null, null) ;
- StreamOps.sendTriplesToStream(iter, dest) ;
- finish(dest) ;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
index 9667b62..e271557 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
@@ -33,6 +33,8 @@ import com.hp.hpl.jena.sparql.core.Quad ;
/** Convert the incoming print stream into batches. */
abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
{
+ // This has nothing to do with printing except it's under WriterStreamRDFBase
+ // so the operation is "print"
private Node currentSubject ;
private Node currentGraph ;
private List<Triple> batchTriples ;
@@ -53,39 +55,38 @@ abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
@Override
protected final void endData() { flush() ; }
- private void flush()
- {
- finishBatchTriple(currentSubject) ;
+ private void flush() {
+ finishBatchTriples(currentSubject) ;
finishBatchQuad(currentGraph, currentSubject) ;
finalizeRun() ;
}
-
+
@Override
- protected final void reset()
- {
- currentSubject = null ;
- currentGraph = null ;
- batchTriples = null ;
- batchQuads = null ;
+ protected final void reset() {
+ currentSubject = null ;
+ currentGraph = null ;
+ batchTriples = null ;
+ batchQuads = null ;
}
@Override
- protected final void print(Quad quad)
- {
- if ( false )
- {
+ protected final void print(Quad quad) {
+ if ( false ) {
// Merge to a triple stream.
triple(quad.asTriple()) ;
return ;
}
-
+
Node g = quad.getGraph() ;
Node s = quad.getSubject() ;
-
- if ( ! Lib.equal(g, currentGraph) || ! Lib.equal(s, currentSubject) )
- {
- if ( currentSubject != null )
- finishBatchQuad(currentGraph, currentSubject) ;
+
+ if ( !Lib.equal(g, currentGraph) || !Lib.equal(s, currentSubject) ) {
+ if ( currentSubject != null ) {
+ if ( currentGraph == null )
+ finishBatchTriples(currentSubject) ;
+ else
+ finishBatchQuad(currentGraph, currentSubject) ;
+ }
startBatchQuad(g, s) ;
currentGraph = g ;
currentSubject = s ;
@@ -94,13 +95,11 @@ abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
}
@Override
- protected final void print(Triple triple)
- {
+ protected final void print(Triple triple) {
Node s = triple.getSubject() ;
- if ( ! Lib.equal(s, currentSubject) )
- {
+ if ( !Lib.equal(s, currentSubject) ) {
if ( currentSubject != null )
- finishBatchTriple(currentSubject) ;
+ finishBatchTriples(currentSubject) ;
startBatchTriple(s) ;
currentGraph = null ;
@@ -108,40 +107,34 @@ abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
}
processTriple(triple) ;
}
-
- private void startBatchTriple(Node subject)
- {
+
+ private void startBatchTriple(Node subject) {
batchTriples = new ArrayList<>() ;
}
-
- private void processTriple(Triple triple)
- {
+
+ private void processTriple(Triple triple) {
batchTriples.add(triple) ;
}
- private void finishBatchTriple(Node subject)
- {
+ private void finishBatchTriples(Node subject) {
if ( batchTriples != null && batchTriples.size() > 0 ) {
printBatchTriples(currentSubject, batchTriples) ;
batchTriples.clear() ;
}
}
- private void startBatchQuad(Node graph, Node subject)
- {
+ private void startBatchQuad(Node graph, Node subject) {
batchQuads = new ArrayList<>() ;
}
-
- private void processQuad(Quad Quad)
- {
+
+ private void processQuad(Quad Quad) {
batchQuads.add(Quad) ;
}
- private void finishBatchQuad(Node graph, Node subject)
- {
+ private void finishBatchQuad(Node graph, Node subject) {
if ( batchQuads != null && batchQuads.size() > 0 ) {
printBatchQuads(currentGraph, currentSubject, batchQuads) ;
- batchQuads.clear();
+ batchQuads.clear() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4491980b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
index 4513848..23819ea 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
@@ -70,69 +70,59 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
protected boolean firstGraph = true ;
protected int currentGraphIndent = 0;
- public WriterStreamRDFBlocks(OutputStream output)
- {
+ public WriterStreamRDFBlocks(OutputStream output) {
super(output) ;
}
-
- public WriterStreamRDFBlocks(Writer output)
- {
+
+ public WriterStreamRDFBlocks(Writer output) {
super(output) ;
}
- public WriterStreamRDFBlocks(IndentedWriter output)
- {
+ public WriterStreamRDFBlocks(IndentedWriter output) {
super(output) ;
}
-
+
@Override
- protected void printBatchQuads(Node g, Node s, List<Quad> quads)
- {
+ protected void printBatchQuads(Node g, Node s, List<Quad> quads) {
if ( g == null )
g = Quad.defaultGraphNodeGenerated ;
- if ( Lib.equal(g, lastGraph ))
- {
+ if ( Lib.equal(g, lastGraph) ) {
// Same graph, different subject.
out.println(" .") ;
out.println() ;
- }
- else
- {
+ } else {
// Start graph
endGraph(g) ;
startGraph(g) ;
lastGraph = g ;
}
- List<Triple> triples = GLib.quads2triples(quads.iterator()).toList();
+ List<Triple> triples = GLib.quads2triples(quads.iterator()).toList() ;
printBatch(s, triples) ;
// No trailing "." has been printed.
lastSubject = s ;
}
- private void gap(int gap)
- {
+ private void gap(int gap) {
out.print(' ', gap) ;
}
@Override
- protected void printBatchTriples(Node s, List<Triple> triples)
- {
+ protected void printBatchTriples(Node s, List<Triple> triples) {
// Blank line?
// Not if not prefixes and first batch.
if ( out.getRow() > 1 )
out.println() ;
-
+
printBatch(s, triples) ;
// End of cluster.
out.print(" .") ;
- out.println() ;
+ out.println() ;
}
- private void printBatch(Node s, List<Triple> triples)
- {
+ private void printBatch(Node s, List<Triple> triples) {
outputNode(s) ;
if ( out.getCol() > LONG_SUBJECT )
- out.println() ;
+ out.println() ;
else
gap(GAP_S_P) ;
out.incIndent(INDENT_PREDICATE) ;
@@ -141,18 +131,16 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
out.decIndent(INDENT_PREDICATE) ;
}
- private void writePredicateObjectList(Collection<Triple> triples)
- {
+ private void writePredicateObjectList(Collection<Triple> triples) {
// Find width
int predicateMaxWidth = RiotLib.calcWidthTriples(pMap, baseURI, triples, MIN_PREDICATE, LONG_PREDICATE) ;
boolean first = true ;
- for ( Triple triple : triples )
- {
- if ( ! first )
+ for ( Triple triple : triples ) {
+ if ( !first )
out.println(" ;") ;
else
first = false ;
-
+
Node p = triple.getPredicate() ;
outputNode(p) ;
out.pad(predicateMaxWidth) ;
@@ -163,8 +151,7 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
}
@Override
- protected void finalizeRun()
- {
+ protected void finalizeRun() {
if ( lastGraph != null )
// last was a quad
endGraph(null) ;
@@ -173,34 +160,30 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
protected boolean dftGraph() { return lastGraph == Quad.defaultGraphNodeGenerated ; }
protected boolean dftGraph(Node g) { return g == Quad.defaultGraphNodeGenerated ; }
- protected void startGraph(Node g)
- {
+ protected void startGraph(Node g) {
// Start graph
- if ( lastGraph == null )
- {
- boolean NL_START = ( dftGraph(g) ? NL_GDFT_START : NL_GNMD_START ) ;
-
- if ( ! firstGraph )
+ if ( lastGraph == null ) {
+ boolean NL_START = (dftGraph(g) ? NL_GDFT_START : NL_GNMD_START) ;
+
+ if ( !firstGraph )
out.println() ;
firstGraph = false ;
-
+
lastSubject = null ;
- if ( ! dftGraph(g) )
- {
+ if ( !dftGraph(g) ) {
outputNode(g) ;
out.print(" ") ;
}
-
+
if ( NL_START )
out.println("{") ;
else
out.print("{ ") ;
-
+
if ( dftGraph() )
setGraphIndent(INDENT_GDFT) ;
- else
- {
- int x = NL_START ? INDENT_GNMD : out.getCol() ;
+ else {
+ int x = NL_START ? INDENT_GNMD : out.getCol() ;
setGraphIndent(x) ;
}
out.incIndent(graphIndent()) ;
@@ -208,15 +191,13 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
lastGraph = g ;
}
- protected void endGraph(Node g)
- {
+ protected void endGraph(Node g) {
if ( lastGraph == null )
return ;
-
+
// End of graph
- if ( ! equal(lastGraph, g) )
- {
- boolean NL_END = ( dftGraph(g) ? NL_GDFT_END : NL_GNMD_END ) ;
+ if ( !equal(lastGraph, g) ) {
+ boolean NL_END = (dftGraph(g) ? NL_GDFT_END : NL_GNMD_END) ;
if ( lastSubject != null )
out.print(" .") ;
[06/10] git commit: Deprecate
Posted by an...@apache.org.
Deprecate
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e87a8a37
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e87a8a37
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e87a8a37
Branch: refs/heads/master
Commit: e87a8a37c52f9ff97afe031613d7de2add4b9e31
Parents: 659f777
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:46:03 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:46:03 2014 +0100
----------------------------------------------------------------------
.../com/hp/hpl/jena/sparql/lib/DatasetLib.java | 40 +++++++-------------
1 file changed, 13 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e87a8a37/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lib/DatasetLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lib/DatasetLib.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lib/DatasetLib.java
index f76f728..37c86a8 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lib/DatasetLib.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lib/DatasetLib.java
@@ -18,21 +18,19 @@
package com.hp.hpl.jena.sparql.lib;
-import java.util.Iterator ;
-
import org.apache.jena.atlas.io.IndentedWriter ;
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
import com.hp.hpl.jena.sparql.sse.writers.WriterGraph ;
+import com.hp.hpl.jena.sparql.util.IsoMatcher ;
public class DatasetLib
{
/** Write, in SSE format (a debugging format).
*/
+ @Deprecated
public static void dump(DatasetGraph dataset)
{
WriterGraph.output(IndentedWriter.stdout, dataset, null) ;
@@ -40,8 +38,10 @@ public class DatasetLib
}
/**
- * Return true if the datasets are isomorphic - same names for graphs, graphs isomorphic.
+ * Return true if the datasets are isomorphic - same names for graphs, graphs isomorphic.
+ * @deprecated Use {@linkplain IsoMatcher#isomorphic(DatasetGraph, DatasetGraph)}
*/
+ @Deprecated
public static boolean isomorphic(Dataset dataset1, Dataset dataset2)
{
return isomorphic(dataset1.asDatasetGraph(), dataset2.asDatasetGraph()) ;
@@ -49,33 +49,19 @@ public class DatasetLib
/**
* Return true if the datasets are isomorphic - same names for graphs, graphs isomorphic.
+ * @deprecated Use {@linkplain IsoMatcher#isomorphic(DatasetGraph, DatasetGraph)}
*/
+ @Deprecated
public static boolean isomorphic(DatasetGraph dataset1, DatasetGraph dataset2)
{
- long x1 = dataset1.size() ;
- long x2 = dataset2.size() ;
- if ( x1 >=0 && x1 != x2 )
- return false ;
-
- boolean b = dataset1.getDefaultGraph().isIsomorphicWith(dataset2.getDefaultGraph()) ;
- if ( ! b )
- return b ;
-
- for ( Iterator<Node> iter1 = dataset1.listGraphNodes() ; iter1.hasNext() ; )
- {
- Node gn = iter1.next() ;
- Graph g1 = dataset1.getGraph(gn) ;
- Graph g2 = dataset2.getGraph(gn) ;
- if ( g2 == null )
- return false ;
- if ( ! g1.isIsomorphicWith(g2) )
- return false ;
- }
-
- return true ;
+ return IsoMatcher.isomorphic(dataset1, dataset2) ;
}
- // A DatasetGraph that creates memory graphs on mention */
+ // A DatasetGraph that creates memory graphs on mention
+ /**
+ * @deprecated Use {@linkplain DatasetGraphFactory#createMem()}
+ */
+ @Deprecated
public static DatasetGraph createDatasetGraphMem()
{
return DatasetGraphFactory.createMem() ;
[08/10] git commit: Document
Posted by an...@apache.org.
Document
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5ed532b4
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5ed532b4
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5ed532b4
Branch: refs/heads/master
Commit: 5ed532b48758bd58c2703c0fe55f2ac593a6c0bd
Parents: eeb4e4a
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:47:09 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:47:09 2014 +0100
----------------------------------------------------------------------
.../sparql/algebra/optimize/TransformPathFlattern.java | 12 +++++++++---
.../algebra/optimize/TransformPathFlatternStd.java | 1 +
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/5ed532b4/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlattern.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlattern.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlattern.java
index 52e236b..af5e1d9 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlattern.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlattern.java
@@ -25,9 +25,15 @@ import com.hp.hpl.jena.sparql.core.PathBlock ;
import com.hp.hpl.jena.sparql.path.PathCompiler ;
import com.hp.hpl.jena.sparql.path.PathLib ;
-/** Perform the equivalent of the trasnactions in the SPARQL 1.1 spec.
- * ARQ regards path transformation as an optimization.
- * ARQ does not execute the exact transformation as per spec as there are better ways to do it.
+/**
+ * Perform the equivalent of the transactions in the SPARQL 1.1 spec. ARQ
+ * regards path transformation as an optimization. ARQ does not execute the
+ * exact transformation as per spec as there are better ways to do it for ARQ.
+ * For example,
+ * <ul>
+ * <li>Path seq -> BGPs or a (sequence)
+ * <li>"|" is not expanded into a union.
+ * </ul>
*/
public class TransformPathFlattern extends TransformCopy
http://git-wip-us.apache.org/repos/asf/jena/blob/5ed532b4/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlatternStd.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlatternStd.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlatternStd.java
index 3433345..163aa25 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlatternStd.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformPathFlatternStd.java
@@ -37,6 +37,7 @@ import com.hp.hpl.jena.sparql.core.VarAlloc ;
import com.hp.hpl.jena.sparql.path.* ;
/** The path transformation step exactly as per the SPARQL 1.1 spec.
+ * i.e. joins triples rather creatign BGPs.
* It does not produce very nice execution structures so ARQ uses
* a functional equivalent, but different, transformation.
*/
[05/10] git commit: Remove use of DatasetLib for DatasetGraphFactory
operations.
Posted by an...@apache.org.
Remove use of DatasetLib for DatasetGraphFactory operations.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/659f777d
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/659f777d
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/659f777d
Branch: refs/heads/master
Commit: 659f777da219c990f3ac13e7d99d071d4afa05a2
Parents: 1bc8142
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:45:44 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:45:44 2014 +0100
----------------------------------------------------------------------
.../org/apache/jena/riot/TestSyntaxDetermination.java | 2 +-
.../java/org/apache/jena/riot/lang/TestLangNQuads.java | 8 +++-----
.../test/java/org/apache/jena/riot/lang/TestLangTrig.java | 7 +++----
.../org/apache/jena/riot/system/TestJsonLDReadWrite.java | 10 +++++-----
4 files changed, 12 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/659f777d/jena-arq/src/test/java/org/apache/jena/riot/TestSyntaxDetermination.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestSyntaxDetermination.java b/jena-arq/src/test/java/org/apache/jena/riot/TestSyntaxDetermination.java
index 5b68117..446ccc9 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestSyntaxDetermination.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestSyntaxDetermination.java
@@ -92,7 +92,7 @@ public class TestSyntaxDetermination extends BaseTest {
{ test(url, contentType, hintLang, expected) ; }
static void test(String url, String ct, Lang hint, Lang expected) {
- ContentType x = WebContent.determineCT(url, ct, hint) ;
+ ContentType x = WebContent.determineCT(ct, hint, url) ;
Lang lang = RDFDataMgr.determineLang(url, ct, hint) ;
assertEquals(expected, lang) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/659f777d/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
index 60f3a6e..65b5447 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangNQuads.java
@@ -18,10 +18,8 @@
package org.apache.jena.riot.lang;
-import org.apache.jena.riot.RiotReader ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExFatal ;
-import org.apache.jena.riot.lang.LangRIOT ;
-import org.apache.jena.riot.lang.StreamRDFCounting ;
+import org.apache.jena.riot.RiotReader ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
@@ -29,7 +27,7 @@ import org.junit.Test ;
import com.hp.hpl.jena.graph.NodeFactory ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.lib.DatasetLib ;
+import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
/** Test of syntax by a quads parser (does not include node validitiy checking) */
@@ -82,7 +80,7 @@ public class TestLangNQuads extends TestLangNTuples
private DatasetGraph parseToDataset(String string)
{
- DatasetGraph dsg = DatasetLib.createDatasetGraphMem() ;
+ DatasetGraph dsg = DatasetGraphFactory.createMem() ;
StreamRDF dest = StreamRDFLib.dataset(dsg) ;
parse(dest, string) ;
return dsg ;
http://git-wip-us.apache.org/repos/asf/jena/blob/659f777d/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
index e737c15..914a3f3 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestLangTrig.java
@@ -21,10 +21,9 @@ package org.apache.jena.riot.lang;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.riot.ErrorHandlerTestLib ;
-import org.apache.jena.riot.RiotReader ;
import org.apache.jena.riot.ErrorHandlerTestLib.ErrorHandlerEx ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ;
-import org.apache.jena.riot.lang.LangTriG ;
+import org.apache.jena.riot.RiotReader ;
import org.apache.jena.riot.system.StreamRDF ;
import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
@@ -33,7 +32,7 @@ import org.junit.Test ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.lib.DatasetLib ;
+import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
import com.hp.hpl.jena.sparql.sse.SSE ;
/** Test the behaviour of the RIOT reader for TriG. TriG includes checking of terms */
@@ -91,7 +90,7 @@ public class TestLangTrig extends BaseTest
private static DatasetGraph parse(String... strings)
{
String string = StrUtils.strjoin("\n", strings) ;
- DatasetGraph dsg = DatasetLib.createDatasetGraphMem() ;
+ DatasetGraph dsg = DatasetGraphFactory.createMem() ;
StreamRDF sink = StreamRDFLib.dataset(dsg) ;
Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(string) ;
LangTriG parser = RiotReader.createParserTriG(tokenizer, "http://base/", sink) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/659f777d/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
index 777a147..14e754d 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
@@ -22,20 +22,20 @@ import static org.apache.jena.riot.RDFLanguages.JSONLD ;
import java.io.ByteArrayInputStream ;
import java.io.ByteArrayOutputStream ;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.Iterator ;
+import java.util.Map ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.riot.RDFDataMgr ;
-import org.junit.Assert;
+import org.junit.Assert ;
import org.junit.Test ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.DatasetFactory ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
-import com.hp.hpl.jena.sparql.lib.DatasetLib ;
import com.hp.hpl.jena.sparql.sse.SSE ;
+import com.hp.hpl.jena.sparql.util.IsoMatcher ;
/** tests : JSONLD->RDF ; JSONLD->RDF->JSONLD */
public class TestJsonLDReadWrite extends BaseTest
@@ -138,7 +138,7 @@ public class TestJsonLDReadWrite extends BaseTest
private static boolean isIsomorphic(Dataset ds1, Dataset ds2)
{
- return DatasetLib.isomorphic(ds1, ds2) ;
+ return IsoMatcher.isomorphic(ds1.asDatasetGraph(), ds2.asDatasetGraph()) ;
}
private static void checkNamespaces(Model m, Map<String, String> namespaces) {
[09/10] git commit: Implement named graph find operations.
Posted by an...@apache.org.
Implement named graph find operations.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/379ab1f5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/379ab1f5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/379ab1f5
Branch: refs/heads/master
Commit: 379ab1f5bee48702034ede48d723a2180be49581
Parents: 5ed532b
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:47:54 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:47:54 2014 +0100
----------------------------------------------------------------------
.../com/hp/hpl/jena/sparql/core/DatasetGraphOne.java | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/379ab1f5/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphOne.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphOne.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphOne.java
index 0885ffd..5285c41 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphOne.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphOne.java
@@ -35,7 +35,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind
{
private final Graph graph ;
- protected DatasetGraphOne(Graph graph) { this.graph = graph ; }
+ public DatasetGraphOne(Graph graph) { this.graph = graph ; }
@Override
public boolean containsGraph(Node graphNode)
@@ -87,7 +87,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind
}
@Override
- public void delete(Node g , Node s, Node p, Node o)
+ public void delete(Node g, Node s, Node p, Node o)
{
if ( Quad.isDefaultGraph(g) )
graph.delete(new Triple(s, p, o)) ;
@@ -120,23 +120,19 @@ public class DatasetGraphOne extends DatasetGraphBaseFind
@Override
protected Iterator<Quad> findInDftGraph(Node s, Node p, Node o)
{
- if ( true ) throw new UnsupportedOperationException() ;
- return triples2quadsDftGraph(graph.find(s, p ,o)) ; }
+ return triples2quadsDftGraph(graph.find(s, p ,o)) ;
+ }
- // -- Not needed.
@Override
protected Iterator<Quad> findInSpecificNamedGraph(Node g, Node s, Node p, Node o)
{
- if ( true ) throw new UnsupportedOperationException() ;
// There are no named graphs
return Iter.nullIterator() ;
}
- // -- Not needed.
@Override
protected Iterator<Quad> findInAnyNamedGraphs(Node s, Node p, Node o)
{
- if ( true ) throw new UnsupportedOperationException() ;
// There are no named graphs
return Iter.nullIterator() ;
}
[04/10] git commit: Consistent formatting
Posted by an...@apache.org.
Consistent formatting
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1bc8142d
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1bc8142d
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1bc8142d
Branch: refs/heads/master
Commit: 1bc8142d7df7c1258a1973d52bacb73a9e8f1b86
Parents: c0bc67d
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:44:20 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:44:20 2014 +0100
----------------------------------------------------------------------
.../com/hp/hpl/jena/sparql/util/IsoMatcher.java | 102 +++++++------------
1 file changed, 39 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/1bc8142d/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/IsoMatcher.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/IsoMatcher.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/IsoMatcher.java
index d620fa9..ecfad1f 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/IsoMatcher.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/util/IsoMatcher.java
@@ -18,13 +18,14 @@
package com.hp.hpl.jena.sparql.util ;
+import static org.apache.jena.atlas.lib.Tuple.createTuple ;
+
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.Iterator ;
import java.util.List ;
import org.apache.jena.atlas.lib.Tuple ;
-import static org.apache.jena.atlas.lib.Tuple.* ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
@@ -54,44 +55,43 @@ public class IsoMatcher
// private final Queue<Pair<Node, Node>> causes = new LinkedList<>() ;
private final EqualityTest nodeTest ;
- static class Mapping
- {
- final Node node1 ;
- final Node node2 ;
- final Mapping parent ;
+ static class Mapping {
+ final Node node1 ;
+ final Node node2 ;
+ final Mapping parent ;
static Mapping rootMapping = new Mapping(null, null, null) ;
-
- public Mapping(Mapping parent, Node node1, Node node2)
- {
+
+ public Mapping(Mapping parent, Node node1, Node node2) {
super() ;
this.parent = parent ;
this.node1 = node1 ;
this.node2 = node2 ;
}
- public boolean mapped(Node node) { return map(node) != null ; }
- public boolean revmapped(Node node) { return revmap(node) != null ; }
-
- public Node map(Node node)
- {
+ public boolean mapped(Node node) {
+ return map(node) != null ;
+ }
+
+ public boolean revmapped(Node node) {
+ return revmap(node) != null ;
+ }
+
+ public Node map(Node node) {
Mapping mapping = this ;
- while (mapping != rootMapping)
- {
- if (mapping.node1.equals(node))
+ while (mapping != rootMapping) {
+ if ( mapping.node1.equals(node) )
return mapping.node2 ;
mapping = mapping.parent ;
}
return null ;
}
-
+
// Reverse mapping.
- public Node revmap(Node node)
- {
+ public Node revmap(Node node) {
Mapping mapping = this ;
- while (mapping != rootMapping)
- {
- if (mapping.node2.equals(node))
+ while (mapping != rootMapping) {
+ if ( mapping.node2.equals(node) )
return mapping.node1 ;
mapping = mapping.parent ;
}
@@ -102,9 +102,8 @@ public class IsoMatcher
public String toString() {
StringBuilder sbuff = new StringBuilder() ;
Mapping mapping = this ;
- while (mapping != rootMapping)
- {
- sbuff.append("{"+mapping.node1+" => "+mapping.node2+"}") ;
+ while (mapping != rootMapping) {
+ sbuff.append("{" + mapping.node1 + " => " + mapping.node2 + "}") ;
mapping = mapping.parent ;
}
sbuff.append("{}") ;
@@ -112,21 +111,18 @@ public class IsoMatcher
}
}
- static class Cause
- {
- final Tuple<Node> tuple ;
- final Mapping mapping ;
+ static class Cause {
+ final Tuple<Node> tuple ;
+ final Mapping mapping ;
- public Cause(Tuple<Node> tuple, Mapping mapping)
- {
+ public Cause(Tuple<Node> tuple, Mapping mapping) {
super() ;
this.tuple = tuple ;
this.mapping = mapping ;
}
}
- public static boolean isomorphic(Graph g1, Graph g2)
- {
+ public static boolean isomorphic(Graph g1, Graph g2) {
List<Tuple<Node>> x1 = tuplesTriples(g1.find(null, null, null)) ;
List<Tuple<Node>> x2 = tuplesTriples(g2.find(null, null, null)) ;
@@ -134,8 +130,7 @@ public class IsoMatcher
return matcher.match() ;
}
- public static boolean isomorphic(DatasetGraph dsg1, DatasetGraph dsg2)
- {
+ public static boolean isomorphic(DatasetGraph dsg1, DatasetGraph dsg2) {
List<Tuple<Node>> x1 = tuplesQuads(dsg1.find()) ;
List<Tuple<Node>> x2 = tuplesQuads(dsg2.find()) ;
@@ -150,7 +145,6 @@ public class IsoMatcher
return matcher.match() ;
}
-
private static List<Tuple<Node>> tuplesTriples(Iterator<Triple> iter) {
List<Tuple<Node>> tuples = new ArrayList<>() ;
for ( ; iter.hasNext() ; ) {
@@ -171,21 +165,18 @@ public class IsoMatcher
return tuples ;
}
- private IsoMatcher(List<Tuple<Node>> g1, List<Tuple<Node>> g2, EqualityTest nodeTest)
- {
+ private IsoMatcher(List<Tuple<Node>> g1, List<Tuple<Node>> g2, EqualityTest nodeTest) {
this.tuples1 = g1 ;
this.tuples2 = g2 ;
this.nodeTest = nodeTest ;
}
- // May MUTATE tuples1 or tuples2
- private boolean match()
- {
+ // May MUTATE tuples1 or tuples2
+ private boolean match() {
return match(tuples1, tuples2, Mapping.rootMapping) ;
}
- private boolean match(List<Tuple<Node>> tuples1, List<Tuple<Node>> tuples2, Mapping mapping)
- {
+ private boolean match(List<Tuple<Node>> tuples1, List<Tuple<Node>> tuples2, Mapping mapping) {
if ( DEBUG ) {
System.out.println("match: ") ;
System.out.println(" "+tuples1) ;
@@ -224,11 +215,9 @@ public class IsoMatcher
return true ;
}
- private List<Cause> match(Tuple<Node> t1, Collection<Tuple<Node>> g2, Mapping mapping)
- {
+ private List<Cause> match(Tuple<Node> t1, Collection<Tuple<Node>> g2, Mapping mapping) {
List<Cause> matches = new ArrayList<>() ;
- for (Tuple<Node> t2 : g2)
- {
+ for ( Tuple<Node> t2 : g2 ) {
// No - multiple bNodes.
Mapping step = gen(t1, t2, mapping) ;
if (step != null) {
@@ -239,20 +228,8 @@ public class IsoMatcher
return matches ;
}
- // -------------------------------
-
-// private Triple subtitute(Triple t, Mapping mapping) {
-// if ( mapping == null )
-// return t ;
-// Node s = mapping.map(t.getSubject()) ;
-// Node p = mapping.map(t.getPredicate()) ;
-// Node o = mapping.map(t.getPredicate()) ;
-// return Triple.create(s,p,o) ;
-// }
-
// Maybe several mappings!
- private Mapping gen(Tuple<Node> t1, Tuple<Node> t2, Mapping _mapping)
- {
+ private Mapping gen(Tuple<Node> t1, Tuple<Node> t2, Mapping _mapping) {
if ( t1.size() != t2.size() )
return null ;
@@ -260,8 +237,7 @@ public class IsoMatcher
for ( int i = 0 ; i < t1.size() ; i++ ) {
Node n1 = t1.get(i) ;
Node n2 = t2.get(i) ;
- if ( ! nodeTest.equal(n1, n2) )
- {
+ if ( ! nodeTest.equal(n1, n2) ) {
mapping = gen(n1, n2, mapping) ;
if ( mapping == null )
return null ;