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 2015/08/24 10:13:27 UTC

[18/50] jena git commit: Fix default graph projection for exeConstructTriples();

Fix default graph projection for exeConstructTriples();

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/f27623dc
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/f27623dc
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/f27623dc

Branch: refs/heads/master
Commit: f27623dcf073638a92c55a580a891bc6008e51bf
Parents: e819ac3
Author: confidencesun <co...@gmail.com>
Authored: Wed Aug 12 15:11:00 2015 +0800
Committer: confidencesun <co...@gmail.com>
Committed: Wed Aug 12 15:11:00 2015 +0800

----------------------------------------------------------------------
 .../constructquads/ExampleConstructQuads.java   | 241 ++++++++++---------
 .../org/apache/jena/sparql/syntax/Template.java |   6 +-
 2 files changed, 130 insertions(+), 117 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f27623dc/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
----------------------------------------------------------------------
diff --git a/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
index ff54915..dab9007 100644
--- a/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
+++ b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
@@ -46,119 +46,132 @@ import org.apache.jena.util.PrintUtil;
 public class ExampleConstructQuads {
 	public static void main(String[] args) throws FileNotFoundException, IOException {
 
-//		// create testing data :
-//		// 1) default graph data
-//		Model model = ModelFactory.createDefaultModel();
-//		Resource s = model.createResource("http://eg.com/s");
-//		Property p = model.createProperty("http://eg.com/p");
-//		Resource o = model.createResource("http://eg.com/o");
-//		model.add(s, p, o);
-//		Dataset dataset = DatasetFactory.create(model);
-//		// 2) named graph data
-//		Model model1 = ModelFactory.createDefaultModel();
-//		Resource s1 = model.createResource("http://eg.com/s1");
-//		Property p1 = model.createProperty("http://eg.com/p1");
-//		Resource o1 = model.createResource("http://eg.com/o1");
-//		model1.add(s1, p1, o1);
-//		dataset.addNamedModel("http://eg.com/g1", model1);
-//
-//		// construct named graph
-//		System.out.println("construct named graph:");
-//		String queryString = "CONSTRUCT { GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		Query query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// construct default graph 1
-//		System.out.println("construct default graph 1:");
-//		queryString = "CONSTRUCT {  {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// construct default graph 2
-//		System.out.println("construct default graph 2:");
-//		queryString = "CONSTRUCT {<http://eg.com/s1> <http://eg.com/p1> ?o}  WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// construct triples
-//		System.out.println("construct default graph 2:");
-//		queryString = "CONSTRUCT {<http://eg.com/s1> <http://eg.com/p1> ?o}  WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Triple> triples = qexec.execConstructTriples();
-//			PrintUtil.printOut(triples);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// construct dataset
-//		System.out.println("construct dataset:");
-//		queryString = "CONSTRUCT { GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Dataset d = qexec.execConstructDataset();
-//			RDFDataMgr.write(System.out, d, Lang.TRIG);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// short form 1
-//		System.out.println("short form 1:");
-//		queryString = "CONSTRUCT WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// short form 2
-//		System.out.println("short form 2:");
-//		queryString = "CONSTRUCT WHERE{ <http://eg.com/s> <http://eg.com/p> ?o }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// short form 3
-//		System.out.println("short form 3:");
-//		queryString = "CONSTRUCT WHERE{ <http://eg.com/s> <http://eg.com/p> ?o }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Triple> triples = qexec.execConstructTriples();
-//			PrintUtil.printOut(triples);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
-//
-//		// short form 4
-//		System.out.println("short form 4:");
-//		queryString = "CONSTRUCT WHERE{ {<http://eg.com/s> <http://eg.com/p> ?o} }";
-//		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
-//		try (QueryExecution qexec = QueryExecutionFactory
-//				.create(query, dataset)) {
-//			Iterator<Quad> quads = qexec.execConstructQuads();
-//			PrintUtil.printOut(quads);
-//		}
-//		arq.qparse.main("--in", "arq", queryString);
+		// create testing data :
+		// 1) default graph data
+		Model model = ModelFactory.createDefaultModel();
+		Resource s = model.createResource("http://eg.com/s");
+		Property p = model.createProperty("http://eg.com/p");
+		Resource o = model.createResource("http://eg.com/o");
+		model.add(s, p, o);
+		Dataset dataset = DatasetFactory.create(model);
+		// 2) named graph data
+		Model model1 = ModelFactory.createDefaultModel();
+		Resource s1 = model.createResource("http://eg.com/s1");
+		Property p1 = model.createProperty("http://eg.com/p1");
+		Resource o1 = model.createResource("http://eg.com/o1");
+		model1.add(s1, p1, o1);
+		dataset.addNamedModel("http://eg.com/g1", model1);
+		
+		PrintUtil.printOut(dataset.asDatasetGraph().find());
+
+		// construct named graph
+		System.out.println("construct named graph:");
+		String queryString = "CONSTRUCT { GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		Query query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// construct default graph 1
+		System.out.println("construct default graph 1:");
+		queryString = "CONSTRUCT {  {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// construct default graph 2
+		System.out.println("construct default graph 2:");
+		queryString = "CONSTRUCT {<http://eg.com/s1> <http://eg.com/p1> ?o}  WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// construct triples
+		System.out.println("construct default graph 2:");
+		queryString = "CONSTRUCT {<http://eg.com/s1> <http://eg.com/p1> ?o}  WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Triple> triples = qexec.execConstructTriples();
+			PrintUtil.printOut(triples);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// construct dataset
+		System.out.println("construct dataset:");
+		queryString = "CONSTRUCT { GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Dataset d = qexec.execConstructDataset();
+			RDFDataMgr.write(System.out, d, Lang.TRIG);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// short form 1
+		System.out.println("short form 1:");
+		queryString = "CONSTRUCT WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// short form 2
+		System.out.println("short form 2:");
+		queryString = "CONSTRUCT WHERE{ <http://eg.com/s> <http://eg.com/p> ?o }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// short form 3
+		System.out.println("short form 3:");
+		queryString = "CONSTRUCT WHERE{ <http://eg.com/s> <http://eg.com/p> ?o }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Triple> triples = qexec.execConstructTriples();
+			PrintUtil.printOut(triples);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+
+		// short form 4
+		System.out.println("short form 4:");
+		queryString = "CONSTRUCT WHERE{ {<http://eg.com/s> <http://eg.com/p> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Quad> quads = qexec.execConstructQuads();
+			PrintUtil.printOut(quads);
+		}
+		arq.qparse.main("--in", "arq", queryString);
+		
+		// short form 4
+		System.out.println("default graph projection:");
+		queryString = "CONSTRUCT { {<http://eg.com/s> <http://eg.com/p> ?o} GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} } WHERE{ GRAPH ?g {<http://eg.com/s1> <http://eg.com/p1> ?o} }";
+		query = QueryFactory.create(queryString, Syntax.syntaxARQ);
+		try (QueryExecution qexec = QueryExecutionFactory
+				.create(query, dataset)) {
+			Iterator<Triple> triples = qexec.execConstructTriples();
+			PrintUtil.printOut(triples);
+		}
+		arq.qparse.main("--in", "arq", queryString);
 
 		// run-construct-quad-test
 		System.out.println("run-construct-quad-test:");
@@ -171,9 +184,7 @@ public class ExampleConstructQuads {
 						return false;
 					}
 				});
-		int i=0;
 		for (File test : tests) {
-//			if (++i != 4) continue;
 			System.out.println("======== File: "+test.getName());
 			try (BufferedReader br = new BufferedReader(new FileReader(test))) {
 				String line = null;

http://git-wip-us.apache.org/repos/asf/jena/blob/f27623dc/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
index a6e74d8..641ceb7 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/syntax/Template.java
@@ -81,7 +81,8 @@ public class Template
     	}
     	BasicPattern bgp = new BasicPattern();
     	for(Quad q: qp.getQuads()){
-    		bgp.add(q.asTriple());
+    		if (Quad.defaultGraphNodeGenerated.equals(q.getGraph()))
+    			bgp.add(q.asTriple());
     	}
     	return bgp;
     }
@@ -92,7 +93,8 @@ public class Template
     	}
     	List<Triple> triples = new ArrayList<Triple>();
     	for(Quad q: qp.getQuads()){
-    		triples.add(q.asTriple());
+    		if (Quad.defaultGraphNodeGenerated.equals(q.getGraph()))
+    			triples.add(q.asTriple());
     	}
     	return triples;
     }