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 2016/05/14 17:21:57 UTC

[01/40] jena git commit: Fix line endings

Repository: jena
Updated Branches:
  refs/heads/master ae5ddd967 -> 587c66ae5


http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestWestPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestWestPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestWestPF.java
index 15eb5bc..ed63e5d 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestWestPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestWestPF.java
@@ -1,141 +1,141 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestWestPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 -1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:west (51.3000 0.0000 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-  }
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestWestPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 -1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:west (51.3000 0.0000 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+  }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src-examples/tdb/examples/ExTDB1.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-examples/tdb/examples/ExTDB1.java b/jena-tdb/src-examples/tdb/examples/ExTDB1.java
index 8d5539d..2ca34d3 100644
--- a/jena-tdb/src-examples/tdb/examples/ExTDB1.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB1.java
@@ -1,51 +1,51 @@
-/*
- * 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 tdb.examples;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.rdf.model.Model;
-
-import org.apache.jena.tdb.TDBFactory;
-
-/** Example of creating a TDB-backed model.
- *  The preferred way is to create a dataset then get the mode required from the dataset.
- *  The dataset can be used for SPARQL query and update
- *  but the Model (or Graph) can also be used.
- *  
- *  All the Jena APIs work on the model.
- *   
- *  Calling TDBFactory is the only place TDB-specific code is needed.
- */
-
-public class ExTDB1
-{
-    public static void main(String... argv)
-    {
-        // Direct way: Make a TDB-back Jena model in the named directory.
-        String directory = "MyDatabases/DB1" ;
-        Dataset ds = TDBFactory.createDataset(directory) ;
-        Model model = ds.getDefaultModel() ;
-        
-        // ... do work ...
-        
-        // Close the dataset.
-        ds.close();
-        
-    }
-}
+/*
+ * 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 tdb.examples;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.rdf.model.Model;
+
+import org.apache.jena.tdb.TDBFactory;
+
+/** Example of creating a TDB-backed model.
+ *  The preferred way is to create a dataset then get the mode required from the dataset.
+ *  The dataset can be used for SPARQL query and update
+ *  but the Model (or Graph) can also be used.
+ *  
+ *  All the Jena APIs work on the model.
+ *   
+ *  Calling TDBFactory is the only place TDB-specific code is needed.
+ */
+
+public class ExTDB1
+{
+    public static void main(String... argv)
+    {
+        // Direct way: Make a TDB-back Jena model in the named directory.
+        String directory = "MyDatabases/DB1" ;
+        Dataset ds = TDBFactory.createDataset(directory) ;
+        Model model = ds.getDefaultModel() ;
+        
+        // ... do work ...
+        
+        // Close the dataset.
+        ds.close();
+        
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src-examples/tdb/examples/ExTDB2.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-examples/tdb/examples/ExTDB2.java b/jena-tdb/src-examples/tdb/examples/ExTDB2.java
index 3d7e825..9548ccf 100644
--- a/jena-tdb/src-examples/tdb/examples/ExTDB2.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB2.java
@@ -1,43 +1,43 @@
-/*
- * 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 tdb.examples;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.tdb.TDBFactory ;
-
-/**
- * Using an assembler description (see wiki for details of the assembler format for TDB)
- * This way, you can change the model being used without changing the code.
- * The assembler file is a configuration file.
- * The same assembler description will work as part of a Joseki configuration file. 
- */
-
-public class ExTDB2
-{
-    public static void main(String... argv)
-    {
-        String assemblerFile = "Store/tdb-assembler.ttl" ;
-
-        Dataset ds = TDBFactory.assembleDataset(assemblerFile) ;
-        
-        // ... do work ...
-        
-        ds.close() ;
-    }
-}
+/*
+ * 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 tdb.examples;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.tdb.TDBFactory ;
+
+/**
+ * Using an assembler description (see wiki for details of the assembler format for TDB)
+ * This way, you can change the model being used without changing the code.
+ * The assembler file is a configuration file.
+ * The same assembler description will work as part of a Joseki configuration file. 
+ */
+
+public class ExTDB2
+{
+    public static void main(String... argv)
+    {
+        String assemblerFile = "Store/tdb-assembler.ttl" ;
+
+        Dataset ds = TDBFactory.assembleDataset(assemblerFile) ;
+        
+        // ... do work ...
+        
+        ds.close() ;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src-examples/tdb/examples/ExTDB3.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-examples/tdb/examples/ExTDB3.java b/jena-tdb/src-examples/tdb/examples/ExTDB3.java
index 8d74c96..43c6173 100644
--- a/jena-tdb/src-examples/tdb/examples/ExTDB3.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB3.java
@@ -1,66 +1,66 @@
-/*
- * 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 tdb.examples;
-
-import org.apache.jena.riot.RDFDataMgr ;
-
-import org.apache.jena.assembler.Assembler ;
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.Resource ;
-import org.apache.jena.shared.JenaException ;
-import org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab ;
-import org.apache.jena.sparql.util.TypeNotUniqueException ;
-import org.apache.jena.sparql.util.graph.GraphUtils ;
-import org.apache.jena.tdb.assembler.VocabTDB ;
-
-/** 
- * Examples of finding an assembler for a TDB model in a larger collection
- * of descriptions in a single file.
- */
-public class ExTDB3
-{
-    public static void main(String... argv)
-    {
-        String assemblerFile = "Store/tdb-assembler.ttl" ;
-        
-        // Find a particular description in the file where there are several: 
-        Model spec = RDFDataMgr.loadModel(assemblerFile) ;
-
-        // Find the right starting point for the description in some way.
-        Resource root = null ;
-
-        if ( false )
-            // If you know the Resource URI:
-            root = spec.createResource("http://example/myChoiceOfURI" );
-        else
-        {
-            // Alternatively, look for the a single resource of the right type. 
-            try {
-                // Find the required description - the file can contain descriptions of many different types.
-                root = GraphUtils.findRootByType(spec, VocabTDB.tDatasetTDB) ;
-                if ( root == null )
-                    throw new JenaException("Failed to find a suitable root") ;
-            } catch (TypeNotUniqueException ex)
-            { throw new JenaException("Multiple types for: "+DatasetAssemblerVocab.tDataset) ; }
-        }
-
-        Dataset ds = (Dataset)Assembler.general.open(root) ;
-    }
-}
+/*
+ * 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 tdb.examples;
+
+import org.apache.jena.riot.RDFDataMgr ;
+
+import org.apache.jena.assembler.Assembler ;
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.shared.JenaException ;
+import org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab ;
+import org.apache.jena.sparql.util.TypeNotUniqueException ;
+import org.apache.jena.sparql.util.graph.GraphUtils ;
+import org.apache.jena.tdb.assembler.VocabTDB ;
+
+/** 
+ * Examples of finding an assembler for a TDB model in a larger collection
+ * of descriptions in a single file.
+ */
+public class ExTDB3
+{
+    public static void main(String... argv)
+    {
+        String assemblerFile = "Store/tdb-assembler.ttl" ;
+        
+        // Find a particular description in the file where there are several: 
+        Model spec = RDFDataMgr.loadModel(assemblerFile) ;
+
+        // Find the right starting point for the description in some way.
+        Resource root = null ;
+
+        if ( false )
+            // If you know the Resource URI:
+            root = spec.createResource("http://example/myChoiceOfURI" );
+        else
+        {
+            // Alternatively, look for the a single resource of the right type. 
+            try {
+                // Find the required description - the file can contain descriptions of many different types.
+                root = GraphUtils.findRootByType(spec, VocabTDB.tDatasetTDB) ;
+                if ( root == null )
+                    throw new JenaException("Failed to find a suitable root") ;
+            } catch (TypeNotUniqueException ex)
+            { throw new JenaException("Multiple types for: "+DatasetAssemblerVocab.tDataset) ; }
+        }
+
+        Dataset ds = (Dataset)Assembler.general.open(root) ;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src-examples/tdb/examples/ExTDB4.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-examples/tdb/examples/ExTDB4.java b/jena-tdb/src-examples/tdb/examples/ExTDB4.java
index 4b52b86..bb9ea1a 100644
--- a/jena-tdb/src-examples/tdb/examples/ExTDB4.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB4.java
@@ -1,60 +1,60 @@
-/*
- * 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 tdb.examples;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.Query ;
-import org.apache.jena.query.QueryExecution ;
-import org.apache.jena.query.QueryExecutionFactory ;
-import org.apache.jena.query.QueryFactory ;
-import org.apache.jena.query.ResultSet ;
-import org.apache.jena.query.ResultSetFormatter ;
-import org.apache.jena.tdb.TDBFactory ;
-
-/** Example of creating a TDB-backed model.
- *  The preferred way is to create a dataset then get the mode required from the dataset.
- *  The dataset can be used for SPARQL query and update
- *  but the Model (or Graph) can also be used.
- *  
- *  All the Jena APIs work on the model.
- *   
- *  Calling TDBFactory is the only place TDB-specific code is needed.
- */
-
-public class ExTDB4
-{
-    public static void main(String... argv)
-    {
-        // Direct way: Make a TDB-back Jena model in the named directory.
-        String directory = "MyDatabases/DB1" ;
-        Dataset dataset = TDBFactory.createDataset(directory) ;
-        
-        // Potentially expensive query.
-        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
-        // See http://incubator.apache.org/jena/documentation/query/app_api.html
-        
-        Query query = QueryFactory.create(sparqlQueryString) ;
-        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
-        ResultSet results = qexec.execSelect() ;
-        ResultSetFormatter.out(results) ;
-        qexec.close() ;
-
-        dataset.close();
-    }
-}
+/*
+ * 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 tdb.examples;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.Query ;
+import org.apache.jena.query.QueryExecution ;
+import org.apache.jena.query.QueryExecutionFactory ;
+import org.apache.jena.query.QueryFactory ;
+import org.apache.jena.query.ResultSet ;
+import org.apache.jena.query.ResultSetFormatter ;
+import org.apache.jena.tdb.TDBFactory ;
+
+/** Example of creating a TDB-backed model.
+ *  The preferred way is to create a dataset then get the mode required from the dataset.
+ *  The dataset can be used for SPARQL query and update
+ *  but the Model (or Graph) can also be used.
+ *  
+ *  All the Jena APIs work on the model.
+ *   
+ *  Calling TDBFactory is the only place TDB-specific code is needed.
+ */
+
+public class ExTDB4
+{
+    public static void main(String... argv)
+    {
+        // Direct way: Make a TDB-back Jena model in the named directory.
+        String directory = "MyDatabases/DB1" ;
+        Dataset dataset = TDBFactory.createDataset(directory) ;
+        
+        // Potentially expensive query.
+        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
+        // See http://incubator.apache.org/jena/documentation/query/app_api.html
+        
+        Query query = QueryFactory.create(sparqlQueryString) ;
+        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
+        ResultSet results = qexec.execSelect() ;
+        ResultSetFormatter.out(results) ;
+        qexec.close() ;
+
+        dataset.close();
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src-examples/tdb/examples/ExTDB5.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-examples/tdb/examples/ExTDB5.java b/jena-tdb/src-examples/tdb/examples/ExTDB5.java
index 255440e..92517d5 100644
--- a/jena-tdb/src-examples/tdb/examples/ExTDB5.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB5.java
@@ -1,70 +1,70 @@
-/*
- * 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 tdb.examples;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.Query ;
-import org.apache.jena.query.QueryExecution ;
-import org.apache.jena.query.QueryExecutionFactory ;
-import org.apache.jena.query.QueryFactory ;
-import org.apache.jena.query.QuerySolution ;
-import org.apache.jena.query.ResultSet ;
-import org.apache.jena.tdb.TDBFactory ;
-
-/** Example of creating a TDB-backed model.
- *  The preferred way is to create a dataset then get the mode required from the dataset.
- *  The dataset can be used for SPARQL query and update
- *  but the Model (or Graph) can also be used.
- *  
- *  All the Jena APIs work on the model.
- *   
- *  Calling TDBFactory is the only place TDB-specific code is needed.
- *  
- *  See also ExTDB_Txn1 for use with transactions.
- */
-
-public class ExTDB5
-{
-    public static void main(String... argv)
-    {
-        // Direct way: Make a TDB-back Jena model in the named directory.
-        String directory = "MyDatabases/DB1" ;
-        Dataset dataset = TDBFactory.createDataset(directory) ;
-        
-        // Potentially expensive query.
-        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
-        // See http://incubator.apache.org/jena/documentation/query/app_api.html
-        
-        Query query = QueryFactory.create(sparqlQueryString) ;
-        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
-        try {
-          ResultSet results = qexec.execSelect() ;
-          for ( ; results.hasNext() ; )
-          {
-              QuerySolution soln = results.nextSolution() ;
-              int count = soln.getLiteral("count").getInt() ;
-              System.out.println("count = "+count) ;
-          }
-        } finally { qexec.close() ; }
-
-        // Close the dataset.
-        dataset.close();
-        
-    }
-}
+/*
+ * 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 tdb.examples;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.Query ;
+import org.apache.jena.query.QueryExecution ;
+import org.apache.jena.query.QueryExecutionFactory ;
+import org.apache.jena.query.QueryFactory ;
+import org.apache.jena.query.QuerySolution ;
+import org.apache.jena.query.ResultSet ;
+import org.apache.jena.tdb.TDBFactory ;
+
+/** Example of creating a TDB-backed model.
+ *  The preferred way is to create a dataset then get the mode required from the dataset.
+ *  The dataset can be used for SPARQL query and update
+ *  but the Model (or Graph) can also be used.
+ *  
+ *  All the Jena APIs work on the model.
+ *   
+ *  Calling TDBFactory is the only place TDB-specific code is needed.
+ *  
+ *  See also ExTDB_Txn1 for use with transactions.
+ */
+
+public class ExTDB5
+{
+    public static void main(String... argv)
+    {
+        // Direct way: Make a TDB-back Jena model in the named directory.
+        String directory = "MyDatabases/DB1" ;
+        Dataset dataset = TDBFactory.createDataset(directory) ;
+        
+        // Potentially expensive query.
+        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
+        // See http://incubator.apache.org/jena/documentation/query/app_api.html
+        
+        Query query = QueryFactory.create(sparqlQueryString) ;
+        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
+        try {
+          ResultSet results = qexec.execSelect() ;
+          for ( ; results.hasNext() ; )
+          {
+              QuerySolution soln = results.nextSolution() ;
+              int count = soln.getLiteral("count").getInt() ;
+              System.out.println("count = "+count) ;
+          }
+        } finally { qexec.close() ; }
+
+        // Close the dataset.
+        dataset.close();
+        
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
index 7a12b69..40cf23d 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
@@ -1,43 +1,43 @@
-/*
- * 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.tdb.base.file;
-
-import java.nio.ByteBuffer ;
-
-import org.apache.jena.atlas.lib.Closeable ;
-
-/**
- * An allocator for retrieving ByteBuffers of a given size.
- */
-public interface BufferAllocator extends Closeable
-{
-    /**
-     * Allocate and return a ByteBuffer of the given size
-     * @param capacity the desired size of the ByteBuffer
-     * @return a ByteBuffer with the capacity set to the desired size
-     */
-    public ByteBuffer allocate(int capacity);
-    
-    /**
-     * Call this method when you are finished with all of the ByteBuffers
-     * retrieved from allocate.  The BufferAllocator is then free to reuse
-     * memory that was previously handed out.
-     */
-    public void clear();
-}
+/*
+ * 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.tdb.base.file;
+
+import java.nio.ByteBuffer ;
+
+import org.apache.jena.atlas.lib.Closeable ;
+
+/**
+ * An allocator for retrieving ByteBuffers of a given size.
+ */
+public interface BufferAllocator extends Closeable
+{
+    /**
+     * Allocate and return a ByteBuffer of the given size
+     * @param capacity the desired size of the ByteBuffer
+     * @return a ByteBuffer with the capacity set to the desired size
+     */
+    public ByteBuffer allocate(int capacity);
+    
+    /**
+     * Call this method when you are finished with all of the ByteBuffers
+     * retrieved from allocate.  The BufferAllocator is then free to reuse
+     * memory that was previously handed out.
+     */
+    public void clear();
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
index 667e5c8..c51e1a8 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
@@ -1,46 +1,46 @@
-/*
- * 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.tdb.base.file;
-
-import java.nio.ByteBuffer ;
-
-/**
- * Delegates to {@link ByteBuffer#allocateDirect(int)}.
- */
-public class BufferAllocatorDirect implements BufferAllocator
-{
-    @Override
-    public ByteBuffer allocate(int capacity)
-    {
-        return ByteBuffer.allocateDirect(capacity);
-    }
-
-    @Override
-    public void clear()
-    {
-        // Do nothing
-    }
-    
-    @Override
-    public void close()
-    {
-        // Do nothing
-    }
-
-}
+/*
+ * 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.tdb.base.file;
+
+import java.nio.ByteBuffer ;
+
+/**
+ * Delegates to {@link ByteBuffer#allocateDirect(int)}.
+ */
+public class BufferAllocatorDirect implements BufferAllocator
+{
+    @Override
+    public ByteBuffer allocate(int capacity)
+    {
+        return ByteBuffer.allocateDirect(capacity);
+    }
+
+    @Override
+    public void clear()
+    {
+        // Do nothing
+    }
+    
+    @Override
+    public void close()
+    {
+        // Do nothing
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
index 4e20d3c..4a51f84 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
@@ -1,145 +1,145 @@
-/*
- * 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.tdb.base.file;
-
-import java.io.File ;
-import java.io.IOException ;
-import java.nio.ByteBuffer ;
-import java.nio.MappedByteBuffer ;
-import java.nio.channels.FileChannel.MapMode ;
-import java.util.ArrayList ;
-import java.util.List ;
-import java.util.UUID ;
-
-import org.apache.jena.tdb.sys.SystemTDB ;
-
-/**
- * ByteBuffer access to a temporary file, using memory mapped I/O.  The file will
- * grow in chunks as necessary by the SystemTDB.SegmentSize.
- * <p/>
- * This class is not thread-safe.
- */
-final public class BufferAllocatorMapped implements BufferAllocator
-{
-    private final List<MappedByteBuffer> segments;
-
-    private final int segmentSize = SystemTDB.SegmentSize;
-    private final int blockSize;
-    private final int blocksPerSegment;
-    
-    private final File tmpFile;
-    private FileBase file;
-    private int seq = 0;
-    
-    public BufferAllocatorMapped(int blockSize)
-    {
-        if (blockSize == 0 || blockSize > segmentSize)
-            throw new IllegalArgumentException("Illegal block size: " + blockSize);
-        if (segmentSize % blockSize != 0)
-            throw new IllegalArgumentException(String.format("BufferAllocatorMapped: Segement size(%d) not a multiple of blocksize (%d)", segmentSize, blockSize)) ;
-        
-        this.blockSize = blockSize;
-        blocksPerSegment = segmentSize/blockSize ;
-        segments = new ArrayList<>();
-        
-        tmpFile = getNewTemporaryFile();
-        tmpFile.deleteOnExit();
-    }
-    
-    /**
-     * Returns a handle to a temporary file.  Does not actually create the file on disk.
-     */
-    private final File getNewTemporaryFile()
-    {
-        File sysTempDir = new File(System.getProperty("java.io.tmpdir")) ;
-        File tmpFile = new File(sysTempDir, "JenaTempByteBuffer-" + UUID.randomUUID().toString() + ".tmp") ;
-        return tmpFile ;
-    }
-    
-    private final int segment(int id)                   { return id/blocksPerSegment ; }
-    private final int byteOffset(int id)                { return (id%blocksPerSegment)*blockSize ; }
-    private final long fileLocation(long segmentNumber) { return segmentNumber*segmentSize ; }
-    
-    @Override
-    public ByteBuffer allocate(int blkSize)
-    {
-        if ( blkSize != this.blockSize )
-            throw new FileException("Fixed blocksize only: request= "+blkSize+"fixed size="+this.blockSize) ;
-        
-        // Create the file lazily
-        if (null == file)
-            file = FileBase.create(tmpFile.getPath());
-        
-        // Get and increment the id
-        int id = seq++;
-        int seg = segment(id);
-        int segOff = byteOffset(id);
-        
-        MappedByteBuffer segBuffer;
-        // See if we need to grow the file
-        if (seg >= segments.size())
-        {
-            try
-            {
-                long offset = fileLocation(seg);
-                segBuffer = file.channel().map(MapMode.READ_WRITE, offset, segmentSize) ;
-                segments.add(segBuffer);
-            }
-            catch (IOException e)
-            {
-                throw new FileException("MappedFile.allocate: Segment= " + seg, e);
-            }
-        }
-        else
-        {
-            segBuffer = segments.get(seg);
-        }
-        
-        segBuffer.position(segOff);
-        segBuffer.limit(segOff + blockSize);
-        
-        ByteBuffer toReturn = segBuffer.slice();
-        
-        segBuffer.limit(segBuffer.capacity());
-        
-        return toReturn;
-    }
-    
-    @Override
-    public void clear()
-    {
-        // Just reset to the start of the file, we'll allocate overtop of the old memory
-        seq = 0;
-    }
-    
-    @Override
-    public void close()
-    {
-        // There is no unmap operation for MappedByteBuffers.
-        // Sun Bug id bug_id=4724038
-        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038
-        clear();
-        segments.clear();
-        file.close();
-        file = null;
-        
-        // May not delete on Windows :/
-        tmpFile.delete();
-    }
-}
+/*
+ * 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.tdb.base.file;
+
+import java.io.File ;
+import java.io.IOException ;
+import java.nio.ByteBuffer ;
+import java.nio.MappedByteBuffer ;
+import java.nio.channels.FileChannel.MapMode ;
+import java.util.ArrayList ;
+import java.util.List ;
+import java.util.UUID ;
+
+import org.apache.jena.tdb.sys.SystemTDB ;
+
+/**
+ * ByteBuffer access to a temporary file, using memory mapped I/O.  The file will
+ * grow in chunks as necessary by the SystemTDB.SegmentSize.
+ * <p/>
+ * This class is not thread-safe.
+ */
+final public class BufferAllocatorMapped implements BufferAllocator
+{
+    private final List<MappedByteBuffer> segments;
+
+    private final int segmentSize = SystemTDB.SegmentSize;
+    private final int blockSize;
+    private final int blocksPerSegment;
+    
+    private final File tmpFile;
+    private FileBase file;
+    private int seq = 0;
+    
+    public BufferAllocatorMapped(int blockSize)
+    {
+        if (blockSize == 0 || blockSize > segmentSize)
+            throw new IllegalArgumentException("Illegal block size: " + blockSize);
+        if (segmentSize % blockSize != 0)
+            throw new IllegalArgumentException(String.format("BufferAllocatorMapped: Segement size(%d) not a multiple of blocksize (%d)", segmentSize, blockSize)) ;
+        
+        this.blockSize = blockSize;
+        blocksPerSegment = segmentSize/blockSize ;
+        segments = new ArrayList<>();
+        
+        tmpFile = getNewTemporaryFile();
+        tmpFile.deleteOnExit();
+    }
+    
+    /**
+     * Returns a handle to a temporary file.  Does not actually create the file on disk.
+     */
+    private final File getNewTemporaryFile()
+    {
+        File sysTempDir = new File(System.getProperty("java.io.tmpdir")) ;
+        File tmpFile = new File(sysTempDir, "JenaTempByteBuffer-" + UUID.randomUUID().toString() + ".tmp") ;
+        return tmpFile ;
+    }
+    
+    private final int segment(int id)                   { return id/blocksPerSegment ; }
+    private final int byteOffset(int id)                { return (id%blocksPerSegment)*blockSize ; }
+    private final long fileLocation(long segmentNumber) { return segmentNumber*segmentSize ; }
+    
+    @Override
+    public ByteBuffer allocate(int blkSize)
+    {
+        if ( blkSize != this.blockSize )
+            throw new FileException("Fixed blocksize only: request= "+blkSize+"fixed size="+this.blockSize) ;
+        
+        // Create the file lazily
+        if (null == file)
+            file = FileBase.create(tmpFile.getPath());
+        
+        // Get and increment the id
+        int id = seq++;
+        int seg = segment(id);
+        int segOff = byteOffset(id);
+        
+        MappedByteBuffer segBuffer;
+        // See if we need to grow the file
+        if (seg >= segments.size())
+        {
+            try
+            {
+                long offset = fileLocation(seg);
+                segBuffer = file.channel().map(MapMode.READ_WRITE, offset, segmentSize) ;
+                segments.add(segBuffer);
+            }
+            catch (IOException e)
+            {
+                throw new FileException("MappedFile.allocate: Segment= " + seg, e);
+            }
+        }
+        else
+        {
+            segBuffer = segments.get(seg);
+        }
+        
+        segBuffer.position(segOff);
+        segBuffer.limit(segOff + blockSize);
+        
+        ByteBuffer toReturn = segBuffer.slice();
+        
+        segBuffer.limit(segBuffer.capacity());
+        
+        return toReturn;
+    }
+    
+    @Override
+    public void clear()
+    {
+        // Just reset to the start of the file, we'll allocate overtop of the old memory
+        seq = 0;
+    }
+    
+    @Override
+    public void close()
+    {
+        // There is no unmap operation for MappedByteBuffers.
+        // Sun Bug id bug_id=4724038
+        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038
+        clear();
+        segments.clear();
+        file.close();
+        file = null;
+        
+        // May not delete on Windows :/
+        tmpFile.delete();
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
index c82dff2..4d3bb19 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
@@ -1,46 +1,46 @@
-/*
- * 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.tdb.base.file;
-
-import java.nio.ByteBuffer ;
-
-/**
- * Delegates to {@link ByteBuffer#allocate(int)}.
- */
-public class BufferAllocatorMem implements BufferAllocator
-{
-    @Override
-    public ByteBuffer allocate(int capacity)
-    {
-        return ByteBuffer.allocate(capacity);
-    }
-
-    @Override
-    public void clear()
-    {
-        // Do nothing
-    }
-    
-    @Override
-    public void close()
-    {
-        // Do nothing
-    }
-
-}
+/*
+ * 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.tdb.base.file;
+
+import java.nio.ByteBuffer ;
+
+/**
+ * Delegates to {@link ByteBuffer#allocate(int)}.
+ */
+public class BufferAllocatorMem implements BufferAllocator
+{
+    @Override
+    public ByteBuffer allocate(int capacity)
+    {
+        return ByteBuffer.allocate(capacity);
+    }
+
+    @Override
+    public void clear()
+    {
+        // Do nothing
+    }
+    
+    @Override
+    public void close()
+    {
+        // Do nothing
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
index 76218c7..ca701df 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
@@ -1,110 +1,110 @@
-/*
- * 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.tdb.extra ;
-
-import java.util.Iterator ;
-
-import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.logging.LogCtl ;
-import org.apache.jena.query.ReadWrite ;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.tdb.TDBFactory ;
-import org.apache.jena.tdb.base.file.Location ;
-import org.apache.jena.tdb.sys.SystemTDB ;
-import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
-import org.apache.jena.tdb.transaction.Journal ;
-import org.apache.jena.tdb.transaction.JournalControl ;
-import org.apache.jena.tdb.transaction.NodeTableTrans ;
-
-public class T_QuadsObjectIsNull {
-//	static {
-//		ARQ.getContext().set(SystemTDB.symFileMode, "direct");
-//		TDB.getContext().set(TDB.symUnionDefaultGraph, true);
-//	}
-
-	static String DIR = "DBX" ;
-	static Location location = Location.create(DIR) ;
-
-	public static void main(String[] args) {
-
-	    if ( false )
-	    {
-    	    LogCtl.enable(SystemTDB.syslog.getName()) ;
-    	    LogCtl.enable(Journal.class) ;
-    	    LogCtl.enable(JournalControl.class) ;
-    	    LogCtl.enable(NodeTableTrans.class) ;
-	    }
-	    if ( false )
-	    {
-	        String journal = "DBX/journal.jrnl" ;
-	        if ( FileOps.exists(journal))
-	            JournalControl.print(journal) ;
-	    } 
-	    
-	    if ( false ) {
-	        FileOps.ensureDir(DIR) ;
-	        FileOps.clearDirectory(DIR) ;
-	    }
-	    one() ;
-	}
-	
-	public static void write(DatasetGraphTransaction dsg, Quad quad)
-	{
-        dsg.begin(ReadWrite.WRITE) ;
-        dsg.add(quad) ;
-        if ( ! dsg.contains(quad) )
-            throw new RuntimeException("No quad: "+quad) ;
-        dsg.commit() ;
-        dsg.end() ;
-	}
-	
-    private static void dump(DatasetGraphTransaction dsg)
-    {
-        dsg.begin(ReadWrite.READ);
-        Iterator<Quad> iter = dsg.find() ;
-        for ( ; iter.hasNext() ; )
-        {
-            Quad q = iter.next() ;
-            System.out.println(q) ;
-        }
-        //RiotWriter.writeNQuads(System.out, dsg) ;
-        dsg.commit();
-        dsg.end();
-    }
-
-    public static void one()
-	{
-	    Quad q1 = SSE.parseQuad("(<g1> <s1> <p1> '1')") ;
-	    Quad q2 = SSE.parseQuad("(<g2> <s2> <p2> '2')") ;
-        Quad q3 = SSE.parseQuad("(<g3> <s3> <p3> '3')") ;
-
-        DatasetGraphTransaction dsg = (DatasetGraphTransaction)TDBFactory.createDatasetGraph(location);
-        System.out.println("Start") ;
-        dump(dsg) ;
-        
-        write(dsg, q1) ;
-        write(dsg, q2) ;
-        //write(dsg, q3) ;
-        System.out.println("Finish") ;
-        dump(dsg) ;
-	}
-
-	
-}
+/*
+ * 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.tdb.extra ;
+
+import java.util.Iterator ;
+
+import org.apache.jena.atlas.lib.FileOps ;
+import org.apache.jena.atlas.logging.LogCtl ;
+import org.apache.jena.query.ReadWrite ;
+import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.sse.SSE ;
+import org.apache.jena.tdb.TDBFactory ;
+import org.apache.jena.tdb.base.file.Location ;
+import org.apache.jena.tdb.sys.SystemTDB ;
+import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
+import org.apache.jena.tdb.transaction.Journal ;
+import org.apache.jena.tdb.transaction.JournalControl ;
+import org.apache.jena.tdb.transaction.NodeTableTrans ;
+
+public class T_QuadsObjectIsNull {
+//	static {
+//		ARQ.getContext().set(SystemTDB.symFileMode, "direct");
+//		TDB.getContext().set(TDB.symUnionDefaultGraph, true);
+//	}
+
+	static String DIR = "DBX" ;
+	static Location location = Location.create(DIR) ;
+
+	public static void main(String[] args) {
+
+	    if ( false )
+	    {
+    	    LogCtl.enable(SystemTDB.syslog.getName()) ;
+    	    LogCtl.enable(Journal.class) ;
+    	    LogCtl.enable(JournalControl.class) ;
+    	    LogCtl.enable(NodeTableTrans.class) ;
+	    }
+	    if ( false )
+	    {
+	        String journal = "DBX/journal.jrnl" ;
+	        if ( FileOps.exists(journal))
+	            JournalControl.print(journal) ;
+	    } 
+	    
+	    if ( false ) {
+	        FileOps.ensureDir(DIR) ;
+	        FileOps.clearDirectory(DIR) ;
+	    }
+	    one() ;
+	}
+	
+	public static void write(DatasetGraphTransaction dsg, Quad quad)
+	{
+        dsg.begin(ReadWrite.WRITE) ;
+        dsg.add(quad) ;
+        if ( ! dsg.contains(quad) )
+            throw new RuntimeException("No quad: "+quad) ;
+        dsg.commit() ;
+        dsg.end() ;
+	}
+	
+    private static void dump(DatasetGraphTransaction dsg)
+    {
+        dsg.begin(ReadWrite.READ);
+        Iterator<Quad> iter = dsg.find() ;
+        for ( ; iter.hasNext() ; )
+        {
+            Quad q = iter.next() ;
+            System.out.println(q) ;
+        }
+        //RiotWriter.writeNQuads(System.out, dsg) ;
+        dsg.commit();
+        dsg.end();
+    }
+
+    public static void one()
+	{
+	    Quad q1 = SSE.parseQuad("(<g1> <s1> <p1> '1')") ;
+	    Quad q2 = SSE.parseQuad("(<g2> <s2> <p2> '2')") ;
+        Quad q3 = SSE.parseQuad("(<g3> <s3> <p3> '3')") ;
+
+        DatasetGraphTransaction dsg = (DatasetGraphTransaction)TDBFactory.createDatasetGraph(location);
+        System.out.println("Start") ;
+        dump(dsg) ;
+        
+        write(dsg, q1) ;
+        write(dsg, q2) ;
+        //write(dsg, q3) ;
+        System.out.println("Finish") ;
+        dump(dsg) ;
+	}
+
+	
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
index 9d3e09e..107bf2c 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
@@ -1,112 +1,112 @@
-/**
- * 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.tdb.extra;
-
-import java.text.MessageFormat ;
-import java.util.Date ;
-import java.util.concurrent.TimeUnit ;
-
-import org.apache.jena.query.* ;
-import org.apache.jena.rdf.model.* ;
-import org.apache.jena.tdb.TDBFactory ;
-
-// From Jena-289.
-
-public class T_TimeoutTDBPattern
-{
-    private static final int timeout1_sec = 3;
-    private static final int timeout2_sec = 5;
-
-    private static final int RESOURCES = 100000;
-    private static final int COMMIT_EVERY = 1000;
-    private static final int TRIPLES_PER_RESOURCE = 100;
-    private static final String RES_NS = "http://example.com/";
-    private static final String PROP_NS = "http://example.org/ns/1.0/";
-
-    public static void main(String[] args) {
-        String location = "DB_Jena289" ;
-        Dataset ds = TDBFactory.createDataset(location);
-
-        if (ds.asDatasetGraph().isEmpty())
-            create(ds) ;
-        
-        // 10M triples.
-        // No match to { ?a ?b ?c . ?c ?d ?e }
-
-        final String sparql = "SELECT * WHERE { ?a ?b ?c . ?c ?d ?e }";
-        
-        Query query = QueryFactory.create(sparql);
-
-        ds.begin(ReadWrite.READ);
-        System.out.println(MessageFormat.format("{0,date} {0,time} Executing query [timeout1={1}s timeout2={2}s]: {3}",
-                                                new Date(System.currentTimeMillis()), timeout1_sec, timeout2_sec, sparql));
-        try(QueryExecution qexec = QueryExecutionFactory.create(query, ds)) {
-            if ( true )
-                qexec.setTimeout(timeout1_sec, TimeUnit.SECONDS, timeout2_sec, TimeUnit.SECONDS);
-            long start = System.nanoTime() ;
-            long finish = start ;
-            ResultSet rs = qexec.execSelect();
-            
-            try {
-                long x = ResultSetFormatter.consume(rs) ;
-                finish = System.nanoTime() ;
-                System.out.println("Results: "+x) ; 
-            } catch (QueryCancelledException ex)
-            {
-                finish = System.nanoTime() ;
-                System.out.println("Cancelled") ;
-            }
-            System.out.printf("%.2fs\n",(finish-start)/(1000.0*1000.0*1000.0)) ;
-        } catch (Throwable t) {
-            t.printStackTrace(); // OOME
-        } finally {
-            ds.end();
-            ds.close();
-            System.out.println(MessageFormat.format("{0,date} {0,time} Finished",
-                                                    new Date(System.currentTimeMillis())));
-        }
-    }
-
-    private static void create(Dataset ds)
-    {
-        for (int iR = 0; iR < RESOURCES; iR++) {    // 100,000
-            if (iR % COMMIT_EVERY == 0) {
-                if (ds.isInTransaction()) {
-                    ds.commit();
-                    ds.end();
-                }
-                ds.begin(ReadWrite.WRITE);
-            }
-
-            Model model = ModelFactory.createDefaultModel();
-            Resource res = model.createResource(RES_NS + "resource" + iR);
-            for (int iP = 0; iP < TRIPLES_PER_RESOURCE; iP++) {     // 100
-                Property prop = ResourceFactory.createProperty(PROP_NS, "property" + iP);
-                model.add(res, prop, model.createTypedLiteral("Property value " + iP));
-            }
-            //ds.addNamedModel(res.getURI(), model);
-            ds.getDefaultModel().add(model);
-            System.out.println("Created " + res.getURI());
-        }
-        ds.commit();
-        ds.end();
-    }
-}
-
-
+/**
+ * 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.tdb.extra;
+
+import java.text.MessageFormat ;
+import java.util.Date ;
+import java.util.concurrent.TimeUnit ;
+
+import org.apache.jena.query.* ;
+import org.apache.jena.rdf.model.* ;
+import org.apache.jena.tdb.TDBFactory ;
+
+// From Jena-289.
+
+public class T_TimeoutTDBPattern
+{
+    private static final int timeout1_sec = 3;
+    private static final int timeout2_sec = 5;
+
+    private static final int RESOURCES = 100000;
+    private static final int COMMIT_EVERY = 1000;
+    private static final int TRIPLES_PER_RESOURCE = 100;
+    private static final String RES_NS = "http://example.com/";
+    private static final String PROP_NS = "http://example.org/ns/1.0/";
+
+    public static void main(String[] args) {
+        String location = "DB_Jena289" ;
+        Dataset ds = TDBFactory.createDataset(location);
+
+        if (ds.asDatasetGraph().isEmpty())
+            create(ds) ;
+        
+        // 10M triples.
+        // No match to { ?a ?b ?c . ?c ?d ?e }
+
+        final String sparql = "SELECT * WHERE { ?a ?b ?c . ?c ?d ?e }";
+        
+        Query query = QueryFactory.create(sparql);
+
+        ds.begin(ReadWrite.READ);
+        System.out.println(MessageFormat.format("{0,date} {0,time} Executing query [timeout1={1}s timeout2={2}s]: {3}",
+                                                new Date(System.currentTimeMillis()), timeout1_sec, timeout2_sec, sparql));
+        try(QueryExecution qexec = QueryExecutionFactory.create(query, ds)) {
+            if ( true )
+                qexec.setTimeout(timeout1_sec, TimeUnit.SECONDS, timeout2_sec, TimeUnit.SECONDS);
+            long start = System.nanoTime() ;
+            long finish = start ;
+            ResultSet rs = qexec.execSelect();
+            
+            try {
+                long x = ResultSetFormatter.consume(rs) ;
+                finish = System.nanoTime() ;
+                System.out.println("Results: "+x) ; 
+            } catch (QueryCancelledException ex)
+            {
+                finish = System.nanoTime() ;
+                System.out.println("Cancelled") ;
+            }
+            System.out.printf("%.2fs\n",(finish-start)/(1000.0*1000.0*1000.0)) ;
+        } catch (Throwable t) {
+            t.printStackTrace(); // OOME
+        } finally {
+            ds.end();
+            ds.close();
+            System.out.println(MessageFormat.format("{0,date} {0,time} Finished",
+                                                    new Date(System.currentTimeMillis())));
+        }
+    }
+
+    private static void create(Dataset ds)
+    {
+        for (int iR = 0; iR < RESOURCES; iR++) {    // 100,000
+            if (iR % COMMIT_EVERY == 0) {
+                if (ds.isInTransaction()) {
+                    ds.commit();
+                    ds.end();
+                }
+                ds.begin(ReadWrite.WRITE);
+            }
+
+            Model model = ModelFactory.createDefaultModel();
+            Resource res = model.createResource(RES_NS + "resource" + iR);
+            for (int iP = 0; iP < TRIPLES_PER_RESOURCE; iP++) {     // 100
+                Property prop = ResourceFactory.createProperty(PROP_NS, "property" + iP);
+                model.add(res, prop, model.createTypedLiteral("Property value " + iP));
+            }
+            //ds.addNamedModel(res.getURI(), model);
+            ds.getDefaultModel().add(model);
+            System.out.println("Created " + res.getURI());
+        }
+        ds.commit();
+        ds.end();
+    }
+}
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java b/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
index d501dbf..1d8d1f8 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package org.apache.jena.tdb.graph;
-
+package org.apache.jena.tdb.graph;
+
 import org.apache.jena.query.DatasetAccessorFactory ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.tdb.TDBFactory ;
 import org.apache.jena.web.DatasetGraphAccessor ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
-
-public class TestDatasetGraphAccessorTDB extends AbstractTestDatasetGraphAccessor
-{
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        DatasetGraph dsg = TDBFactory.createDatasetGraph() ;
-        return DatasetAccessorFactory.make(dsg) ;
-    }
+
+public class TestDatasetGraphAccessorTDB extends AbstractTestDatasetGraphAccessor
+{
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        DatasetGraph dsg = TDBFactory.createDatasetGraph() ;
+        return DatasetAccessorFactory.make(dsg) ;
+    }
 }


[38/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/FOAF.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/FOAF.ttl b/jena-arq/Vocabularies/FOAF.ttl
index b087fe7..b178382 100644
--- a/jena-arq/Vocabularies/FOAF.ttl
+++ b/jena-arq/Vocabularies/FOAF.ttl
@@ -1,933 +1,933 @@
-@prefix dc:      <http://purl.org/dc/elements/1.1/> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix wot:     <http://xmlns.com/wot/0.1/> .
-@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
-@prefix owl:     <http://www.w3.org/2002/07/owl#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix vs:      <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
-
-foaf:fundedBy
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "An organization funding a project or person." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "funded by" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "unstable" .
-
-vs:term_status
-    rdf:type    owl:AnnotationProperty .
-
-foaf:img
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage)." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "image" ;
-    rdfs:range  foaf:Image ;
-    rdfs:subPropertyOf
-                foaf:depiction ;
-    vs:term_status
-                "testing" .
-
-foaf:birthday
-    rdf:type    owl:FunctionalProperty , rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The birthday of this Agent, represented in mm-dd string form, eg. '12-31'." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "birthday" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "unstable" .
-
-foaf:currentProject
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A current project this person works on." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "current project" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "testing" .
-
-foaf:OnlineEcommerceAccount
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An online e-commerce account." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Online E-commerce Account" ;
-    rdfs:subClassOf
-                foaf:OnlineAccount ;
-    vs:term_status
-                "unstable" .
-
-foaf:homepage
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
-    rdfs:comment
-                "A homepage for some thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "homepage" ;
-    rdfs:range  foaf:Document ;
-    rdfs:subPropertyOf
-                foaf:isPrimaryTopicOf , foaf:page ;
-    vs:term_status
-                "stable" .
-
-foaf:knows
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A person known by this person (indicating some level of reciprocated interaction between the parties)." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "knows" ;
-    rdfs:range  foaf:Person ;
-    vs:term_status
-                "testing" .
-
-foaf:geekcode
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A textual geekcode for this person, see http://www.geekcode.com/geek.html" ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "geekcode" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:mbox
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
-    rdfs:comment
-                "A  personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "personal mailbox" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "stable" .
-
-foaf:sha1
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A sha1sum hash, in hex." ;
-    rdfs:domain
-                foaf:Document ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "sha1sum (hex)" ;
-    vs:term_status
-                "unstable" .
-
-foaf:name
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A name for some thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "name" ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                rdfs:label ;
-    vs:term_status
-                "testing" .
-
-foaf:Organization
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An organization." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Organization" ;
-    rdfs:subClassOf
-                foaf:Agent , <http://xmlns.com/wordnet/1.6/Organization> ;
-    owl:disjointWith
-                foaf:Person , foaf:Document ;
-    vs:term_status
-                "stable" .
-
-dc:date
-    rdf:type    owl:AnnotationProperty .
-
-<http://xmlns.com/wordnet/1.6/Organization>
-    rdf:type    owl:Class .
-
-foaf:accountServiceHomepage
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "Indicates a homepage of the service provide for this online account." ;
-    rdfs:domain
-                foaf:OnlineAccount ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "account service homepage" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "unstable" .
-
-foaf:yahooChatID
-    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "A Yahoo chat ID" ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Yahoo chat ID" ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                foaf:nick ;
-    vs:term_status
-                "testing" .
-
-<http://xmlns.com/wordnet/1.6/Project>
-    rdf:type    owl:Class .
-
-foaf:OnlineAccount
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An online account." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Online Account" ;
-    rdfs:subClassOf
-                owl:Thing ;
-    vs:term_status
-                "unstable" .
-
-foaf:primaryTopic
-    rdf:type    owl:FunctionalProperty , rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "The primary topic of some page or document." ;
-    rdfs:domain
-                foaf:Document ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "primary topic" ;
-    rdfs:range  owl:Thing ;
-    owl:inverseOf
-                foaf:isPrimaryTopicOf ;
-    vs:term_status
-                "testing" .
-
-foaf:icqChatID
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:DatatypeProperty ;
-    rdfs:comment
-                "An ICQ chat ID" ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "ICQ chat ID" ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                foaf:nick ;
-    vs:term_status
-                "testing" .
-
-foaf:dnaChecksum
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A checksum for the DNA of some thing. Joke." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "DNA checksum" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "unstable" .
-
-foaf:thumbnail
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A derived thumbnail image." ;
-    rdfs:domain
-                foaf:Image ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "thumbnail" ;
-    rdfs:range  foaf:Image ;
-    vs:term_status
-                "testing" .
-
-dc:description
-    rdf:type    owl:AnnotationProperty .
-
-foaf:publications
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A link to the publications of this person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "publications" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "unstable" .
-
-foaf:
-    rdf:type    owl:Ontology ;
-    dc:date     "$Date: 2007-06-16 23:18:26 $" ;
-    dc:description
-                "The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." ;
-    dc:title    "Friend of a Friend (FOAF) vocabulary" ;
-    wot:assurance
-                <file:foafsig> ;
-    wot:src_assurance
-                <file:htmlfoafsig> .
-
-foaf:OnlineGamingAccount
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An online gaming account." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Online Gaming Account" ;
-    rdfs:subClassOf
-                foaf:OnlineAccount ;
-    vs:term_status
-                "unstable" .
-
-wot:assurance
-    rdf:type    owl:AnnotationProperty .
-
-foaf:Project
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "A project (a collective endeavour of some kind)." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Project" ;
-    rdfs:subClassOf
-                <http://xmlns.com/wordnet/1.6/Project> ;
-    owl:disjointWith
-                foaf:Person , foaf:Document ;
-    vs:term_status
-                "unstable" .
-
-foaf:holdsAccount
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "Indicates an account held by this agent." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "holds account" ;
-    rdfs:range  foaf:OnlineAccount ;
-    vs:term_status
-                "unstable" .
-
-foaf:theme
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A theme." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "theme" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "unstable" .
-
-foaf:accountName
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "Indicates the name (identifier) associated with this online account." ;
-    rdfs:domain
-                foaf:OnlineAccount ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "account name" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "unstable" .
-
-foaf:Document
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "A document." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Document" ;
-    rdfs:subClassOf
-                <http://xmlns.com/wordnet/1.6/Document> ;
-    owl:disjointWith
-                foaf:Person , foaf:Organization , foaf:Project ;
-    vs:term_status
-                "testing" .
-
-foaf:workInfoHomepage
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A work info homepage of some person; a page about their work for some organization." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "work info homepage" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "testing" .
-
-foaf:phone
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel)." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "phone" ;
-    vs:term_status
-                "testing" .
-
-foaf:member
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "Indicates a member of a Group" ;
-    rdfs:domain
-                foaf:Group ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "member" ;
-    rdfs:range  foaf:Agent ;
-    vs:term_status
-                "stable" .
-
-foaf:gender
-    rdf:type    owl:FunctionalProperty , rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The gender of this Agent (typically but not necessarily 'male' or 'female')." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "gender" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:made
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "Something that was made by this agent." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "made" ;
-    rdfs:range  owl:Thing ;
-    owl:inverseOf
-                foaf:maker ;
-    vs:term_status
-                "stable" .
-
-foaf:workplaceHomepage
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A workplace homepage of some person; the homepage of an organization they work for." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "workplace homepage" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "testing" .
-
-foaf:surname
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The surname of some person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Surname" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:mbox_sha1sum
-    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "sha1sum of a personal mailbox URI name" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:topic_interest
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A thing of interest to this person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "interest_topic" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "testing" .
-
-foaf:page
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A page or document about this thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "page" ;
-    rdfs:range  foaf:Document ;
-    owl:inverseOf
-                foaf:topic ;
-    vs:term_status
-                "testing" .
-
-<http://xmlns.com/wordnet/1.6/Document>
-    rdf:type    owl:Class .
-
-foaf:nick
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames)." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "nickname" ;
-    vs:term_status
-                "testing" .
-
-foaf:Agent
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An agent (eg. person, group, software or physical artifact)." ;
-    rdfs:label  "Agent" ;
-    rdfs:subClassOf
-                <http://xmlns.com/wordnet/1.6/Agent-3> ;
-    owl:disjointWith
-                foaf:Document ;
-    vs:term_status
-                "stable" .
-
-<http://xmlns.com/wordnet/1.6/Agent>
-    rdf:type    owl:Class .
-
-foaf:interest
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A page about a topic of interest to this person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "interest" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "testing" .
-
-foaf:based_near
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A location that something is based near, for some broadly human notion of near." ;
-    rdfs:domain
-                <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "based near" ;
-    rdfs:range  <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
-    vs:term_status
-                "unstable" .
-
-foaf:schoolHomepage
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A homepage of a school attended by the person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "schoolHomepage" ;
-    rdfs:range  foaf:Document ;
-    vs:term_status
-                "testing" .
-
-<http://xmlns.com/wordnet/1.6/Agent-3>
-    rdf:type    owl:Class .
-
-foaf:PersonalProfileDocument
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "A personal profile RDF document." ;
-    rdfs:label  "PersonalProfileDocument" ;
-    rdfs:subClassOf
-                foaf:Document ;
-    vs:term_status
-                "testing" .
-
-foaf:logo
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A logo representing some thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "logo" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "testing" .
-
-foaf:depicts
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A thing depicted in this representation." ;
-    rdfs:domain
-                foaf:Image ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "depicts" ;
-    rdfs:range  owl:Thing ;
-    owl:inverseOf
-                foaf:depiction ;
-    vs:term_status
-                "testing" .
-
-foaf:weblog
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
-    rdfs:comment
-                "A weblog of some thing (whether person, group, company etc.)." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "weblog" ;
-    rdfs:range  foaf:Document ;
-    rdfs:subPropertyOf
-                foaf:page ;
-    vs:term_status
-                "testing" .
-
-foaf:aimChatID
-    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "An AIM chat ID" ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "AIM chat ID" ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                foaf:nick ;
-    vs:term_status
-                "testing" .
-
-foaf:pastProject
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A project this person has previously worked on." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "past project" ;
-    rdfs:range  owl:Thing ;
-    vs:term_status
-                "testing" .
-
-foaf:Person
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "A person." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Person" ;
-    rdfs:subClassOf
-                foaf:Agent , <http://xmlns.com/wordnet/1.6/Agent> , <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> , <http://www.w3.org/2000/10/swap/pim/contact#Person> , <http://xmlns.com/wordnet/1.6/Person> ;
-    owl:disjointWith
-                foaf:Document , foaf:Organization , foaf:Project ;
-    vs:term_status
-                "stable" .
-
-foaf:family_name
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The family_name of some person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "family_name" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:maker
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "An agent that  made this thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "maker" ;
-    rdfs:range  foaf:Agent ;
-    owl:inverseOf
-                foaf:made ;
-    vs:term_status
-                "stable" .
-
-foaf:plan
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "A .plan comment, in the tradition of finger and '.plan' files." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "plan" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-dc:title
-    rdf:type    owl:AnnotationProperty .
-
-foaf:membershipClass
-    rdf:type    rdf:Property , owl:AnnotationProperty ;
-    rdfs:comment
-                "Indicates the class of individuals that are a member of a Group" ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "membershipClass" ;
-    vs:term_status
-                "unstable" .
-
-wot:src_assurance
-    rdf:type    owl:AnnotationProperty .
-
-foaf:firstName
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The first name of a person." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "firstName" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:givenname
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "The given name of some person." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Given name" ;
-    vs:term_status
-                "testing" .
-
-foaf:tipjar
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A tipjar document for this agent, describing means for payment and reward." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "tipjar" ;
-    rdfs:range  foaf:Document ;
-    rdfs:subPropertyOf
-                foaf:page ;
-    vs:term_status
-                "testing" .
-
-rdfs:Class
-    rdf:type    owl:Class .
-
-<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing>
-    rdf:type    owl:Class .
-
-<http://www.w3.org/2000/10/swap/pim/contact#Person>
-    rdf:type    owl:Class .
-
-foaf:topic
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A topic of some page or document." ;
-    rdfs:domain
-                foaf:Document ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "topic" ;
-    rdfs:range  owl:Thing ;
-    owl:inverseOf
-                foaf:page ;
-    vs:term_status
-                "testing" .
-
-foaf:jabberID
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:DatatypeProperty ;
-    rdfs:comment
-                "A jabber ID for something." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "jabber ID" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:isPrimaryTopicOf
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "A document that this thing is the primary topic of." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "is primary topic of" ;
-    rdfs:range  foaf:Document ;
-    rdfs:subPropertyOf
-                foaf:page ;
-    owl:inverseOf
-                foaf:primaryTopic ;
-    vs:term_status
-                "testing" .
-
-foaf:openid
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
-    rdfs:comment
-                "An OpenID  for an Agent." ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "openid" ;
-    rdfs:range  foaf:Document ;
-    rdfs:subPropertyOf
-                foaf:isPrimaryTopicOf ;
-    vs:term_status
-                "unstable" .
-
-foaf:OnlineChatAccount
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An online chat account." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Online Chat Account" ;
-    rdfs:subClassOf
-                foaf:OnlineAccount ;
-    vs:term_status
-                "unstable" .
-
-foaf:myersBriggs
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A Myers Briggs (MBTI) personality classification." ;
-    rdfs:domain
-                foaf:Person ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "myersBriggs" ;
-    rdfs:range  rdfs:Literal ;
-    vs:term_status
-                "testing" .
-
-foaf:title
-    rdf:type    rdf:Property , owl:DatatypeProperty ;
-    rdfs:comment
-                "Title (Mr, Mrs, Ms, Dr. etc)" ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "title" ;
-    vs:term_status
-                "testing" .
-
-foaf:Image
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "An image." ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "Image" ;
-    rdfs:subClassOf
-                <http://xmlns.com/wordnet/1.6/Document> ;
-    vs:term_status
-                "testing" .
-
-foaf:msnChatID
-    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "An MSN chat ID" ;
-    rdfs:domain
-                foaf:Agent ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "MSN chat ID" ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                foaf:nick ;
-    vs:term_status
-                "testing" .
-
-foaf:depiction
-    rdf:type    rdf:Property , owl:ObjectProperty ;
-    rdfs:comment
-                "A depiction of some thing." ;
-    rdfs:domain
-                owl:Thing ;
-    rdfs:isDefinedBy
-                foaf: ;
-    rdfs:label  "depiction" ;
-    rdfs:range  foaf:Image ;
-    owl:inverseOf
-                foaf:depicts ;
-    vs:term_status
-                "testing" .
-
-foaf:Group
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "A class of Agents." ;
-    rdfs:label  "Group" ;
-    rdfs:subClassOf
-                foaf:Agent ;
-    vs:term_status
-                "stable" .
-
-<http://xmlns.com/wordnet/1.6/Person>
-    rdf:type    owl:Class .
+@prefix dc:      <http://purl.org/dc/elements/1.1/> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix wot:     <http://xmlns.com/wot/0.1/> .
+@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
+@prefix owl:     <http://www.w3.org/2002/07/owl#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix vs:      <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
+
+foaf:fundedBy
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "An organization funding a project or person." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "funded by" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "unstable" .
+
+vs:term_status
+    rdf:type    owl:AnnotationProperty .
+
+foaf:img
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage)." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "image" ;
+    rdfs:range  foaf:Image ;
+    rdfs:subPropertyOf
+                foaf:depiction ;
+    vs:term_status
+                "testing" .
+
+foaf:birthday
+    rdf:type    owl:FunctionalProperty , rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The birthday of this Agent, represented in mm-dd string form, eg. '12-31'." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "birthday" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "unstable" .
+
+foaf:currentProject
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A current project this person works on." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "current project" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "testing" .
+
+foaf:OnlineEcommerceAccount
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An online e-commerce account." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Online E-commerce Account" ;
+    rdfs:subClassOf
+                foaf:OnlineAccount ;
+    vs:term_status
+                "unstable" .
+
+foaf:homepage
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
+    rdfs:comment
+                "A homepage for some thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "homepage" ;
+    rdfs:range  foaf:Document ;
+    rdfs:subPropertyOf
+                foaf:isPrimaryTopicOf , foaf:page ;
+    vs:term_status
+                "stable" .
+
+foaf:knows
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A person known by this person (indicating some level of reciprocated interaction between the parties)." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "knows" ;
+    rdfs:range  foaf:Person ;
+    vs:term_status
+                "testing" .
+
+foaf:geekcode
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A textual geekcode for this person, see http://www.geekcode.com/geek.html" ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "geekcode" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:mbox
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
+    rdfs:comment
+                "A  personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "personal mailbox" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "stable" .
+
+foaf:sha1
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A sha1sum hash, in hex." ;
+    rdfs:domain
+                foaf:Document ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "sha1sum (hex)" ;
+    vs:term_status
+                "unstable" .
+
+foaf:name
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A name for some thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "name" ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                rdfs:label ;
+    vs:term_status
+                "testing" .
+
+foaf:Organization
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An organization." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Organization" ;
+    rdfs:subClassOf
+                foaf:Agent , <http://xmlns.com/wordnet/1.6/Organization> ;
+    owl:disjointWith
+                foaf:Person , foaf:Document ;
+    vs:term_status
+                "stable" .
+
+dc:date
+    rdf:type    owl:AnnotationProperty .
+
+<http://xmlns.com/wordnet/1.6/Organization>
+    rdf:type    owl:Class .
+
+foaf:accountServiceHomepage
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "Indicates a homepage of the service provide for this online account." ;
+    rdfs:domain
+                foaf:OnlineAccount ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "account service homepage" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "unstable" .
+
+foaf:yahooChatID
+    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "A Yahoo chat ID" ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Yahoo chat ID" ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                foaf:nick ;
+    vs:term_status
+                "testing" .
+
+<http://xmlns.com/wordnet/1.6/Project>
+    rdf:type    owl:Class .
+
+foaf:OnlineAccount
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An online account." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Online Account" ;
+    rdfs:subClassOf
+                owl:Thing ;
+    vs:term_status
+                "unstable" .
+
+foaf:primaryTopic
+    rdf:type    owl:FunctionalProperty , rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "The primary topic of some page or document." ;
+    rdfs:domain
+                foaf:Document ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "primary topic" ;
+    rdfs:range  owl:Thing ;
+    owl:inverseOf
+                foaf:isPrimaryTopicOf ;
+    vs:term_status
+                "testing" .
+
+foaf:icqChatID
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:DatatypeProperty ;
+    rdfs:comment
+                "An ICQ chat ID" ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "ICQ chat ID" ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                foaf:nick ;
+    vs:term_status
+                "testing" .
+
+foaf:dnaChecksum
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A checksum for the DNA of some thing. Joke." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "DNA checksum" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "unstable" .
+
+foaf:thumbnail
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A derived thumbnail image." ;
+    rdfs:domain
+                foaf:Image ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "thumbnail" ;
+    rdfs:range  foaf:Image ;
+    vs:term_status
+                "testing" .
+
+dc:description
+    rdf:type    owl:AnnotationProperty .
+
+foaf:publications
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A link to the publications of this person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "publications" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "unstable" .
+
+foaf:
+    rdf:type    owl:Ontology ;
+    dc:date     "$Date: 2007-06-16 23:18:26 $" ;
+    dc:description
+                "The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." ;
+    dc:title    "Friend of a Friend (FOAF) vocabulary" ;
+    wot:assurance
+                <file:foafsig> ;
+    wot:src_assurance
+                <file:htmlfoafsig> .
+
+foaf:OnlineGamingAccount
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An online gaming account." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Online Gaming Account" ;
+    rdfs:subClassOf
+                foaf:OnlineAccount ;
+    vs:term_status
+                "unstable" .
+
+wot:assurance
+    rdf:type    owl:AnnotationProperty .
+
+foaf:Project
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "A project (a collective endeavour of some kind)." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Project" ;
+    rdfs:subClassOf
+                <http://xmlns.com/wordnet/1.6/Project> ;
+    owl:disjointWith
+                foaf:Person , foaf:Document ;
+    vs:term_status
+                "unstable" .
+
+foaf:holdsAccount
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "Indicates an account held by this agent." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "holds account" ;
+    rdfs:range  foaf:OnlineAccount ;
+    vs:term_status
+                "unstable" .
+
+foaf:theme
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A theme." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "theme" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "unstable" .
+
+foaf:accountName
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "Indicates the name (identifier) associated with this online account." ;
+    rdfs:domain
+                foaf:OnlineAccount ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "account name" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "unstable" .
+
+foaf:Document
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "A document." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Document" ;
+    rdfs:subClassOf
+                <http://xmlns.com/wordnet/1.6/Document> ;
+    owl:disjointWith
+                foaf:Person , foaf:Organization , foaf:Project ;
+    vs:term_status
+                "testing" .
+
+foaf:workInfoHomepage
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A work info homepage of some person; a page about their work for some organization." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "work info homepage" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "testing" .
+
+foaf:phone
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel)." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "phone" ;
+    vs:term_status
+                "testing" .
+
+foaf:member
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "Indicates a member of a Group" ;
+    rdfs:domain
+                foaf:Group ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "member" ;
+    rdfs:range  foaf:Agent ;
+    vs:term_status
+                "stable" .
+
+foaf:gender
+    rdf:type    owl:FunctionalProperty , rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The gender of this Agent (typically but not necessarily 'male' or 'female')." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "gender" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:made
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "Something that was made by this agent." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "made" ;
+    rdfs:range  owl:Thing ;
+    owl:inverseOf
+                foaf:maker ;
+    vs:term_status
+                "stable" .
+
+foaf:workplaceHomepage
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A workplace homepage of some person; the homepage of an organization they work for." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "workplace homepage" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "testing" .
+
+foaf:surname
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The surname of some person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Surname" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:mbox_sha1sum
+    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "sha1sum of a personal mailbox URI name" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:topic_interest
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A thing of interest to this person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "interest_topic" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "testing" .
+
+foaf:page
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A page or document about this thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "page" ;
+    rdfs:range  foaf:Document ;
+    owl:inverseOf
+                foaf:topic ;
+    vs:term_status
+                "testing" .
+
+<http://xmlns.com/wordnet/1.6/Document>
+    rdf:type    owl:Class .
+
+foaf:nick
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames)." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "nickname" ;
+    vs:term_status
+                "testing" .
+
+foaf:Agent
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An agent (eg. person, group, software or physical artifact)." ;
+    rdfs:label  "Agent" ;
+    rdfs:subClassOf
+                <http://xmlns.com/wordnet/1.6/Agent-3> ;
+    owl:disjointWith
+                foaf:Document ;
+    vs:term_status
+                "stable" .
+
+<http://xmlns.com/wordnet/1.6/Agent>
+    rdf:type    owl:Class .
+
+foaf:interest
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A page about a topic of interest to this person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "interest" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "testing" .
+
+foaf:based_near
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A location that something is based near, for some broadly human notion of near." ;
+    rdfs:domain
+                <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "based near" ;
+    rdfs:range  <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
+    vs:term_status
+                "unstable" .
+
+foaf:schoolHomepage
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A homepage of a school attended by the person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "schoolHomepage" ;
+    rdfs:range  foaf:Document ;
+    vs:term_status
+                "testing" .
+
+<http://xmlns.com/wordnet/1.6/Agent-3>
+    rdf:type    owl:Class .
+
+foaf:PersonalProfileDocument
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "A personal profile RDF document." ;
+    rdfs:label  "PersonalProfileDocument" ;
+    rdfs:subClassOf
+                foaf:Document ;
+    vs:term_status
+                "testing" .
+
+foaf:logo
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A logo representing some thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "logo" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "testing" .
+
+foaf:depicts
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A thing depicted in this representation." ;
+    rdfs:domain
+                foaf:Image ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "depicts" ;
+    rdfs:range  owl:Thing ;
+    owl:inverseOf
+                foaf:depiction ;
+    vs:term_status
+                "testing" .
+
+foaf:weblog
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
+    rdfs:comment
+                "A weblog of some thing (whether person, group, company etc.)." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "weblog" ;
+    rdfs:range  foaf:Document ;
+    rdfs:subPropertyOf
+                foaf:page ;
+    vs:term_status
+                "testing" .
+
+foaf:aimChatID
+    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "An AIM chat ID" ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "AIM chat ID" ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                foaf:nick ;
+    vs:term_status
+                "testing" .
+
+foaf:pastProject
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A project this person has previously worked on." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "past project" ;
+    rdfs:range  owl:Thing ;
+    vs:term_status
+                "testing" .
+
+foaf:Person
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "A person." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Person" ;
+    rdfs:subClassOf
+                foaf:Agent , <http://xmlns.com/wordnet/1.6/Agent> , <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> , <http://www.w3.org/2000/10/swap/pim/contact#Person> , <http://xmlns.com/wordnet/1.6/Person> ;
+    owl:disjointWith
+                foaf:Document , foaf:Organization , foaf:Project ;
+    vs:term_status
+                "stable" .
+
+foaf:family_name
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The family_name of some person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "family_name" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:maker
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "An agent that  made this thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "maker" ;
+    rdfs:range  foaf:Agent ;
+    owl:inverseOf
+                foaf:made ;
+    vs:term_status
+                "stable" .
+
+foaf:plan
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "A .plan comment, in the tradition of finger and '.plan' files." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "plan" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+dc:title
+    rdf:type    owl:AnnotationProperty .
+
+foaf:membershipClass
+    rdf:type    rdf:Property , owl:AnnotationProperty ;
+    rdfs:comment
+                "Indicates the class of individuals that are a member of a Group" ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "membershipClass" ;
+    vs:term_status
+                "unstable" .
+
+wot:src_assurance
+    rdf:type    owl:AnnotationProperty .
+
+foaf:firstName
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The first name of a person." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "firstName" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:givenname
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "The given name of some person." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Given name" ;
+    vs:term_status
+                "testing" .
+
+foaf:tipjar
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A tipjar document for this agent, describing means for payment and reward." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "tipjar" ;
+    rdfs:range  foaf:Document ;
+    rdfs:subPropertyOf
+                foaf:page ;
+    vs:term_status
+                "testing" .
+
+rdfs:Class
+    rdf:type    owl:Class .
+
+<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing>
+    rdf:type    owl:Class .
+
+<http://www.w3.org/2000/10/swap/pim/contact#Person>
+    rdf:type    owl:Class .
+
+foaf:topic
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A topic of some page or document." ;
+    rdfs:domain
+                foaf:Document ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "topic" ;
+    rdfs:range  owl:Thing ;
+    owl:inverseOf
+                foaf:page ;
+    vs:term_status
+                "testing" .
+
+foaf:jabberID
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:DatatypeProperty ;
+    rdfs:comment
+                "A jabber ID for something." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "jabber ID" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:isPrimaryTopicOf
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "A document that this thing is the primary topic of." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "is primary topic of" ;
+    rdfs:range  foaf:Document ;
+    rdfs:subPropertyOf
+                foaf:page ;
+    owl:inverseOf
+                foaf:primaryTopic ;
+    vs:term_status
+                "testing" .
+
+foaf:openid
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty , owl:ObjectProperty ;
+    rdfs:comment
+                "An OpenID  for an Agent." ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "openid" ;
+    rdfs:range  foaf:Document ;
+    rdfs:subPropertyOf
+                foaf:isPrimaryTopicOf ;
+    vs:term_status
+                "unstable" .
+
+foaf:OnlineChatAccount
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An online chat account." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Online Chat Account" ;
+    rdfs:subClassOf
+                foaf:OnlineAccount ;
+    vs:term_status
+                "unstable" .
+
+foaf:myersBriggs
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A Myers Briggs (MBTI) personality classification." ;
+    rdfs:domain
+                foaf:Person ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "myersBriggs" ;
+    rdfs:range  rdfs:Literal ;
+    vs:term_status
+                "testing" .
+
+foaf:title
+    rdf:type    rdf:Property , owl:DatatypeProperty ;
+    rdfs:comment
+                "Title (Mr, Mrs, Ms, Dr. etc)" ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "title" ;
+    vs:term_status
+                "testing" .
+
+foaf:Image
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "An image." ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "Image" ;
+    rdfs:subClassOf
+                <http://xmlns.com/wordnet/1.6/Document> ;
+    vs:term_status
+                "testing" .
+
+foaf:msnChatID
+    rdf:type    rdf:Property , owl:DatatypeProperty , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "An MSN chat ID" ;
+    rdfs:domain
+                foaf:Agent ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "MSN chat ID" ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                foaf:nick ;
+    vs:term_status
+                "testing" .
+
+foaf:depiction
+    rdf:type    rdf:Property , owl:ObjectProperty ;
+    rdfs:comment
+                "A depiction of some thing." ;
+    rdfs:domain
+                owl:Thing ;
+    rdfs:isDefinedBy
+                foaf: ;
+    rdfs:label  "depiction" ;
+    rdfs:range  foaf:Image ;
+    owl:inverseOf
+                foaf:depicts ;
+    vs:term_status
+                "testing" .
+
+foaf:Group
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "A class of Agents." ;
+    rdfs:label  "Group" ;
+    rdfs:subClassOf
+                foaf:Agent ;
+    vs:term_status
+                "stable" .
+
+<http://xmlns.com/wordnet/1.6/Person>
+    rdf:type    owl:Class .


[32/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/owl/Wine/food.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/owl/Wine/food.owl b/jena-core/testing/ontology/owl/Wine/food.owl
index 04f6825..7699226 100644
--- a/jena-core/testing/ontology/owl/Wine/food.owl
+++ b/jena-core/testing/ontology/owl/Wine/food.owl
@@ -1,1350 +1,1350 @@
-<?xml version="1.0"?>
-<!DOCTYPE rdf:RDF [
-     <!ENTITY vin  "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#" >
-     <!ENTITY food "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#" >
-     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
-   ]>
-
-<rdf:RDF
-  xmlns     = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
-  xmlns:food= "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
-  xml:base  = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
-  xmlns:vin = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#"
-  xmlns:owl = "http://www.w3.org/2002/07/owl#"
-  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">
-
-  <owl:Ontology rdf:about="">
-    <rdfs:comment>
-      Derived from the DAML Wine ontology at 
-      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
-      Substantially modified.
-    </rdfs:comment>
-    <owl:imports rdf:resource="http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine"/>
-  </owl:Ontology>
-
-  <owl:Class rdf:ID="ConsumableThing" />
-
-  <owl:Class rdf:ID="NonConsumableThing">
-    <owl:complementOf rdf:resource="#ConsumableThing" />
-  </owl:Class>
-
-  <owl:Class rdf:ID="EdibleThing">
-    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PotableLiquid">
-    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
-    <owl:disjointWith rdf:resource="#EdibleThing" />
-  </owl:Class>
-  
-  <!-- One goal of these example ontologies was that they
-       be in the OWL DL subset.  We made wine and food
-       mutually import one another, because food shares
-       many of the wine properties.
-       Rather than that, we could have used the following
-       assertion for all of the shared concepts:
-
-        <owl:Class rdf:ID="&vin;Wine"/>
-
-       The reason for this is that in DL all referenced 
-       elements must have a type.
-  -->
-
-  <owl:Class rdf:ID="Wine">
-    <owl:equivalentClass rdf:resource="&vin;Wine"/>
-  </owl:Class>
-
-  <owl:ObjectProperty rdf:ID="madeFromFruit">
-    <rdfs:domain rdf:resource="#ConsumableThing" />
-    <rdfs:range rdf:resource="#Fruit" />
-  </owl:ObjectProperty>
-
-  <owl:Class rdf:ID="Juice">
-    <rdfs:subClassOf rdf:resource="#PotableLiquid" />
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#madeFromFruit" />
- 	<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-
-  <owl:ObjectProperty rdf:ID="hasDrink">
-    <rdfs:domain rdf:resource="#MealCourse" />
-    <rdfs:range rdf:resource="#PotableLiquid" />
-  </owl:ObjectProperty>
-  
-  <owl:Thing rdf:ID="White">
-    <owl:sameAs rdf:resource="&vin;White"/>
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Rose">
-    <owl:sameAs rdf:resource="&vin;Rose" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Red">
-    <owl:sameAs rdf:resource="&vin;Red" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Sweet">
-    <owl:sameAs rdf:resource="&vin;Sweet" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="OffDry">
-    <owl:sameAs rdf:resource="&vin;OffDry" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Dry">
-    <owl:sameAs rdf:resource="&vin;Dry" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Delicate">
-    <owl:sameAs rdf:resource="&vin;Delicate" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Moderate">
-    <owl:sameAs rdf:resource="&vin;Moderate" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Strong">
-    <owl:sameAs rdf:resource="&vin;Strong" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Light">
-    <owl:sameAs rdf:resource="&vin;Light" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Medium">
-    <owl:sameAs rdf:resource="&vin;Medium" />
-  </owl:Thing>
-
-  <owl:Thing rdf:ID="Full">
-    <owl:sameAs rdf:resource="&vin;Full" />
-  </owl:Thing>
-
-  <owl:ObjectProperty rdf:ID="course">
-    <rdfs:domain rdf:resource="#Meal" />
-    <rdfs:range rdf:resource="#MealCourse" />
-  </owl:ObjectProperty>
-  
-  <owl:Class rdf:ID="Grape">
-    <rdfs:subClassOf rdf:resource="#SweetFruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Pasta">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Meat" />
-    <owl:disjointWith rdf:resource="#Fowl" />
-    <owl:disjointWith rdf:resource="#Seafood" />
-    <owl:disjointWith rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithWhiteSauce">
-    <rdfs:subClassOf rdf:resource="#Pasta" />
-    <owl:disjointWith rdf:resource="#PastaWithRedSauce" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithSpicyRedSauceCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#PastaWithSpicyRedSauce" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Full" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Strong" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithSpicyRedSauce">
-    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithRedSauce">
-    <rdfs:subClassOf rdf:resource="#Pasta" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithNonSpicyRedSauceCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#PastaWithNonSpicyRedSauce" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithNonSpicyRedSauce">
-    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
-    <owl:disjointWith rdf:resource="#PastaWithSpicyRedSauce" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithLightCreamSauce">
-    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
-    <owl:disjointWith rdf:resource="#PastaWithHeavyCreamSauce" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithLightCreamCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#PastaWithLightCreamSauce" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Light" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Delicate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithHeavyCreamSauce">
-    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="PastaWithHeavyCreamCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#PastaWithHeavyCreamSauce" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="OysterShellfishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#OysterShellfish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Sweet" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="OysterShellfish">
-    <rdfs:subClassOf rdf:resource="#Shellfish" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="OtherTomatoBasedFoodCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#OtherTomatoBasedFood" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="OtherTomatoBasedFood">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Pasta" />
-    <owl:disjointWith rdf:resource="#Meat" />
-    <owl:disjointWith rdf:resource="#Fowl" />
-    <owl:disjointWith rdf:resource="#Seafood" />
-    <owl:disjointWith rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonSweetFruitCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#NonSweetFruit" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Delicate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#OffDry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="SweetFruitCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#SweetFruit" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Sweet" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <!-- changed so that Fruit can be unionOf 
-  <owl:Class rdf:ID="NonSweetFruit">
-    <rdfs:subClassOf rdf:resource="#Fruit" />
-    <owl:disjointWith rdf:resource="#SweetFruit" />
-  </owl:Class>
-  -->
-  
-  <owl:Class rdf:ID="NonSweetFruit">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#SweetFruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonSpicyRedMeatCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#NonSpicyRedMeat" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:allValuesFrom>
-              <owl:Class>
-                <owl:oneOf rdf:parseType="Collection">
-                  <owl:Thing rdf:about="#Strong" />
-                  <owl:Thing rdf:about="#Moderate" />
-                </owl:oneOf>
-              </owl:Class>
-            </owl:allValuesFrom>
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonSpicyRedMeat">
-    <rdfs:subClassOf rdf:resource="#RedMeat" />
-    <owl:disjointWith rdf:resource="#SpicyRedMeat" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonRedMeatCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#NonRedMeat" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Strong" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonRedMeat">
-    <rdfs:subClassOf rdf:resource="#Meat" />
-    <owl:disjointWith rdf:resource="#RedMeat" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonOysterShellfishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#NonOysterShellfish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonOysterShellfish">
-    <rdfs:subClassOf rdf:resource="#Shellfish" />
-    <owl:disjointWith rdf:resource="#OysterShellfish" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonBlandFishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#NonBlandFish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="NonBlandFish">
-    <rdfs:subClassOf rdf:resource="#Fish" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Meat">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Fowl" />
-    <owl:disjointWith rdf:resource="#Seafood" />
-    <owl:disjointWith rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="MealCourse">
-    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom rdf:resource="#Wine" />
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <owl:disjointWith rdf:resource="#PotableLiquid" />
-    <owl:disjointWith rdf:resource="#EdibleThing" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Meal">
-    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#course" />
-        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#course" />
-        <owl:allValuesFrom rdf:resource="#MealCourse" />
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <owl:disjointWith rdf:resource="#MealCourse" />
-    <owl:disjointWith rdf:resource="#PotableLiquid" />
-    <owl:disjointWith rdf:resource="#EdibleThing" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="LightMeatFowlCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#LightMeatFowl" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="LightMeatFowl">
-    <rdfs:subClassOf rdf:resource="#Fowl" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="FruitCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#Fruit" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <!--- Replaced so that we have a unionOf construct
-        Aug 20 02 MKS, suggestion by R. Volz.  
-
-  <owl:Class rdf:ID="Fruit">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-  </owl:Class>
-
-  --> 
-  
-  <owl:Class rdf:ID="Fruit">
-    <owl:unionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#SweetFruit" />
-      <owl:Class rdf:about="#NonSweetFruit" />
-    </owl:unionOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Fowl">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Seafood" />
-    <owl:disjointWith rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="FishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#Fish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Medium" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="DessertCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#Dessert" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Full" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Strong" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Sweet" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Dessert">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <!-- changed so that Fruit can be unionOf 
-  <owl:Class rdf:ID="SweetFruit">
-    <rdfs:subClassOf rdf:resource="#Fruit" />
-  </owl:Class>
-  -->
-  <owl:Class rdf:ID="SweetFruit">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="SweetDessertCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#SweetDessert" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="SweetDessert">
-    <rdfs:subClassOf rdf:resource="#Dessert" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="DarkMeatFowlCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#DarkMeatFowl" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Light" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Delicate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="DarkMeatFowl">
-    <rdfs:subClassOf rdf:resource="#Fowl" />
-    <owl:disjointWith rdf:resource="#LightMeatFowl" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="CheeseNutsDessertCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#CheeseNutsDessert" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="CheeseNutsDessert">
-    <rdfs:subClassOf rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#SweetDessert" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="BlandFishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#BlandFish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Delicate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="BlandFish">
-    <rdfs:subClassOf rdf:resource="#Fish" />
-    <owl:disjointWith rdf:resource="#NonBlandFish" />
-  </owl:Class>
-  
-  <owl:ObjectProperty rdf:ID="hasFood">
-    <rdfs:domain rdf:resource="#MealCourse" />
-    <rdfs:range rdf:resource="#EdibleThing" />
-  </owl:ObjectProperty>
-  
-  <owl:Class rdf:ID="Fish">
-    <rdfs:subClassOf rdf:resource="#Seafood" />
-    <owl:disjointWith rdf:resource="#Shellfish" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="SpicyRedMeat">
-    <rdfs:subClassOf rdf:resource="#RedMeat" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="ShellfishCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#Shellfish" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:allValuesFrom>
-              <owl:Class>
-                <owl:oneOf rdf:parseType="Collection">
-                  <owl:Thing rdf:about="#Moderate" />
-                  <owl:Thing rdf:about="#Strong" />
-                </owl:oneOf>
-              </owl:Class>
-            </owl:allValuesFrom>
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Full" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Shellfish">
-    <rdfs:subClassOf rdf:resource="#Seafood" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="SeafoodCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#Seafood" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#White" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="Seafood">
-    <rdfs:subClassOf rdf:resource="#EdibleThing" />
-    <owl:disjointWith rdf:resource="#Dessert" />
-    <owl:disjointWith rdf:resource="#Fruit" />
-  </owl:Class>
-  
-  <owl:Class rdf:ID="RedMeatCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#RedMeat" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <owl:Class rdf:ID="RedMeat">
-    <rdfs:subClassOf rdf:resource="#Meat" />
-  </owl:Class>
-  
-  <SweetDessert rdf:ID="Cake" />
-  
-  <SweetFruit rdf:ID="Bananas" />
-  
-  <SweetFruit rdf:ID="MixedFruit" />
-  
-  <NonOysterShellfish rdf:ID="Mussels" />
-  
-  <CheeseNutsDessert rdf:ID="Nuts" />
-  
-  <OysterShellfish rdf:ID="Oysters" />
-  
-  <PastaWithLightCreamSauce rdf:ID="PastaWithWhiteClamSauce" />
-  
-  <SweetFruit rdf:ID="Peaches" />
-  
-  <SweetDessert rdf:ID="Pie" />
-  
-  <OtherTomatoBasedFood rdf:ID="Pizza" />
-  
-  <NonRedMeat rdf:ID="Pork" />
-  
-  <NonSpicyRedMeat rdf:ID="RoastBeef" />
-  
-  <BlandFish rdf:ID="Scrod" />
-  
-  <PastaWithNonSpicyRedSauce rdf:ID="SpaghettiWithTomatoSauce" />
-  
-  <NonSpicyRedMeat rdf:ID="Steak" />
-  
-  <NonBlandFish rdf:ID="Swordfish" />
-  
-  <EatingGrape rdf:ID="ThompsonSeedless" />
-  
-  <owl:Class rdf:ID="EatingGrape">
-    <rdfs:subClassOf rdf:resource="#Grape" />
-  </owl:Class>
-
-  <NonBlandFish rdf:ID="Tuna" />
-  
-  <LightMeatFowl rdf:ID="Turkey" />
-  
-  <NonSpicyRedMeat rdf:ID="Veal" />
-  
-  <owl:Class rdf:ID="SpicyRedMeatCourse">
-    <owl:intersectionOf rdf:parseType="Collection">
-      <owl:Class rdf:about="#MealCourse" />
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasFood" />
-        <owl:allValuesFrom rdf:resource="#SpicyRedMeat" />
-      </owl:Restriction>
-    </owl:intersectionOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasColor" />
-            <owl:hasValue rdf:resource="#Red" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasBody" />
-            <owl:hasValue rdf:resource="#Full" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasFlavor" />
-            <owl:hasValue rdf:resource="#Moderate" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-    <rdfs:subClassOf>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="#hasDrink" />
-        <owl:allValuesFrom>
-          <owl:Restriction>
-            <owl:onProperty rdf:resource="&vin;hasSugar" />
-            <owl:hasValue rdf:resource="#Dry" />
-          </owl:Restriction>
-        </owl:allValuesFrom>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </owl:Class>
-  
-  <SpicyRedMeat rdf:ID="BeefCurry" />
-  
-  <LightMeatFowl rdf:ID="Chicken" />
-  
-  <NonOysterShellfish rdf:ID="Clams" />
-  
-  <DarkMeatFowl rdf:ID="Duck" />
-  
-  <SpicyRedMeat rdf:ID="GarlickyRoast" />
-  
-  <DarkMeatFowl rdf:ID="Goose" />
-  
-  <BlandFish rdf:ID="Halibut" />
-  
-  <NonOysterShellfish rdf:ID="Crab" />
-  
-  <BlandFish rdf:ID="Flounder" />
-  
-  <NonOysterShellfish rdf:ID="Lobster" />
-  
-  <PastaWithHeavyCreamSauce rdf:ID="FettucineAlfRedo" />
-  
-  <PastaWithSpicyRedSauce rdf:ID="FraDiavolo" />
-  
-  <CheeseNutsDessert rdf:ID="Cheese" />
-  
-</rdf:RDF>
+<?xml version="1.0"?>
+<!DOCTYPE rdf:RDF [
+     <!ENTITY vin  "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#" >
+     <!ENTITY food "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#" >
+     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
+   ]>
+
+<rdf:RDF
+  xmlns     = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
+  xmlns:food= "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
+  xml:base  = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
+  xmlns:vin = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#"
+  xmlns:owl = "http://www.w3.org/2002/07/owl#"
+  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">
+
+  <owl:Ontology rdf:about="">
+    <rdfs:comment>
+      Derived from the DAML Wine ontology at 
+      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
+      Substantially modified.
+    </rdfs:comment>
+    <owl:imports rdf:resource="http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine"/>
+  </owl:Ontology>
+
+  <owl:Class rdf:ID="ConsumableThing" />
+
+  <owl:Class rdf:ID="NonConsumableThing">
+    <owl:complementOf rdf:resource="#ConsumableThing" />
+  </owl:Class>
+
+  <owl:Class rdf:ID="EdibleThing">
+    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PotableLiquid">
+    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
+    <owl:disjointWith rdf:resource="#EdibleThing" />
+  </owl:Class>
+  
+  <!-- One goal of these example ontologies was that they
+       be in the OWL DL subset.  We made wine and food
+       mutually import one another, because food shares
+       many of the wine properties.
+       Rather than that, we could have used the following
+       assertion for all of the shared concepts:
+
+        <owl:Class rdf:ID="&vin;Wine"/>
+
+       The reason for this is that in DL all referenced 
+       elements must have a type.
+  -->
+
+  <owl:Class rdf:ID="Wine">
+    <owl:equivalentClass rdf:resource="&vin;Wine"/>
+  </owl:Class>
+
+  <owl:ObjectProperty rdf:ID="madeFromFruit">
+    <rdfs:domain rdf:resource="#ConsumableThing" />
+    <rdfs:range rdf:resource="#Fruit" />
+  </owl:ObjectProperty>
+
+  <owl:Class rdf:ID="Juice">
+    <rdfs:subClassOf rdf:resource="#PotableLiquid" />
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#madeFromFruit" />
+ 	<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+
+  <owl:ObjectProperty rdf:ID="hasDrink">
+    <rdfs:domain rdf:resource="#MealCourse" />
+    <rdfs:range rdf:resource="#PotableLiquid" />
+  </owl:ObjectProperty>
+  
+  <owl:Thing rdf:ID="White">
+    <owl:sameAs rdf:resource="&vin;White"/>
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Rose">
+    <owl:sameAs rdf:resource="&vin;Rose" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Red">
+    <owl:sameAs rdf:resource="&vin;Red" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Sweet">
+    <owl:sameAs rdf:resource="&vin;Sweet" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="OffDry">
+    <owl:sameAs rdf:resource="&vin;OffDry" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Dry">
+    <owl:sameAs rdf:resource="&vin;Dry" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Delicate">
+    <owl:sameAs rdf:resource="&vin;Delicate" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Moderate">
+    <owl:sameAs rdf:resource="&vin;Moderate" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Strong">
+    <owl:sameAs rdf:resource="&vin;Strong" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Light">
+    <owl:sameAs rdf:resource="&vin;Light" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Medium">
+    <owl:sameAs rdf:resource="&vin;Medium" />
+  </owl:Thing>
+
+  <owl:Thing rdf:ID="Full">
+    <owl:sameAs rdf:resource="&vin;Full" />
+  </owl:Thing>
+
+  <owl:ObjectProperty rdf:ID="course">
+    <rdfs:domain rdf:resource="#Meal" />
+    <rdfs:range rdf:resource="#MealCourse" />
+  </owl:ObjectProperty>
+  
+  <owl:Class rdf:ID="Grape">
+    <rdfs:subClassOf rdf:resource="#SweetFruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Pasta">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Meat" />
+    <owl:disjointWith rdf:resource="#Fowl" />
+    <owl:disjointWith rdf:resource="#Seafood" />
+    <owl:disjointWith rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithWhiteSauce">
+    <rdfs:subClassOf rdf:resource="#Pasta" />
+    <owl:disjointWith rdf:resource="#PastaWithRedSauce" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithSpicyRedSauceCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#PastaWithSpicyRedSauce" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Full" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Strong" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithSpicyRedSauce">
+    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithRedSauce">
+    <rdfs:subClassOf rdf:resource="#Pasta" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithNonSpicyRedSauceCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#PastaWithNonSpicyRedSauce" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithNonSpicyRedSauce">
+    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
+    <owl:disjointWith rdf:resource="#PastaWithSpicyRedSauce" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithLightCreamSauce">
+    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
+    <owl:disjointWith rdf:resource="#PastaWithHeavyCreamSauce" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithLightCreamCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#PastaWithLightCreamSauce" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Light" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Delicate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithHeavyCreamSauce">
+    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="PastaWithHeavyCreamCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#PastaWithHeavyCreamSauce" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="OysterShellfishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#OysterShellfish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Sweet" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="OysterShellfish">
+    <rdfs:subClassOf rdf:resource="#Shellfish" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="OtherTomatoBasedFoodCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#OtherTomatoBasedFood" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="OtherTomatoBasedFood">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Pasta" />
+    <owl:disjointWith rdf:resource="#Meat" />
+    <owl:disjointWith rdf:resource="#Fowl" />
+    <owl:disjointWith rdf:resource="#Seafood" />
+    <owl:disjointWith rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonSweetFruitCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#NonSweetFruit" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Delicate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#OffDry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="SweetFruitCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#SweetFruit" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Sweet" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <!-- changed so that Fruit can be unionOf 
+  <owl:Class rdf:ID="NonSweetFruit">
+    <rdfs:subClassOf rdf:resource="#Fruit" />
+    <owl:disjointWith rdf:resource="#SweetFruit" />
+  </owl:Class>
+  -->
+  
+  <owl:Class rdf:ID="NonSweetFruit">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#SweetFruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonSpicyRedMeatCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#NonSpicyRedMeat" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:allValuesFrom>
+              <owl:Class>
+                <owl:oneOf rdf:parseType="Collection">
+                  <owl:Thing rdf:about="#Strong" />
+                  <owl:Thing rdf:about="#Moderate" />
+                </owl:oneOf>
+              </owl:Class>
+            </owl:allValuesFrom>
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonSpicyRedMeat">
+    <rdfs:subClassOf rdf:resource="#RedMeat" />
+    <owl:disjointWith rdf:resource="#SpicyRedMeat" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonRedMeatCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#NonRedMeat" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Strong" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonRedMeat">
+    <rdfs:subClassOf rdf:resource="#Meat" />
+    <owl:disjointWith rdf:resource="#RedMeat" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonOysterShellfishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#NonOysterShellfish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonOysterShellfish">
+    <rdfs:subClassOf rdf:resource="#Shellfish" />
+    <owl:disjointWith rdf:resource="#OysterShellfish" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonBlandFishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#NonBlandFish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="NonBlandFish">
+    <rdfs:subClassOf rdf:resource="#Fish" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Meat">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Fowl" />
+    <owl:disjointWith rdf:resource="#Seafood" />
+    <owl:disjointWith rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="MealCourse">
+    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom rdf:resource="#Wine" />
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <owl:disjointWith rdf:resource="#PotableLiquid" />
+    <owl:disjointWith rdf:resource="#EdibleThing" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Meal">
+    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#course" />
+        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#course" />
+        <owl:allValuesFrom rdf:resource="#MealCourse" />
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <owl:disjointWith rdf:resource="#MealCourse" />
+    <owl:disjointWith rdf:resource="#PotableLiquid" />
+    <owl:disjointWith rdf:resource="#EdibleThing" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="LightMeatFowlCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#LightMeatFowl" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Moderate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="LightMeatFowl">
+    <rdfs:subClassOf rdf:resource="#Fowl" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="FruitCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#Fruit" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <!--- Replaced so that we have a unionOf construct
+        Aug 20 02 MKS, suggestion by R. Volz.  
+
+  <owl:Class rdf:ID="Fruit">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+  </owl:Class>
+
+  --> 
+  
+  <owl:Class rdf:ID="Fruit">
+    <owl:unionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#SweetFruit" />
+      <owl:Class rdf:about="#NonSweetFruit" />
+    </owl:unionOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Fowl">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Seafood" />
+    <owl:disjointWith rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="FishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#Fish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Medium" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="DessertCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#Dessert" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Full" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Strong" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Sweet" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Dessert">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <!-- changed so that Fruit can be unionOf 
+  <owl:Class rdf:ID="SweetFruit">
+    <rdfs:subClassOf rdf:resource="#Fruit" />
+  </owl:Class>
+  -->
+  <owl:Class rdf:ID="SweetFruit">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="SweetDessertCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#SweetDessert" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="SweetDessert">
+    <rdfs:subClassOf rdf:resource="#Dessert" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="DarkMeatFowlCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#DarkMeatFowl" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Light" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Delicate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasSugar" />
+            <owl:hasValue rdf:resource="#Dry" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="DarkMeatFowl">
+    <rdfs:subClassOf rdf:resource="#Fowl" />
+    <owl:disjointWith rdf:resource="#LightMeatFowl" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="CheeseNutsDessertCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#CheeseNutsDessert" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="CheeseNutsDessert">
+    <rdfs:subClassOf rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#SweetDessert" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="BlandFishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#BlandFish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:hasValue rdf:resource="#Delicate" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="BlandFish">
+    <rdfs:subClassOf rdf:resource="#Fish" />
+    <owl:disjointWith rdf:resource="#NonBlandFish" />
+  </owl:Class>
+  
+  <owl:ObjectProperty rdf:ID="hasFood">
+    <rdfs:domain rdf:resource="#MealCourse" />
+    <rdfs:range rdf:resource="#EdibleThing" />
+  </owl:ObjectProperty>
+  
+  <owl:Class rdf:ID="Fish">
+    <rdfs:subClassOf rdf:resource="#Seafood" />
+    <owl:disjointWith rdf:resource="#Shellfish" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="SpicyRedMeat">
+    <rdfs:subClassOf rdf:resource="#RedMeat" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="ShellfishCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#Shellfish" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasFlavor" />
+            <owl:allValuesFrom>
+              <owl:Class>
+                <owl:oneOf rdf:parseType="Collection">
+                  <owl:Thing rdf:about="#Moderate" />
+                  <owl:Thing rdf:about="#Strong" />
+                </owl:oneOf>
+              </owl:Class>
+            </owl:allValuesFrom>
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasBody" />
+            <owl:hasValue rdf:resource="#Full" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Shellfish">
+    <rdfs:subClassOf rdf:resource="#Seafood" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="SeafoodCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#Seafood" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#White" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="Seafood">
+    <rdfs:subClassOf rdf:resource="#EdibleThing" />
+    <owl:disjointWith rdf:resource="#Dessert" />
+    <owl:disjointWith rdf:resource="#Fruit" />
+  </owl:Class>
+  
+  <owl:Class rdf:ID="RedMeatCourse">
+    <owl:intersectionOf rdf:parseType="Collection">
+      <owl:Class rdf:about="#MealCourse" />
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasFood" />
+        <owl:allValuesFrom rdf:resource="#RedMeat" />
+      </owl:Restriction>
+    </owl:intersectionOf>
+    <rdfs:subClassOf>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="#hasDrink" />
+        <owl:allValuesFrom>
+          <owl:Restriction>
+            <owl:onProperty rdf:resource="&vin;hasColor" />
+            <owl:hasValue rdf:resource="#Red" />
+          </owl:Restriction>
+        </owl:allValuesFrom>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </owl:Class>
+  
+  <owl:Class rdf:ID="RedMeat">
+    <rdfs:subClassOf rdf:resource="#Meat" />
+  </owl:Class>
+  
+  <SweetDessert rdf:ID="Cake" />
+  
+  <SweetFruit rdf:ID="Bananas" />
+  
+  <SweetFruit rdf:ID="MixedFruit" />
+  
+  <NonOysterShellfish rdf:ID="Mussels" />
+  
+  <CheeseNutsDessert rdf:ID="Nuts" />
+  
+  <OysterShellfish rdf:ID="Oysters" />
+  
+  <PastaWithLightCreamSauce rdf:ID="PastaWithWhiteClamSauce" />
+  
+  <SweetFruit rdf:ID="Peaches" />
+  
+  <SweetDessert rdf:ID="Pie" />
+  
+  <OtherTomatoBasedFood rdf:ID="Pizza" />
+  
+  <NonRedMeat rdf:ID="Pork" />
+  
+  <NonSpicyRedMeat rdf:ID="Roast

<TRUNCATED>

[19/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableArrayImplTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableArrayImplTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableArrayImplTest.java
index ba1ca2d..fe5fa55 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableArrayImplTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableArrayImplTest.java
@@ -1,84 +1,84 @@
-/*
- * 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.propertytable.impl;
-
-import org.apache.jena.propertytable.AbstractPropertyTableTest;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests for PropertyTableArrayImpl
- *
- */
-public class PropertyTableArrayImplTest extends AbstractPropertyTableTest{
-	
-	private static int rowNum = 10;
-	private static int columnNum = 10 ;
-	
-	@Before
-	public void setUp() {
-		table = new PropertyTableArrayImpl(rowNum, columnNum);
-		table2 = new PropertyTableArrayImpl(rowNum, columnNum);
-		row = table.createRow(rowSubject);
-
-	}
-
-	@After
-	public void tearDown() {
-		table = null;
-		table2 = null;
-		row = null;
-	}
-	
-	@Test
-	public void testColumnOutofBounds1() {
-		for (int i=0;i<columnNum;i++){
-			table.createColumn(URI("something_"+i));
-		}
-		Assert.assertEquals(columnNum, table.getColumns().size());
-	}
-	
-	@Test(expected = IllegalArgumentException.class)
-	public void testColumnOutofBounds2() {
-		for (int i=0;i<columnNum+1;i++){
-			table.createColumn(URI("something_"+i));
-		}
-	}
-	
-	@Test
-	public void testRowOutofBounds1() {
-		
-		// we've already created a new Row in @Before
-		for (int i=0;i<rowNum-1;i++){
-			table.createRow(URI("something_"+i));
-		}
-		Assert.assertEquals(rowNum, table.getAllRows().size());
-	}
-	
-	@Test(expected = IllegalArgumentException.class)
-	public void testRowOutofBounds2() {
-		
-		// we've already created a new Row in @Before
-		for (int i=0;i<rowNum;i++){
-			table.createRow(URI("something_"+i));
-		}
-	}
-}
+/*
+ * 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.propertytable.impl;
+
+import org.apache.jena.propertytable.AbstractPropertyTableTest;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests for PropertyTableArrayImpl
+ *
+ */
+public class PropertyTableArrayImplTest extends AbstractPropertyTableTest{
+	
+	private static int rowNum = 10;
+	private static int columnNum = 10 ;
+	
+	@Before
+	public void setUp() {
+		table = new PropertyTableArrayImpl(rowNum, columnNum);
+		table2 = new PropertyTableArrayImpl(rowNum, columnNum);
+		row = table.createRow(rowSubject);
+
+	}
+
+	@After
+	public void tearDown() {
+		table = null;
+		table2 = null;
+		row = null;
+	}
+	
+	@Test
+	public void testColumnOutofBounds1() {
+		for (int i=0;i<columnNum;i++){
+			table.createColumn(URI("something_"+i));
+		}
+		Assert.assertEquals(columnNum, table.getColumns().size());
+	}
+	
+	@Test(expected = IllegalArgumentException.class)
+	public void testColumnOutofBounds2() {
+		for (int i=0;i<columnNum+1;i++){
+			table.createColumn(URI("something_"+i));
+		}
+	}
+	
+	@Test
+	public void testRowOutofBounds1() {
+		
+		// we've already created a new Row in @Before
+		for (int i=0;i<rowNum-1;i++){
+			table.createRow(URI("something_"+i));
+		}
+		Assert.assertEquals(rowNum, table.getAllRows().size());
+	}
+	
+	@Test(expected = IllegalArgumentException.class)
+	public void testRowOutofBounds2() {
+		
+		// we've already created a new Row in @Before
+		for (int i=0;i<rowNum;i++){
+			table.createRow(URI("something_"+i));
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForArrayImplTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForArrayImplTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForArrayImplTest.java
index 7b7e0c8..8021678 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForArrayImplTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForArrayImplTest.java
@@ -1,39 +1,39 @@
-/*
- * 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.propertytable.impl;
-
-import org.junit.After;
-import org.junit.Before;
-
-public class PropertyTableBuilderForArrayImplTest extends AbstractPropertyTableBuilderTest{
-	
-	private static int rowNum = 10;
-	private static int columnNum = 10 ;
-	
-	@Before
-	public void setUp() {
-		table = new PropertyTableArrayImpl(rowNum, columnNum);
-	}
-
-	@After
-	public void tearDown() {
-		table = null;
-	}
-
-}
+/*
+ * 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.propertytable.impl;
+
+import org.junit.After;
+import org.junit.Before;
+
+public class PropertyTableBuilderForArrayImplTest extends AbstractPropertyTableBuilderTest{
+	
+	private static int rowNum = 10;
+	private static int columnNum = 10 ;
+	
+	@Before
+	public void setUp() {
+		table = new PropertyTableArrayImpl(rowNum, columnNum);
+	}
+
+	@After
+	public void tearDown() {
+		table = null;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForHashMapImplTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForHashMapImplTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForHashMapImplTest.java
index f2768f5..8cd6cdc 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForHashMapImplTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableBuilderForHashMapImplTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.propertytable.impl;
-
-import org.junit.After;
-import org.junit.Before;
-
-public class PropertyTableBuilderForHashMapImplTest extends AbstractPropertyTableBuilderTest{
-	@Before
-	public void setUp() {
-		table = new PropertyTableHashMapImpl();
-	}
-
-	@After
-	public void tearDown() {
-		table = null;
-	}
-}
+/*
+ * 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.propertytable.impl;
+
+import org.junit.After;
+import org.junit.Before;
+
+public class PropertyTableBuilderForHashMapImplTest extends AbstractPropertyTableBuilderTest{
+	@Before
+	public void setUp() {
+		table = new PropertyTableHashMapImpl();
+	}
+
+	@After
+	public void tearDown() {
+		table = null;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImplTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImplTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImplTest.java
index 33d95ae..68f87cf 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImplTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImplTest.java
@@ -1,46 +1,46 @@
-/*
- * 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.propertytable.impl;
-
-import org.apache.jena.propertytable.AbstractPropertyTableTest;
-import org.junit.After;
-import org.junit.Before;
-
-/**
- * Tests for PropertyTableHashMapImpl
- *
- */
-public class PropertyTableHashMapImplTest extends AbstractPropertyTableTest{
-	
-	@Before
-	public void setUp() {
-		table = new PropertyTableHashMapImpl();
-		table2 = new PropertyTableHashMapImpl();
-		row = table.createRow(rowSubject);
-
-	}
-
-	@After
-	public void tearDown() {
-		table = null;
-		table2 = null;
-		row = null;
-	}
-
-}
+/*
+ * 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.propertytable.impl;
+
+import org.apache.jena.propertytable.AbstractPropertyTableTest;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * Tests for PropertyTableHashMapImpl
+ *
+ */
+public class PropertyTableHashMapImplTest extends AbstractPropertyTableTest{
+	
+	@Before
+	public void setUp() {
+		table = new PropertyTableHashMapImpl();
+		table2 = new PropertyTableHashMapImpl();
+		row = table.createRow(rowSubject);
+
+	}
+
+	@After
+	public void tearDown() {
+		table = null;
+		table2 = null;
+		row = null;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/AbstractNodeTupleWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/AbstractNodeTupleWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/AbstractNodeTupleWritable.java
index 4449cc7..c9750f2 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/AbstractNodeTupleWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/AbstractNodeTupleWritable.java
@@ -1,194 +1,194 @@
-/*
- * 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.hadoop.rdf.types;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.WritableComparable;
-import org.apache.hadoop.io.WritableUtils;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.util.NodeUtils ;
-
-/**
- * A abstract general purpose writable where the actual class represented is
- * composed of a number of {@link Node} instances
- * <p>
- * The binary encoding of this base implementation is just a variable integer
- * indicating the number of nodes present followed by the binary encodings of
- * the {@link NodeWritable} instances. Derived implementations may wish to
- * override the {@link #readFields(DataInput)} and {@link #write(DataOutput)}
- * methods in order to use more specialised encodings.
- * </p>
- * 
- * @param <T>
- *            Tuple type
- */
-public abstract class AbstractNodeTupleWritable<T> implements WritableComparable<AbstractNodeTupleWritable<T>> {
-
-    private T tuple;
-
-    /**
-     * Creates a new empty instance
-     */
-    protected AbstractNodeTupleWritable() {
-        this(null);
-    }
-
-    /**
-     * Creates a new instance with the given value
-     * 
-     * @param tuple
-     *            Tuple value
-     */
-    protected AbstractNodeTupleWritable(T tuple) {
-        this.tuple = tuple;
-    }
-
-    /**
-     * Gets the tuple
-     * 
-     * @return Tuple
-     */
-    public T get() {
-        return this.tuple;
-    }
-
-    /**
-     * Sets the tuple
-     * 
-     * @param tuple
-     *            Tuple
-     */
-    public void set(T tuple) {
-        this.tuple = tuple;
-    }
-
-    @Override
-    public void readFields(DataInput input) throws IOException {
-        // Determine how many nodes
-        int size = WritableUtils.readVInt(input);
-        Node[] ns = new Node[size];
-
-        NodeWritable nw = new NodeWritable();
-        for (int i = 0; i < ns.length; i++) {
-            nw.readFields(input);
-            ns[i] = nw.get();
-        }
-
-        // Load the tuple
-        this.tuple = this.createTuple(ns);
-    }
-
-    /**
-     * Creates the actual tuple type from an array of nodes
-     * 
-     * @param ns
-     *            Nodes
-     * @return Tuple
-     */
-    protected abstract T createTuple(Node[] ns);
-
-    @Override
-    public void write(DataOutput output) throws IOException {
-        // Determine how many nodes
-        Node[] ns = this.createNodes(this.tuple);
-        WritableUtils.writeVInt(output, ns.length);
-
-        // Write out nodes
-        NodeWritable nw = new NodeWritable();
-        for (int i = 0; i < ns.length; i++) {
-            nw.set(ns[i]);
-            nw.write(output);
-        }
-    }
-
-    /**
-     * Sets the tuple value
-     * <p>
-     * Intended only for internal use i.e. when a derived implementation
-     * overrides {@link #readFields(DataInput)} and needs to set the tuple value
-     * directly i.e. when a derived implementation is using a custom encoding
-     * scheme
-     * </p>
-     * 
-     * @param tuple
-     *            Tuple
-     */
-    protected final void setInternal(T tuple) {
-        this.tuple = tuple;
-    }
-
-    /**
-     * Converts the actual tuple type into an array of nodes
-     * 
-     * @param tuple
-     *            Tuples
-     * @return Nodes
-     */
-    protected abstract Node[] createNodes(T tuple);
-
-    /**
-     * Compares instances node by node
-     * <p>
-     * Derived implementations may wish to override this and substitute native
-     * tuple based comparisons
-     * </p>
-     * 
-     * @param other
-     *            Instance to compare with
-     */
-    @Override
-    public int compareTo(AbstractNodeTupleWritable<T> other) {
-        Node[] ns = this.createNodes(this.tuple);
-        Node[] otherNs = this.createNodes(other.tuple);
-
-        if (ns.length < otherNs.length) {
-            return -1;
-        } else if (ns.length > otherNs.length) {
-            return 1;
-        }
-        // Compare node by node
-        for (int i = 0; i < ns.length; i++) {
-            int c = NodeUtils.compareRDFTerms(ns[i], otherNs[i]);
-            if (c != 0)
-                return c;
-        }
-        return 0;
-    }
-
-    @Override
-    public String toString() {
-        return this.get().toString();
-    }
-
-    @Override
-    public int hashCode() {
-        return this.get().hashCode();
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public boolean equals(Object other) {
-        if (!(other instanceof AbstractNodeTupleWritable))
-            return false;
-        return this.compareTo((AbstractNodeTupleWritable<T>) other) == 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.hadoop.rdf.types;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+import org.apache.hadoop.io.WritableUtils;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.sparql.util.NodeUtils ;
+
+/**
+ * A abstract general purpose writable where the actual class represented is
+ * composed of a number of {@link Node} instances
+ * <p>
+ * The binary encoding of this base implementation is just a variable integer
+ * indicating the number of nodes present followed by the binary encodings of
+ * the {@link NodeWritable} instances. Derived implementations may wish to
+ * override the {@link #readFields(DataInput)} and {@link #write(DataOutput)}
+ * methods in order to use more specialised encodings.
+ * </p>
+ * 
+ * @param <T>
+ *            Tuple type
+ */
+public abstract class AbstractNodeTupleWritable<T> implements WritableComparable<AbstractNodeTupleWritable<T>> {
+
+    private T tuple;
+
+    /**
+     * Creates a new empty instance
+     */
+    protected AbstractNodeTupleWritable() {
+        this(null);
+    }
+
+    /**
+     * Creates a new instance with the given value
+     * 
+     * @param tuple
+     *            Tuple value
+     */
+    protected AbstractNodeTupleWritable(T tuple) {
+        this.tuple = tuple;
+    }
+
+    /**
+     * Gets the tuple
+     * 
+     * @return Tuple
+     */
+    public T get() {
+        return this.tuple;
+    }
+
+    /**
+     * Sets the tuple
+     * 
+     * @param tuple
+     *            Tuple
+     */
+    public void set(T tuple) {
+        this.tuple = tuple;
+    }
+
+    @Override
+    public void readFields(DataInput input) throws IOException {
+        // Determine how many nodes
+        int size = WritableUtils.readVInt(input);
+        Node[] ns = new Node[size];
+
+        NodeWritable nw = new NodeWritable();
+        for (int i = 0; i < ns.length; i++) {
+            nw.readFields(input);
+            ns[i] = nw.get();
+        }
+
+        // Load the tuple
+        this.tuple = this.createTuple(ns);
+    }
+
+    /**
+     * Creates the actual tuple type from an array of nodes
+     * 
+     * @param ns
+     *            Nodes
+     * @return Tuple
+     */
+    protected abstract T createTuple(Node[] ns);
+
+    @Override
+    public void write(DataOutput output) throws IOException {
+        // Determine how many nodes
+        Node[] ns = this.createNodes(this.tuple);
+        WritableUtils.writeVInt(output, ns.length);
+
+        // Write out nodes
+        NodeWritable nw = new NodeWritable();
+        for (int i = 0; i < ns.length; i++) {
+            nw.set(ns[i]);
+            nw.write(output);
+        }
+    }
+
+    /**
+     * Sets the tuple value
+     * <p>
+     * Intended only for internal use i.e. when a derived implementation
+     * overrides {@link #readFields(DataInput)} and needs to set the tuple value
+     * directly i.e. when a derived implementation is using a custom encoding
+     * scheme
+     * </p>
+     * 
+     * @param tuple
+     *            Tuple
+     */
+    protected final void setInternal(T tuple) {
+        this.tuple = tuple;
+    }
+
+    /**
+     * Converts the actual tuple type into an array of nodes
+     * 
+     * @param tuple
+     *            Tuples
+     * @return Nodes
+     */
+    protected abstract Node[] createNodes(T tuple);
+
+    /**
+     * Compares instances node by node
+     * <p>
+     * Derived implementations may wish to override this and substitute native
+     * tuple based comparisons
+     * </p>
+     * 
+     * @param other
+     *            Instance to compare with
+     */
+    @Override
+    public int compareTo(AbstractNodeTupleWritable<T> other) {
+        Node[] ns = this.createNodes(this.tuple);
+        Node[] otherNs = this.createNodes(other.tuple);
+
+        if (ns.length < otherNs.length) {
+            return -1;
+        } else if (ns.length > otherNs.length) {
+            return 1;
+        }
+        // Compare node by node
+        for (int i = 0; i < ns.length; i++) {
+            int c = NodeUtils.compareRDFTerms(ns[i], otherNs[i]);
+            if (c != 0)
+                return c;
+        }
+        return 0;
+    }
+
+    @Override
+    public String toString() {
+        return this.get().toString();
+    }
+
+    @Override
+    public int hashCode() {
+        return this.get().hashCode();
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public boolean equals(Object other) {
+        if (!(other instanceof AbstractNodeTupleWritable))
+            return false;
+        return this.compareTo((AbstractNodeTupleWritable<T>) other) == 0;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicSetWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicSetWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicSetWritable.java
index 4a29ec4..39599fa 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicSetWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicSetWritable.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.types;
 
 import java.io.DataInput;
@@ -24,12 +24,12 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.TreeMap;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.io.WritableUtils;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
 
 /**
  * Represents a characteristic set which is comprised of a count of nodes for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicWritable.java
index cfb9606..9fc8a08 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/CharacteristicWritable.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.types;
 
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.WritableComparable;
-import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Node ;
 
 /**
  * Represents a characteristic for a single node and contains the node and a

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
index 9bf7309..d65860b 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.types;
 
-import java.io.DataInput;
-import java.io.IOException;
-
-import org.apache.jena.atlas.lib.tuple.Tuple ;
-import org.apache.jena.atlas.lib.tuple.TupleFactory ;
-import org.apache.jena.graph.Node ;
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
+import org.apache.jena.graph.Node ;
 
 /**
  * A writable RDF tuple
@@ -75,9 +75,9 @@ public class NodeTupleWritable extends AbstractNodeTupleWritable<Tuple<Node>> {
     }
 
     @Override
-    protected Node[] createNodes(Tuple<Node> tuple) {
+    protected Node[] createNodes(Tuple<Node> tuple) {
         Node n[] = new Node[tuple.len()] ;
-        tuple.copyInto(n);
+        tuple.copyInto(n);
         return n ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeWritable.java
index 2316ae9..7b21b26 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeWritable.java
@@ -1,188 +1,188 @@
-/*
- * 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.hadoop.rdf.types;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.WritableComparable;
-import org.apache.hadoop.io.WritableComparator;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
-import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
-import org.apache.jena.riot.thrift.TRDF;
-import org.apache.jena.riot.thrift.ThriftConvert;
-import org.apache.jena.riot.thrift.wire.RDF_Term;
-import org.apache.jena.sparql.util.NodeUtils ;
-import org.apache.thrift.TException;
-
-/**
- * A writable for {@link Node} instances
- * <p>
- * This uses <a
- * href="http://afs.github.io/rdf-thrift/rdf-binary-thrift.html">RDF Thrift</a>
- * for the binary encoding of terms. The in-memory storage for this type is both
- * a {@link Node} and a {@link RDF_Term} with lazy conversion between the two
- * forms as necessary.
- * </p>
- */
-public class NodeWritable implements WritableComparable<NodeWritable> {
-
-    static {
-        WritableComparator.define(NodeWritable.class, new SimpleBinaryComparator());
-    }
-
-    private Node node;
-    private RDF_Term term = new RDF_Term();
-
-    /**
-     * Creates an empty writable
-     */
-    public NodeWritable() {
-        this(null);
-    }
-
-    /**
-     * Creates a new instance from the given input
-     * 
-     * @param input
-     *            Input
-     * @return New instance
-     * @throws IOException
-     */
-    public static NodeWritable read(DataInput input) throws IOException {
-        NodeWritable nw = new NodeWritable();
-        nw.readFields(input);
-        return nw;
-    }
-
-    /**
-     * Creates a new writable with the given value
-     * 
-     * @param n
-     *            Node
-     */
-    public NodeWritable(Node n) {
-        this.set(n);
-    }
-
-    /**
-     * Gets the node
-     * 
-     * @return Node
-     */
-    public Node get() {
-        // We may not have yet loaded the node
-        if (this.node == null) {
-            // If term is set to undefined then node is supposed to be null
-            if (this.term.isSet() && !this.term.isSetUndefined()) {
-                this.node = ThriftConvert.convert(this.term);
-            }
-        }
-        return this.node;
-    }
-
-    /**
-     * Sets the node
-     * 
-     * @param n
-     *            Node
-     */
-    public void set(Node n) {
-        this.node = n;
-        // Clear the term for now
-        // We only convert the Node to a term as and when we want to write it
-        // out in order to not waste effort if the value is never written out
-        this.term.clear();
-    }
-
-    @Override
-    public void readFields(DataInput input) throws IOException {
-        // Clear previous value
-        this.node = null;
-        this.term.clear();
-
-        // Read in the new value
-        int termLength = input.readInt();
-        byte[] buffer = new byte[termLength];
-        input.readFully(buffer);
-        try {
-            ThriftConverter.fromBytes(buffer, this.term);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-
-        // Note that we don't convert it back into a Node at this time
-    }
-
-    @Override
-    public void write(DataOutput output) throws IOException {
-        // May not yet have prepared the Thrift term
-        if (!this.term.isSet()) {
-            if (this.node == null) {
-                this.term.setUndefined(TRDF.UNDEF);
-            } else {
-                ThriftConvert.toThrift(this.node, null, this.term, false);
-            }
-        }
-
-        // Write out the Thrift term
-        byte[] buffer;
-        try {
-            buffer = ThriftConverter.toBytes(this.term);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-        output.writeInt(buffer.length);
-        output.write(buffer);
-    }
-
-    @Override
-    public int compareTo(NodeWritable other) {
-        // Use get() rather than accessing the field directly because the node
-        // field is lazily instantiated from the Thrift term
-        return NodeUtils.compareRDFTerms(this.get(), other.get());
-    }
-
-    @Override
-    public String toString() {
-        // Use get() rather than accessing the field directly because the node
-        // field is lazily instantiated from the Thrift term
-        Node n = this.get();
-        if (n == null)
-            return "";
-        return n.toString();
-    }
-
-    @Override
-    public int hashCode() {
-        // Use get() rather than accessing the field directly because the node
-        // field is lazily instantiated from the Thrift term
-        Node n = this.get();
-        return n != null ? this.get().hashCode() : 0;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (!(other instanceof NodeWritable))
-            return false;
-        return this.compareTo((NodeWritable) other) == 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.hadoop.rdf.types;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparable;
+import org.apache.hadoop.io.WritableComparator;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
+import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
+import org.apache.jena.riot.thrift.TRDF;
+import org.apache.jena.riot.thrift.ThriftConvert;
+import org.apache.jena.riot.thrift.wire.RDF_Term;
+import org.apache.jena.sparql.util.NodeUtils ;
+import org.apache.thrift.TException;
+
+/**
+ * A writable for {@link Node} instances
+ * <p>
+ * This uses <a
+ * href="http://afs.github.io/rdf-thrift/rdf-binary-thrift.html">RDF Thrift</a>
+ * for the binary encoding of terms. The in-memory storage for this type is both
+ * a {@link Node} and a {@link RDF_Term} with lazy conversion between the two
+ * forms as necessary.
+ * </p>
+ */
+public class NodeWritable implements WritableComparable<NodeWritable> {
+
+    static {
+        WritableComparator.define(NodeWritable.class, new SimpleBinaryComparator());
+    }
+
+    private Node node;
+    private RDF_Term term = new RDF_Term();
+
+    /**
+     * Creates an empty writable
+     */
+    public NodeWritable() {
+        this(null);
+    }
+
+    /**
+     * Creates a new instance from the given input
+     * 
+     * @param input
+     *            Input
+     * @return New instance
+     * @throws IOException
+     */
+    public static NodeWritable read(DataInput input) throws IOException {
+        NodeWritable nw = new NodeWritable();
+        nw.readFields(input);
+        return nw;
+    }
+
+    /**
+     * Creates a new writable with the given value
+     * 
+     * @param n
+     *            Node
+     */
+    public NodeWritable(Node n) {
+        this.set(n);
+    }
+
+    /**
+     * Gets the node
+     * 
+     * @return Node
+     */
+    public Node get() {
+        // We may not have yet loaded the node
+        if (this.node == null) {
+            // If term is set to undefined then node is supposed to be null
+            if (this.term.isSet() && !this.term.isSetUndefined()) {
+                this.node = ThriftConvert.convert(this.term);
+            }
+        }
+        return this.node;
+    }
+
+    /**
+     * Sets the node
+     * 
+     * @param n
+     *            Node
+     */
+    public void set(Node n) {
+        this.node = n;
+        // Clear the term for now
+        // We only convert the Node to a term as and when we want to write it
+        // out in order to not waste effort if the value is never written out
+        this.term.clear();
+    }
+
+    @Override
+    public void readFields(DataInput input) throws IOException {
+        // Clear previous value
+        this.node = null;
+        this.term.clear();
+
+        // Read in the new value
+        int termLength = input.readInt();
+        byte[] buffer = new byte[termLength];
+        input.readFully(buffer);
+        try {
+            ThriftConverter.fromBytes(buffer, this.term);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+
+        // Note that we don't convert it back into a Node at this time
+    }
+
+    @Override
+    public void write(DataOutput output) throws IOException {
+        // May not yet have prepared the Thrift term
+        if (!this.term.isSet()) {
+            if (this.node == null) {
+                this.term.setUndefined(TRDF.UNDEF);
+            } else {
+                ThriftConvert.toThrift(this.node, null, this.term, false);
+            }
+        }
+
+        // Write out the Thrift term
+        byte[] buffer;
+        try {
+            buffer = ThriftConverter.toBytes(this.term);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+        output.writeInt(buffer.length);
+        output.write(buffer);
+    }
+
+    @Override
+    public int compareTo(NodeWritable other) {
+        // Use get() rather than accessing the field directly because the node
+        // field is lazily instantiated from the Thrift term
+        return NodeUtils.compareRDFTerms(this.get(), other.get());
+    }
+
+    @Override
+    public String toString() {
+        // Use get() rather than accessing the field directly because the node
+        // field is lazily instantiated from the Thrift term
+        Node n = this.get();
+        if (n == null)
+            return "";
+        return n.toString();
+    }
+
+    @Override
+    public int hashCode() {
+        // Use get() rather than accessing the field directly because the node
+        // field is lazily instantiated from the Thrift term
+        Node n = this.get();
+        return n != null ? this.get().hashCode() : 0;
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (!(other instanceof NodeWritable))
+            return false;
+        return this.compareTo((NodeWritable) other) == 0;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/QuadWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/QuadWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/QuadWritable.java
index e862c04..31f9645 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/QuadWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/QuadWritable.java
@@ -1,135 +1,135 @@
-/*
- * 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.hadoop.rdf.types;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.WritableComparator;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
-import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
-import org.apache.jena.riot.thrift.ThriftConvert;
-import org.apache.jena.riot.thrift.wire.RDF_Quad;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.thrift.TException;
-
-/**
- * A writable quad
- */
-public class QuadWritable extends AbstractNodeTupleWritable<Quad> {
-
-    static {
-        WritableComparator.define(QuadWritable.class, new SimpleBinaryComparator());
-    }
-
-    private RDF_Quad quad = new RDF_Quad();
-
-    /**
-     * Creates a new empty instance
-     */
-    public QuadWritable() {
-        this(null);
-    }
-
-    /**
-     * Creates a new instance with the given value
-     * 
-     * @param q
-     *            Quad
-     */
-    public QuadWritable(Quad q) {
-        super(q);
-    }
-
-    /**
-     * Creates a new instance from the given input
-     * 
-     * @param input
-     *            Input
-     * @return New instance
-     * @throws IOException
-     */
-    public static QuadWritable read(DataInput input) throws IOException {
-        QuadWritable q = new QuadWritable();
-        q.readFields(input);
-        return q;
-    }
-
-    @Override
-    public void set(Quad tuple) {
-        super.set(tuple);
-        this.quad.clear();
-    }
-
-    @Override
-    public void readFields(DataInput input) throws IOException {
-        this.quad.clear();
-        int tripleLength = input.readInt();
-        byte[] buffer = new byte[tripleLength];
-        input.readFully(buffer);
-        try {
-            ThriftConverter.fromBytes(buffer, this.quad);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-        this.setInternal(new Quad(ThriftConvert.convert(this.quad.getG()), ThriftConvert.convert(this.quad.getS()),
-                ThriftConvert.convert(this.quad.getP()), ThriftConvert.convert(this.quad.getO())));
-    }
-
-    @Override
-    public void write(DataOutput output) throws IOException {
-        if (this.get() == null)
-            throw new IOException(
-                    "Null quads cannot be written using this class, consider using NodeTupleWritable instead");
-
-        // May not have yet prepared the Thrift triple
-        if (!this.quad.isSetS()) {
-            Quad tuple = this.get();
-            this.quad.setG(ThriftConvert.convert(tuple.getGraph(), false));
-            this.quad.setS(ThriftConvert.convert(tuple.getSubject(), false));
-            this.quad.setP(ThriftConvert.convert(tuple.getPredicate(), false));
-            this.quad.setO(ThriftConvert.convert(tuple.getObject(), false));
-        }
-
-        byte[] buffer;
-        try {
-            buffer = ThriftConverter.toBytes(this.quad);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-        output.writeInt(buffer.length);
-        output.write(buffer);
-    }
-
-    @Override
-    protected Quad createTuple(Node[] ns) {
-        if (ns.length != 4)
-            throw new IllegalArgumentException(String.format(
-                    "Incorrect number of nodes to form a quad - got %d but expected 4", ns.length));
-        return new Quad(ns[0], ns[1], ns[2], ns[3]);
-    }
-
-    @Override
-    protected Node[] createNodes(Quad tuple) {
-        return new Node[] { tuple.getGraph(), tuple.getSubject(), tuple.getPredicate(), tuple.getObject() };
-    }
-
-}
+/*
+ * 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.hadoop.rdf.types;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparator;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
+import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
+import org.apache.jena.riot.thrift.ThriftConvert;
+import org.apache.jena.riot.thrift.wire.RDF_Quad;
+import org.apache.jena.sparql.core.Quad ;
+import org.apache.thrift.TException;
+
+/**
+ * A writable quad
+ */
+public class QuadWritable extends AbstractNodeTupleWritable<Quad> {
+
+    static {
+        WritableComparator.define(QuadWritable.class, new SimpleBinaryComparator());
+    }
+
+    private RDF_Quad quad = new RDF_Quad();
+
+    /**
+     * Creates a new empty instance
+     */
+    public QuadWritable() {
+        this(null);
+    }
+
+    /**
+     * Creates a new instance with the given value
+     * 
+     * @param q
+     *            Quad
+     */
+    public QuadWritable(Quad q) {
+        super(q);
+    }
+
+    /**
+     * Creates a new instance from the given input
+     * 
+     * @param input
+     *            Input
+     * @return New instance
+     * @throws IOException
+     */
+    public static QuadWritable read(DataInput input) throws IOException {
+        QuadWritable q = new QuadWritable();
+        q.readFields(input);
+        return q;
+    }
+
+    @Override
+    public void set(Quad tuple) {
+        super.set(tuple);
+        this.quad.clear();
+    }
+
+    @Override
+    public void readFields(DataInput input) throws IOException {
+        this.quad.clear();
+        int tripleLength = input.readInt();
+        byte[] buffer = new byte[tripleLength];
+        input.readFully(buffer);
+        try {
+            ThriftConverter.fromBytes(buffer, this.quad);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+        this.setInternal(new Quad(ThriftConvert.convert(this.quad.getG()), ThriftConvert.convert(this.quad.getS()),
+                ThriftConvert.convert(this.quad.getP()), ThriftConvert.convert(this.quad.getO())));
+    }
+
+    @Override
+    public void write(DataOutput output) throws IOException {
+        if (this.get() == null)
+            throw new IOException(
+                    "Null quads cannot be written using this class, consider using NodeTupleWritable instead");
+
+        // May not have yet prepared the Thrift triple
+        if (!this.quad.isSetS()) {
+            Quad tuple = this.get();
+            this.quad.setG(ThriftConvert.convert(tuple.getGraph(), false));
+            this.quad.setS(ThriftConvert.convert(tuple.getSubject(), false));
+            this.quad.setP(ThriftConvert.convert(tuple.getPredicate(), false));
+            this.quad.setO(ThriftConvert.convert(tuple.getObject(), false));
+        }
+
+        byte[] buffer;
+        try {
+            buffer = ThriftConverter.toBytes(this.quad);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+        output.writeInt(buffer.length);
+        output.write(buffer);
+    }
+
+    @Override
+    protected Quad createTuple(Node[] ns) {
+        if (ns.length != 4)
+            throw new IllegalArgumentException(String.format(
+                    "Incorrect number of nodes to form a quad - got %d but expected 4", ns.length));
+        return new Quad(ns[0], ns[1], ns[2], ns[3]);
+    }
+
+    @Override
+    protected Node[] createNodes(Quad tuple) {
+        return new Node[] { tuple.getGraph(), tuple.getSubject(), tuple.getPredicate(), tuple.getObject() };
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/TripleWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/TripleWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/TripleWritable.java
index 2457bb7..ba81b66 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/TripleWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/TripleWritable.java
@@ -1,137 +1,137 @@
-/*
- * 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.hadoop.rdf.types;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.WritableComparator;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
-import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
-import org.apache.jena.riot.thrift.ThriftConvert;
-import org.apache.jena.riot.thrift.wire.RDF_Triple;
-import org.apache.thrift.TException;
-
-/**
- * A writable triple
- * 
- * 
- * 
- */
-public class TripleWritable extends AbstractNodeTupleWritable<Triple> {
-    
-    static {
-        WritableComparator.define(TripleWritable.class, new SimpleBinaryComparator());
-    }
-
-    private RDF_Triple triple = new RDF_Triple();
-
-    /**
-     * Creates a new instance using the default NTriples node formatter
-     */
-    public TripleWritable() {
-        this(null);
-    }
-
-    /**
-     * Creates a new instance with a given value that uses a specific node
-     * formatter
-     * 
-     * @param t
-     *            Triple
-     */
-    public TripleWritable(Triple t) {
-        super(t);
-    }
-
-    /**
-     * Creates a new instance from the given input
-     * 
-     * @param input
-     *            Input
-     * @return New instance
-     * @throws IOException
-     */
-    public static TripleWritable read(DataInput input) throws IOException {
-        TripleWritable t = new TripleWritable();
-        t.readFields(input);
-        return t;
-    }
-
-    @Override
-    public void set(Triple tuple) {
-        super.set(tuple);
-        this.triple.clear();
-    }
-
-    @Override
-    public void readFields(DataInput input) throws IOException {
-        this.triple.clear();
-        int tripleLength = input.readInt();
-        byte[] buffer = new byte[tripleLength];
-        input.readFully(buffer);
-        try {
-            ThriftConverter.fromBytes(buffer, this.triple);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-        this.setInternal(new Triple(ThriftConvert.convert(this.triple.getS()),
-                ThriftConvert.convert(this.triple.getP()), ThriftConvert.convert(this.triple.getO())));
-    }
-
-    @Override
-    public void write(DataOutput output) throws IOException {
-        if (this.get() == null)
-            throw new IOException(
-                    "Null triples cannot be written using this class, consider using NodeTupleWritable instead");
-        
-        // May not have yet prepared the Thrift triple
-        if (!this.triple.isSetS()) {
-            Triple tuple = this.get();
-            this.triple.setS(ThriftConvert.convert(tuple.getSubject(), false));
-            this.triple.setP(ThriftConvert.convert(tuple.getPredicate(), false));
-            this.triple.setO(ThriftConvert.convert(tuple.getObject(), false));
-        }
-
-        byte[] buffer;
-        try {
-            buffer = ThriftConverter.toBytes(this.triple);
-        } catch (TException e) {
-            throw new IOException(e);
-        }
-        output.writeInt(buffer.length);
-        output.write(buffer);
-    }
-
-    @Override
-    protected Triple createTuple(Node[] ns) {
-        if (ns.length != 3)
-            throw new IllegalArgumentException(String.format(
-                    "Incorrect number of nodes to form a triple - got %d but expected 3", ns.length));
-        return new Triple(ns[0], ns[1], ns[2]);
-    }
-
-    @Override
-    protected Node[] createNodes(Triple tuple) {
-        return new Node[] { tuple.getSubject(), tuple.getPredicate(), tuple.getObject() };
-    }
-}
+/*
+ * 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.hadoop.rdf.types;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.hadoop.io.WritableComparator;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.comparators.SimpleBinaryComparator;
+import org.apache.jena.hadoop.rdf.types.converters.ThriftConverter;
+import org.apache.jena.riot.thrift.ThriftConvert;
+import org.apache.jena.riot.thrift.wire.RDF_Triple;
+import org.apache.thrift.TException;
+
+/**
+ * A writable triple
+ * 
+ * 
+ * 
+ */
+public class TripleWritable extends AbstractNodeTupleWritable<Triple> {
+    
+    static {
+        WritableComparator.define(TripleWritable.class, new SimpleBinaryComparator());
+    }
+
+    private RDF_Triple triple = new RDF_Triple();
+
+    /**
+     * Creates a new instance using the default NTriples node formatter
+     */
+    public TripleWritable() {
+        this(null);
+    }
+
+    /**
+     * Creates a new instance with a given value that uses a specific node
+     * formatter
+     * 
+     * @param t
+     *            Triple
+     */
+    public TripleWritable(Triple t) {
+        super(t);
+    }
+
+    /**
+     * Creates a new instance from the given input
+     * 
+     * @param input
+     *            Input
+     * @return New instance
+     * @throws IOException
+     */
+    public static TripleWritable read(DataInput input) throws IOException {
+        TripleWritable t = new TripleWritable();
+        t.readFields(input);
+        return t;
+    }
+
+    @Override
+    public void set(Triple tuple) {
+        super.set(tuple);
+        this.triple.clear();
+    }
+
+    @Override
+    public void readFields(DataInput input) throws IOException {
+        this.triple.clear();
+        int tripleLength = input.readInt();
+        byte[] buffer = new byte[tripleLength];
+        input.readFully(buffer);
+        try {
+            ThriftConverter.fromBytes(buffer, this.triple);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+        this.setInternal(new Triple(ThriftConvert.convert(this.triple.getS()),
+                ThriftConvert.convert(this.triple.getP()), ThriftConvert.convert(this.triple.getO())));
+    }
+
+    @Override
+    public void write(DataOutput output) throws IOException {
+        if (this.get() == null)
+            throw new IOException(
+                    "Null triples cannot be written using this class, consider using NodeTupleWritable instead");
+        
+        // May not have yet prepared the Thrift triple
+        if (!this.triple.isSetS()) {
+            Triple tuple = this.get();
+            this.triple.setS(ThriftConvert.convert(tuple.getSubject(), false));
+            this.triple.setP(ThriftConvert.convert(tuple.getPredicate(), false));
+            this.triple.setO(ThriftConvert.convert(tuple.getObject(), false));
+        }
+
+        byte[] buffer;
+        try {
+            buffer = ThriftConverter.toBytes(this.triple);
+        } catch (TException e) {
+            throw new IOException(e);
+        }
+        output.writeInt(buffer.length);
+        output.write(buffer);
+    }
+
+    @Override
+    protected Triple createTuple(Node[] ns) {
+        if (ns.length != 3)
+            throw new IllegalArgumentException(String.format(
+                    "Incorrect number of nodes to form a triple - got %d but expected 3", ns.length));
+        return new Triple(ns[0], ns[1], ns[2]);
+    }
+
+    @Override
+    protected Node[] createNodes(Triple tuple) {
+        return new Node[] { tuple.getSubject(), tuple.getPredicate(), tuple.getObject() };
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/comparators/SimpleBinaryComparator.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/comparators/SimpleBinaryComparator.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/comparators/SimpleBinaryComparator.java
index 6c46714..cc2924d 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/comparators/SimpleBinaryComparator.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/comparators/SimpleBinaryComparator.java
@@ -1,34 +1,34 @@
-/*
- * 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.hadoop.rdf.types.comparators;
-
-import org.apache.hadoop.io.WritableComparator;
-
-/**
- * A general purpose comparator that may be used with any types which can be
- * compared directly on their binary encodings
- */
-public class SimpleBinaryComparator extends WritableComparator {
-
-    @Override
-    public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
-        return WritableComparator.compareBytes(b1, s1, l1, b2, s2, l2);
-    }
-
-}
+/*
+ * 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.hadoop.rdf.types.comparators;
+
+import org.apache.hadoop.io.WritableComparator;
+
+/**
+ * A general purpose comparator that may be used with any types which can be
+ * compared directly on their binary encodings
+ */
+public class SimpleBinaryComparator extends WritableComparator {
+
+    @Override
+    public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
+        return WritableComparator.compareBytes(b1, s1, l1, b2, s2, l2);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/CharacteristicTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/CharacteristicTests.java b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/CharacteristicTests.java
index aded8c4..5edff0f 100644
--- a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/CharacteristicTests.java
+++ b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/CharacteristicTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.types;
 
 import java.io.ByteArrayInputStream;
@@ -24,11 +24,11 @@ import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.Iterator;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
 import org.junit.Assert;
 import org.junit.Test;
 


[11/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/DeflatedRdfJsonInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/DeflatedRdfJsonInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/DeflatedRdfJsonInputTest.java
index 8b7b044..4cdcfb5 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/DeflatedRdfJsonInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/DeflatedRdfJsonInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfjson;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/GZippedRdfJsonInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/GZippedRdfJsonInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/GZippedRdfJsonInputTest.java
index 66996dd..719c3af 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/GZippedRdfJsonInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/GZippedRdfJsonInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfjson;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/AbstractCompressedRdfXmlInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/AbstractCompressedRdfXmlInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/AbstractCompressedRdfXmlInputFormatTests.java
index a6d1e24..f9a0374 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/AbstractCompressedRdfXmlInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/AbstractCompressedRdfXmlInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfxml;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.rdfxml.RdfXmlInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.rdfxml.RdfXmlInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/BZippedRdfXmlInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/BZippedRdfXmlInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/BZippedRdfXmlInputTest.java
index 30a6c39..6574745 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/BZippedRdfXmlInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/BZippedRdfXmlInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfxml;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/DeflatedRdfXmlInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/DeflatedRdfXmlInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/DeflatedRdfXmlInputTest.java
index a3d747c..29eaba9 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/DeflatedRdfXmlInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/DeflatedRdfXmlInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfxml;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/GZippedRdfXmlInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/GZippedRdfXmlInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/GZippedRdfXmlInputTest.java
index 748785c..b0db277 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/GZippedRdfXmlInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfxml/GZippedRdfXmlInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfxml;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftQuadInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftQuadInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftQuadInputFormatTests.java
index 78affb2..8b9d8dd 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftQuadInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftQuadInputFormatTests.java
@@ -1,72 +1,72 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.thrift;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.thrift.ThriftQuadInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-
-/**
- * Abstract compressed Thrift quad input tests
- */
-public abstract class AbstractCompressedThriftQuadInputFormatTests extends
-        AbstractCompressedWholeFileQuadInputFormatTests {
-
-    private String ext;
-    private CompressionCodec codec;
-
-    /**
-     * Creates new tests
-     * 
-     * @param ext
-     *            File extension
-     * @param codec
-     *            Compression codec
-     */
-    public AbstractCompressedThriftQuadInputFormatTests(String ext, CompressionCodec codec) {
-        this.ext = ext;
-        this.codec = codec;
-    }
-
-    @Override
-    protected final String getFileExtension() {
-        return this.ext;
-    }
-
-    @Override
-    protected final CompressionCodec getCompressionCodec() {
-        return this.codec;
-    }
-
-    @Override
-    protected final Lang getRdfLanguage() {
-        return RDFLanguages.THRIFT;
-    }
-
-    @Override
-    protected final InputFormat<LongWritable, QuadWritable> getInputFormat() {
-        return new ThriftQuadInputFormat();
-    }
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.thrift.ThriftQuadInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+/**
+ * Abstract compressed Thrift quad input tests
+ */
+public abstract class AbstractCompressedThriftQuadInputFormatTests extends
+        AbstractCompressedWholeFileQuadInputFormatTests {
+
+    private String ext;
+    private CompressionCodec codec;
+
+    /**
+     * Creates new tests
+     * 
+     * @param ext
+     *            File extension
+     * @param codec
+     *            Compression codec
+     */
+    public AbstractCompressedThriftQuadInputFormatTests(String ext, CompressionCodec codec) {
+        this.ext = ext;
+        this.codec = codec;
+    }
+
+    @Override
+    protected final String getFileExtension() {
+        return this.ext;
+    }
+
+    @Override
+    protected final CompressionCodec getCompressionCodec() {
+        return this.codec;
+    }
+
+    @Override
+    protected final Lang getRdfLanguage() {
+        return RDFLanguages.THRIFT;
+    }
+
+    @Override
+    protected final InputFormat<LongWritable, QuadWritable> getInputFormat() {
+        return new ThriftQuadInputFormat();
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftTripleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftTripleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftTripleInputFormatTests.java
index f837b89..b55e0ce 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftTripleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/AbstractCompressedThriftTripleInputFormatTests.java
@@ -1,72 +1,72 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.thrift;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.thrift.ThriftTripleInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-
-/**
- * Abstract compressed Thrift triple input tests
- */
-public abstract class AbstractCompressedThriftTripleInputFormatTests extends
-        AbstractCompressedWholeFileTripleInputFormatTests {
-
-    private String ext;
-    private CompressionCodec codec;
-
-    /**
-     * Creates new tests
-     * 
-     * @param ext
-     *            File extension
-     * @param codec
-     *            Compression codec
-     */
-    public AbstractCompressedThriftTripleInputFormatTests(String ext, CompressionCodec codec) {
-        this.ext = ext;
-        this.codec = codec;
-    }
-
-    @Override
-    protected final String getFileExtension() {
-        return this.ext;
-    }
-
-    @Override
-    protected final CompressionCodec getCompressionCodec() {
-        return this.codec;
-    }
-
-    @Override
-    protected final Lang getRdfLanguage() {
-        return RDFLanguages.THRIFT;
-    }
-
-    @Override
-    protected final InputFormat<LongWritable, TripleWritable> getInputFormat() {
-        return new ThriftTripleInputFormat();
-    }
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.thrift.ThriftTripleInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+/**
+ * Abstract compressed Thrift triple input tests
+ */
+public abstract class AbstractCompressedThriftTripleInputFormatTests extends
+        AbstractCompressedWholeFileTripleInputFormatTests {
+
+    private String ext;
+    private CompressionCodec codec;
+
+    /**
+     * Creates new tests
+     * 
+     * @param ext
+     *            File extension
+     * @param codec
+     *            Compression codec
+     */
+    public AbstractCompressedThriftTripleInputFormatTests(String ext, CompressionCodec codec) {
+        this.ext = ext;
+        this.codec = codec;
+    }
+
+    @Override
+    protected final String getFileExtension() {
+        return this.ext;
+    }
+
+    @Override
+    protected final CompressionCodec getCompressionCodec() {
+        return this.codec;
+    }
+
+    @Override
+    protected final Lang getRdfLanguage() {
+        return RDFLanguages.THRIFT;
+    }
+
+    @Override
+    protected final InputFormat<LongWritable, TripleWritable> getInputFormat() {
+        return new ThriftTripleInputFormat();
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftQuadInputTest.java
index 320d278..13743ef 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftQuadInputTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.thrift;
-
-import org.apache.hadoop.io.compress.BZip2Codec;
-
-/**
- * Tests for BZipped Thrift input
- */
-public class BZippedThriftQuadInputTest extends AbstractCompressedThriftQuadInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public BZippedThriftQuadInputTest() {
-        super(".trdf.bz2", new BZip2Codec());
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+
+/**
+ * Tests for BZipped Thrift input
+ */
+public class BZippedThriftQuadInputTest extends AbstractCompressedThriftQuadInputFormatTests {
+
+    /**
+     * Creates new tests
+     */
+    public BZippedThriftQuadInputTest() {
+        super(".trdf.bz2", new BZip2Codec());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftTripleInputTest.java
index bb2d65b..87e550f 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/BZippedThriftTripleInputTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.thrift;
-
-import org.apache.hadoop.io.compress.BZip2Codec;
-
-/**
- * Tests for BZipped Thrift input
- */
-public class BZippedThriftTripleInputTest extends AbstractCompressedThriftTripleInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public BZippedThriftTripleInputTest() {
-        super(".trdf.bz2", new BZip2Codec());
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+
+/**
+ * Tests for BZipped Thrift input
+ */
+public class BZippedThriftTripleInputTest extends AbstractCompressedThriftTripleInputFormatTests {
+
+    /**
+     * Creates new tests
+     */
+    public BZippedThriftTripleInputTest() {
+        super(".trdf.bz2", new BZip2Codec());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftQuadInputTest.java
index 6872583..9b60d2c 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftQuadInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftTripleInputTest.java
index e76d2d7..79468c7 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/DeflatedThriftTripleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftQuadInputTest.java
index 6590f22..2dd2a95 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftQuadInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftTripleInputTest.java
index 1ce74f4..8a87914 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/thrift/GZippedThriftTripleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.thrift;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/AbstractCompressedTriGInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/AbstractCompressedTriGInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/AbstractCompressedTriGInputFormatTests.java
index 2975f29..c0e1a5e 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/AbstractCompressedTriGInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/AbstractCompressedTriGInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trig;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.trig.TriGInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.trig.TriGInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
index b2b3c33..966a5b0 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trig;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
index c9579a9..c0ee748 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trig;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
index c3e4106..3939f12 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trig;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
index ad98e35..e0aa5f0 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trix;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.trix.TriXInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.trix.TriXInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
index fc51ec8..bf1aa78 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trix;
 
 import org.apache.hadoop.io.compress.BZip2Codec;
-import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
 
 /**
  * Tests for BZipped TriX input

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
index a1a078d..310cdf1 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
@@ -1,35 +1,35 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.trix;
-
-import org.apache.hadoop.io.compress.DefaultCodec;
-import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
-
-/**
- * Tests for Deflated TriX input
- */
-public class DeflatedTriXInputTest extends AbstractCompressedTriGInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public DeflatedTriXInputTest() {
-        super(".trix.deflate", new DefaultCodec());
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed.trix;
+
+import org.apache.hadoop.io.compress.DefaultCodec;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+
+/**
+ * Tests for Deflated TriX input
+ */
+public class DeflatedTriXInputTest extends AbstractCompressedTriGInputFormatTests {
+
+    /**
+     * Creates new tests
+     */
+    public DeflatedTriXInputTest() {
+        super(".trix.deflate", new DefaultCodec());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
index 10c6980..4f735c9 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.trix;
 
 import org.apache.hadoop.io.compress.GzipCodec;
-import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
 
 /**
  * Tests for GZipped TriX input

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
index 68d776a..e5ad53f 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.turtle;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.turtle.TurtleInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.turtle.TurtleInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
index 724b847..8d8e43f 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.turtle;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
index eb5ee03..dfcba82 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.turtle;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
index 817805c..559536c 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.turtle;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
index 5345984..96429d1 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.jsonld;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 
@@ -45,21 +45,21 @@ public class JsonLDQuadInputTest extends AbstractWholeFileQuadInputFormatTests {
     @Override
     protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
         return new JsonLDQuadInputFormat();
-    }
+    }
     
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #single_input_05()
-    */
-    @Override
-    protected int single_input_05_expected() {
-        return 0 ;
-    }
-    
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #multiple_inputs_02()
-     */
-    @Override
-    protected int multiple_inputs_02_expected() {
-        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
-    }
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #single_input_05()
+    */
+    @Override
+    protected int single_input_05_expected() {
+        return 0 ;
+    }
+    
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #multiple_inputs_02()
+     */
+    @Override
+    protected int multiple_inputs_02_expected() {
+        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
index ed20e07..cb87990 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.jsonld;
 
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 
@@ -45,21 +45,21 @@ public class JsonLDTripleInputTest extends AbstractWholeFileTripleInputFormatTes
     @Override
     protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
         return new JsonLDTripleInputFormat();
-    }
-    
-    /** JSON_LD does not produce any triples from a bad document (no partial streaming).
-     * @see #single_input_05()
-    */
-    @Override
-    protected int single_input_05_expected() {
-        return 0 ;
-    }
-    
-    /** JSON_LD does not produce any triples from a bad document (no partial streaming).
-     * @see #multiple_inputs_02()
-     */
-    @Override
-    protected int multiple_inputs_02_expected() {
-        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
-    }
+    }
+    
+    /** JSON_LD does not produce any triples from a bad document (no partial streaming).
+     * @see #single_input_05()
+    */
+    @Override
+    protected int single_input_05_expected() {
+        return 0 ;
+    }
+    
+    /** JSON_LD does not produce any triples from a bad document (no partial streaming).
+     * @see #multiple_inputs_02()
+     */
+    @Override
+    protected int multiple_inputs_02_expected() {
+        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
+    }
 }


[02/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsNearByPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsNearByPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsNearByPF.java
index 346af4a..2e84cad 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsNearByPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsNearByPF.java
@@ -1,335 +1,335 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestIsNearByPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100 'miles' 1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-  @Test
-	public void testDistanceUnits() {
-		String label = "testDistanceUnits";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".", 
-				"<"	+ RESOURCE_BASE + label + "3>",
-				"   geo:lat '52.4539'^^xsd:float ;",
-				"   geo:long '-1.74803'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles') .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2",
-					    "http://example.org/data/resource/" + label + "3"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'mi') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2",
-					    "http://example.org/data/resource/" + label + "3"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'kilometres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'km') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 10000.0 'metres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 10000.0 'm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 1000000.0 'centimetres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 1000000.0 'cm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 10000000.0 'millimetres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 10000000.0 'mm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 0.09 'degrees') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 0.09 'de') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 1 'mi') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:nearby (51.3000 -2.71000 100.0 'other unsupported unit' -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-    @Test
-	public void testLatLongBound() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testLatLongBound>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ". ",
-				"<" + RESOURCE_BASE + "center>",
-				"   geo:lat '51.3000'^^xsd:float ;",
-				"   geo:long '-2.71000'^^xsd:float ", ". ");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" :center geo:lat ?lat .",
-				" :center geo:long ?long .",
-				" ?s spatial:nearby (?lat ?long 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testLatLongBound", "http://example.org/data/resource/center" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestIsNearByPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100 'miles' 1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+  @Test
+	public void testDistanceUnits() {
+		String label = "testDistanceUnits";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".", 
+				"<"	+ RESOURCE_BASE + label + "3>",
+				"   geo:lat '52.4539'^^xsd:float ;",
+				"   geo:long '-1.74803'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles') .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2",
+					    "http://example.org/data/resource/" + label + "3"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'mi') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2",
+					    "http://example.org/data/resource/" + label + "3"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'kilometres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'km') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 10000.0 'metres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 10000.0 'm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 1000000.0 'centimetres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 1000000.0 'cm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 10000000.0 'millimetres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 10000000.0 'mm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 0.09 'degrees') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 0.09 'de') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 1 'mi') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:nearby (51.3000 -2.71000 100.0 'other unsupported unit' -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+    @Test
+	public void testLatLongBound() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testLatLongBound>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ". ",
+				"<" + RESOURCE_BASE + "center>",
+				"   geo:lat '51.3000'^^xsd:float ;",
+				"   geo:long '-2.71000'^^xsd:float ", ". ");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" :center geo:lat ?lat .",
+				" :center geo:long ?long .",
+				" ?s spatial:nearby (?lat ?long 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testLatLongBound", "http://example.org/data/resource/center" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinBoxPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinBoxPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinBoxPF.java
index c165c3b..7ae76ac 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinBoxPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinBoxPF.java
@@ -1,142 +1,142 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestIsWithinBoxPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 -1) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1 'some other argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 1)  .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1)  .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 3)  .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 'something not an integer')  .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestIsWithinBoxPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 -1) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1 'some other argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 1)  .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 -1)  .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 3)  .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 'something not an integer')  .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinCirclePF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinCirclePF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinCirclePF.java
index 5f460fa..95c65c0 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinCirclePF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIsWithinCirclePF.java
@@ -1,336 +1,336 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestIsWithinCirclePF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100 'miles' 1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-  @Test
-	public void testDistanceUnits() {
-		String label = "testDistanceUnits";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".", 
-				"<"	+ RESOURCE_BASE + label + "3>",
-				"   geo:lat '52.4539'^^xsd:float ;",
-				"   geo:long '-1.74803'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles') .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2",
-					    "http://example.org/data/resource/" + label + "3"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'mi') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2",
-					    "http://example.org/data/resource/" + label + "3"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'kilometers') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'km') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 10000.0 'metres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 10000.0 'm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 1000000.0 'centimetres') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 1000000.0 'cm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 10000000.0 'millimeters') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 10000000.0 'mm') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 0.09 'degrees') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 0.09 'de') .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 1 'mi') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'other unsupported unit' -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  	
-	@Test
-	public void testLatLongBound() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testLatLongBound>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ". ",
-				"<" + RESOURCE_BASE + "center>",
-				"   geo:lat '51.3000'^^xsd:float ;",
-				"   geo:long '-2.71000'^^xsd:float ", ". ");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" <http://example.org/data/resource/center> geo:lat ?lat .",
-				" <http://example.org/data/resource/center> geo:long ?long .",
-				" ?s spatial:nearby (?lat ?long 100.0 'miles' -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testLatLongBound", "http://example.org/data/resource/center" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestIsWithinCirclePF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100 'miles' 1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+  @Test
+	public void testDistanceUnits() {
+		String label = "testDistanceUnits";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".", 
+				"<"	+ RESOURCE_BASE + label + "3>",
+				"   geo:lat '52.4539'^^xsd:float ;",
+				"   geo:long '-1.74803'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'miles') .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2",
+					    "http://example.org/data/resource/" + label + "3"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'mi') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2",
+					    "http://example.org/data/resource/" + label + "3"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'kilometers') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'km') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 10000.0 'metres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 10000.0 'm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 1000000.0 'centimetres') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 1000000.0 'cm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 10000000.0 'millimeters') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 10000000.0 'mm') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 0.09 'degrees') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 0.09 'de') .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 1 'mi') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinCircle (51.3000 -2.71000 100.0 'other unsupported unit' -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  	
+	@Test
+	public void testLatLongBound() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testLatLongBound>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ". ",
+				"<" + RESOURCE_BASE + "center>",
+				"   geo:lat '51.3000'^^xsd:float ;",
+				"   geo:long '-2.71000'^^xsd:float ", ". ");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" <http://example.org/data/resource/center> geo:lat ?lat .",
+				" <http://example.org/data/resource/center> geo:long ?long .",
+				" ?s spatial:nearby (?lat ?long 100.0 'miles' -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testLatLongBound", "http://example.org/data/resource/center" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestNorthPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestNorthPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestNorthPF.java
index 3eb61b8..01e9a7d 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestNorthPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestNorthPF.java
@@ -1,142 +1,142 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestNorthPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 -1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestNorthPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 -1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestSouthPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestSouthPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestSouthPF.java
index b7a04ef..a2fad14 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestSouthPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestSouthPF.java
@@ -1,142 +1,142 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestSouthPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.1481'^^xsd:float ;",
-				"   geo:long '-0.190278'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.1481'^^xsd:float ;",
-				"   geo:long '-0.190278'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.0123'^^xsd:float ;",
-				"   geo:long '-0.123456'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 -1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.1481'^^xsd:float ;",
-				"   geo:long '-0.190278'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.0123'^^xsd:float ;",
-				"   geo:long '-0.123456'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:south (51.3000 0.0000 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestSouthPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.1481'^^xsd:float ;",
+				"   geo:long '-0.190278'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.1481'^^xsd:float ;",
+				"   geo:long '-0.190278'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.0123'^^xsd:float ;",
+				"   geo:long '-0.123456'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 -1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.1481'^^xsd:float ;",
+				"   geo:long '-0.190278'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.0123'^^xsd:float ;",
+				"   geo:long '-0.123456'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:south (51.3000 0.0000 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+}


[35/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/package.html
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/package.html b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/package.html
index a525599..d181fdb 100755
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/package.html
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/package.html
@@ -16,26 +16,26 @@
     limitations under the License.
 -->
 
-<html>
-	<head>
-		<title>Package documentation for org.apache.jena.reasoner.rulesys</title>
-	</head>
-	<body>
-		<p>
-			Provides a selection of simple rule engines for Jena inference models.
-			Currently this includes a simple forward chaining engine (BasicForwardRuleReasoner).
-			This is currently a pure interpreter (no RETE network) with an extensible set
-			of Builtin actions (see Builtin).
-	    </p><p>
-	        We include two example reasoners built using this rule engine. The first is
-	        an alternative RDFS implementation (RDFSRuleReasonerFactory) which implements the
-	        full RDFS rule set forward style.
-	    </p><p>
-	        The second is an implementation of the OWL-lite subset of OWL-full (OWLRuleReasonerFactory).
-	        This omits some of the RDFS entailments (everything is a Resource, every Class is a
-	        subclass of Resource) because those conclusions are general not that useful and
-	        lead to rather a lot of pointless deductions in forward chaining mode.
-
-		</p>
-	</body>
+<html>
+	<head>
+		<title>Package documentation for org.apache.jena.reasoner.rulesys</title>
+	</head>
+	<body>
+		<p>
+			Provides a selection of simple rule engines for Jena inference models.
+			Currently this includes a simple forward chaining engine (BasicForwardRuleReasoner).
+			This is currently a pure interpreter (no RETE network) with an extensible set
+			of Builtin actions (see Builtin).
+	    </p><p>
+	        We include two example reasoners built using this rule engine. The first is
+	        an alternative RDFS implementation (RDFSRuleReasonerFactory) which implements the
+	        full RDFS rule set forward style.
+	    </p><p>
+	        The second is an implementation of the OWL-lite subset of OWL-full (OWLRuleReasonerFactory).
+	        This omits some of the RDFS entailments (everything is a Resource, every Class is a
+	        subclass of Resource) because those conclusions are general not that useful and
+	        lead to rather a lot of pointless deductions in forward chaining mode.
+
+		</p>
+	</body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/java/org/apache/jena/util/package.html
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/package.html b/jena-core/src/main/java/org/apache/jena/util/package.html
index 9c1fa57..646a450 100755
--- a/jena-core/src/main/java/org/apache/jena/util/package.html
+++ b/jena-core/src/main/java/org/apache/jena/util/package.html
@@ -16,13 +16,13 @@
     limitations under the License.
 -->
 
-<html>
-	<head>
-		<title>Package documentation for org.apache.jena.util</title>
-	</head>
-	<body>
-		<p>
-		    Miscellaneous collection of utility classes.
-		</p>
-	</body>
+<html>
+	<head>
+		<title>Package documentation for org.apache.jena.util</title>
+	</head>
+	<body>
+		<p>
+		    Miscellaneous collection of utility classes.
+		</p>
+	</body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/resources/etc/owl-fb-micro.rules
----------------------------------------------------------------------
diff --git a/jena-core/src/main/resources/etc/owl-fb-micro.rules b/jena-core/src/main/resources/etc/owl-fb-micro.rules
index 9e87ef5..b2f8488 100644
--- a/jena-core/src/main/resources/etc/owl-fb-micro.rules
+++ b/jena-core/src/main/resources/etc/owl-fb-micro.rules
@@ -1,582 +1,582 @@
-# 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.
-
-#------------------------------------------------------------------
-# OWL micro rule set v0.1
-# This rule set is designed to implement owl(f)lite using the hybrid
-# rule system (mixture of forward and backward chaining).
-#
-# This differs from the normal OWL rule set in several ways.
-#  - no equality reasoning (sameAs, FunctionalProperty ...)
-#  - omits the someValuesFrom => bNode entailments.
-#  - avoids any guard clauses which would break the find() contract.
-#  - TGC for subClass hierarchies, all subClassOf derivations are forward.
-#  - omits use of prototypes and relies on explicit rules for subClassOf 
-#    derivations this may lead to additional incompletenesses
-#
-# $Id: owl-fb.rules,v 1.45 2004/03/02 13:38:53 der Exp $
-#------------------------------------------------------------------
-
-#------------------------------------------------------------------
-# Tabling directives
-#------------------------------------------------------------------
-
-#-> tableAll().
-
--> table(rdf:type).
--> table(rdfs:subClassOf).
--> table(rdfs:range).
--> table(rdfs:domain).
--> table(owl:equivalentClass).
-
-#------------------------------------------------------------------
-# RDFS Axioms
-#------------------------------------------------------------------
-
--> (rdf:type      rdfs:range rdfs:Class).
--> (rdfs:Resource  rdf:type  rdfs:Class).
--> (rdfs:Literal   rdf:type  rdfs:Class).
--> (rdf:Statement  rdf:type  rdfs:Class).
--> (rdf:nil        rdf:type  rdf:List).
--> (rdf:subject    rdf:type  rdf:Property).
--> (rdf:object     rdf:type  rdf:Property).
--> (rdf:predicate  rdf:type  rdf:Property).
--> (rdf:first      rdf:type  rdf:Property).
--> (rdf:rest       rdf:type  rdf:Property).
-        
--> (rdfs:subPropertyOf rdfs:domain rdf:Property).
--> (rdfs:subClassOf rdfs:domain rdfs:Class).
--> (rdfs:domain rdfs:domain rdf:Property).
--> (rdfs:range rdfs:domain rdf:Property).
--> (rdf:subject rdfs:domain rdf:Statement).
--> (rdf:predicate rdfs:domain rdf:Statement).
--> (rdf:object rdfs:domain rdf:Statement).
--> (rdf:first rdfs:domain rdf:List).
--> (rdf:rest rdfs:domain rdf:List).
-
--> (rdfs:subPropertyOf rdfs:range rdf:Property).
--> (rdfs:subClassOf rdfs:range rdfs:Class).
--> (rdfs:domain rdfs:range rdfs:Class).
--> (rdfs:range rdfs:range rdfs:Class).
--> (rdf:type rdfs:range rdfs:Class).
--> (rdfs:comment rdfs:range rdfs:Literal).
--> (rdfs:label rdfs:range rdfs:Literal).
--> (rdf:rest rdfs:range rdf:List).
-
--> (rdf:Alt rdfs:subClassOf rdfs:Container).
--> (rdf:Bag rdfs:subClassOf rdfs:Container).
--> (rdf:Seq rdfs:subClassOf rdfs:Container).
--> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
-
--> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
-
--> (rdf:XMLLiteral rdf:type rdfs:Datatype).
--> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
-
-#------------------------------------------------------------------
-# RDFS Closure rules
-#------------------------------------------------------------------
-
-[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property)]
-
-[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
-
-[rdfs2:  (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ] 
-[rdfs3:  (?p rdfs:range ?c)  -> [(?y rdf:type ?c) <- (?x ?p ?y)] ] 
-[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
-[rdfs6:  (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> table(?p, ?q), [ (?a ?q ?b) <- (?a ?p ?b)] ] 
-[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
-[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 
-
-[rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)]
-[rdfs3-partial: (?p rdfs:range ?c)  -> (?c rdf:type rdfs:Class)]
-
-[rdfs9-alt:  (?a rdf:type ?y) <- bound(?y) (?x rdfs:subClassOf ?y), (?a rdf:type ?x) ] 
-[rdfs9-alt:  (?a rdf:type ?y) <- unbound(?y) (?a rdf:type ?x) (?x rdfs:subClassOf ?y) ] 
-
-#------------------------------------------------------------------
-# RDFS iff extensions needed for OWL
-#------------------------------------------------------------------
-
-[rdfs2a: (?x rdfs:domain ?z) <- bound(?x), (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) ]
-[rdfs2a: (?x rdfs:domain ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:domain ?y) ]
-[rdfs3a: (?x rdfs:range  ?z) <- bound(?x), (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) ]
-[rdfs3a: (?x rdfs:range  ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:range  ?y) ]
-
-[rdfs12a: (rdf:type rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Resource rdfs:subClassOf ?y)]
-[rdfs12a: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
-[rdfs12a: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdf:Property rdfs:subClassOf ?y)]
-
-[rdfs12b: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
-[rdfs12b: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdf:Property rdfs:subClassOf ?y)]
-
-[rdfsder1: (?p rdfs:range ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:range ?z)]
-[rdfsder2: (?p rdfs:domain ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:domain ?z)]
-
-#------------------------------------------------------------------
-# OWL axioms
-#------------------------------------------------------------------
-
--> (owl:FunctionalProperty rdfs:subClassOf rdf:Property).
--> (owl:ObjectProperty rdfs:subClassOf rdf:Property).
--> (owl:DatatypeProperty rdfs:subClassOf rdf:Property).
--> (owl:InverseFunctionalProperty rdfs:subClassOf owl:ObjectProperty).
--> (owl:TransitiveProperty rdfs:subClassOf owl:ObjectProperty).
--> (owl:SymmetricProperty rdfs:subClassOf owl:ObjectProperty).
-
--> (rdf:first rdf:type owl:FunctionalProperty).
--> (rdf:rest rdf:type owl:FunctionalProperty).
-
--> (owl:oneOf rdfs:domain owl:Class).
-
--> (owl:Class rdfs:subClassOf rdfs:Class).
--> (owl:Restriction rdfs:subClassOf owl:Class).
-
--> (owl:Thing rdf:type owl:Class).
--> (owl:Nothing rdf:type owl:Class).
-
--> (owl:equivalentClass rdfs:domain owl:Class).
--> (owl:equivalentClass rdfs:range  owl:Class).
-
--> (owl:disjointWith rdfs:domain owl:Class).
--> (owl:disjointWith rdfs:range  owl:Class).
-
--> (owl:sameAs rdf:type owl:SymmetricProperty).
-
-# These are true but mess up the Ont API's notion of declared properties
-#-> (owl:sameAs rdfs:domain owl:Thing).
-#-> (owl:sameAs rdfs:range  owl:Thing).
-#-> (owl:differentFrom rdfs:domain owl:Thing).
-#-> (owl:differentFrom rdfs:range  owl:Thing).
-
--> (owl:onProperty rdfs:domain owl:Restriction).
--> (owl:onProperty rdfs:range  owl:Property).
-
--> (owl:OntologyProperty rdfs:subClassOf rdf:Property).
--> (owl:imports rdf:type owl:OntologyProperty).
--> (owl:imports rdfs:domain owl:Ontology).
--> (owl:imports rdfs:range  owl:Ontology).
-
--> (owl:priorVersion rdfs:domain owl:Ontology).
--> (owl:priorVersion rdfs:range  owl:Ontology).
-
--> (owl:backwardCompatibleWith rdfs:domain owl:Ontology).
--> (owl:backwardCompatibleWith rdfs:range  owl:Ontology).
-
--> (owl:incompatibleWith rdfs:domain owl:Ontology).
--> (owl:incompatibleWith rdfs:range  owl:Ontology).
-
--> (owl:versionInfo rdf:type owl:AnnotationProperty).
-
-# These properties are derivable from the definitions
-#-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
-#-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
-#-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
-#-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
-
--> (owl:differentFrom rdf:type owl:SymmetricProperty).
--> (owl:disjointWith rdf:type owl:SymmetricProperty).
-
--> (owl:intersectionOf rdfs:domain owl:Class).
-
-#------------------------------------------------------------------
-# OWL Rules
-#------------------------------------------------------------------
-
-[thing1: (?C rdf:type owl:Class) -> (?C rdfs:subClassOf owl:Thing), (owl:Nothing rdfs:subClassOf ?C)]
-
-#------------------------------------------------------------------
-# Class equality
-#------------------------------------------------------------------
-
-# equivalentClass
-[equivalentClass1: (?P owl:equivalentClass ?Q) 
-						-> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
-						
-[equivalentClass2: (?P owl:equivalentClass ?Q) <-  (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
-						
-[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type owl:Class), (?Q rdf:type owl:Class) 
-						-> (?P owl:equivalentClass ?Q) ]
-		
-#------------------------------------------------------------------
-# Property rules
-#------------------------------------------------------------------
-
-# EquivalentProperty 
-
-[equivalentProperty1: (?P owl:equivalentProperty ?Q) 
-						-> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
-						
-[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) 
-						-> (?P owl:equivalentProperty ?Q) ]
-						
-[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property) 
-						-> (?P owl:equivalentProperty ?Q) ]
-
-# SymmetricProperty
-
-[symmetricProperty1: (?P rdf:type owl:SymmetricProperty) -> table(?P),
-                     [symmetricProperty1b: (?X ?P ?Y) <- (?Y ?P ?X)] ]
-
-
-# inverseOf
-[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
-
-[inverseOf2: (?P owl:inverseOf ?Q) -> table(?P), table(?Q), [inverseOf2b: (?X ?P ?Y) <- (?Y ?Q ?X)] ]
-
-[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty) 
-						-> (?Q rdf:type owl:InverseFunctionalProperty) ]
-		
-[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty) 
-						-> (?Q rdf:type owl:FunctionalProperty) ]
-
-[inverseof5:  (?P owl:inverseOf ?Q) (?P rdfs:range ?C) -> (?Q rdfs:domain ?C)]
-[inverseof6:  (?P owl:inverseOf ?Q) (?P rdfs:domain ?C) -> (?Q rdfs:range ?C)]
-
-# TransitiveProperty
-
-[transitiveProperty1: (?P rdf:type owl:TransitiveProperty) -> table(?P),
-#			[transitiveProperty1b:  (?A ?P ?C) <- (?A ?P ?B), (?B ?P ?C)] ]
-			[transitiveProperty1b:  (?A ?P ?C) <- bound (?C), (?B ?P ?C), (?A ?P ?B)] 
-			[transitiveProperty1b:  (?A ?P ?C) <- unbound (?C), (?A ?P ?B) (?B ?P ?C)] 
-			]
-						
-# Object properties 
-
-[objectProperty: (?P rdf:type owl:ObjectProperty) ->
-						(?P rdfs:domain owl:Thing) (?P rdfs:range owl:Thing) ]
-						
-#------------------------------------------------------------------
-# Declaration of main XSD datatypes
-#------------------------------------------------------------------
-
--> (xsd:float rdf:type rdfs:Datatype).
--> (xsd:double rdf:type rdfs:Datatype).
--> (xsd:int rdf:type rdfs:Datatype).
--> (xsd:long rdf:type rdfs:Datatype).
--> (xsd:short rdf:type rdfs:Datatype).
--> (xsd:byte rdf:type rdfs:Datatype).
--> (xsd:unsignedByte rdf:type rdfs:Datatype).
--> (xsd:unsignedShort rdf:type rdfs:Datatype).
--> (xsd:unsignedInt rdf:type rdfs:Datatype).
--> (xsd:unsignedLong rdf:type rdfs:Datatype).
--> (xsd:decimal rdf:type rdfs:Datatype).
--> (xsd:integer rdf:type rdfs:Datatype).
--> (xsd:nonPositiveInteger rdf:type rdfs:Datatype).
--> (xsd:nonNegativeInteger rdf:type rdfs:Datatype).
--> (xsd:positiveInteger rdf:type rdfs:Datatype).
--> (xsd:negativeInteger rdf:type rdfs:Datatype).
--> (xsd:boolean rdf:type rdfs:Datatype).
--> (xsd:string rdf:type rdfs:Datatype).
--> (xsd:anyURI rdf:type rdfs:Datatype).
--> (xsd:hexBinary rdf:type rdfs:Datatype).
--> (xsd:base64Binary  rdf:type rdfs:Datatype).
--> (xsd:date rdf:type rdfs:Datatype).
--> (xsd:time rdf:type rdfs:Datatype).
--> (xsd:dateTime rdf:type rdfs:Datatype).
--> (xsd:duration rdf:type rdfs:Datatype).
--> (xsd:gDay rdf:type rdfs:Datatype).
--> (xsd:gMonth rdf:type rdfs:Datatype).
--> (xsd:gYear rdf:type rdfs:Datatype).
--> (xsd:gYearMonth rdf:type rdfs:Datatype).
--> (xsd:gMonthDay rdf:type rdfs:Datatype).
-
-#-> (xsd:integer rdfs:subClassOf xsd:decimal).
-
--> hide(rb:xsdBase).
--> hide(rb:xsdRange).
--> hide(rb:prototype).
-
--> (xsd:byte rb:xsdBase xsd:decimal).
--> (xsd:short rb:xsdBase xsd:decimal).
--> (xsd:int rb:xsdBase xsd:decimal).
--> (xsd:long rb:xsdBase xsd:decimal).
--> (xsd:unsignedByte rb:xsdBase xsd:decimal).
--> (xsd:unsignedShort rb:xsdBase xsd:decimal).
--> (xsd:unsignedInt rb:xsdBase xsd:decimal).
--> (xsd:unsignedLong rb:xsdBase xsd:decimal).
--> (xsd:integer rb:xsdBase xsd:decimal).
--> (xsd:nonNegativeInteger rb:xsdBase xsd:decimal).
--> (xsd:nonPositiveInteger rb:xsdBase xsd:decimal).
--> (xsd:byte rb:xsdBase xsd:decimal).
--> (xsd:float rb:xsdBase xsd:float).
--> (xsd:decimal rb:xsdBase xsd:decimal).
--> (xsd:string rb:xsdBase xsd:string).
--> (xsd:boolean rb:xsdBase xsd:boolean).
--> (xsd:date rb:xsdBase xsd:date).
--> (xsd:time rb:xsdBase xsd:time).
--> (xsd:dateTime rb:xsdBase xsd:dateTime).
--> (xsd:duration rb:xsdBase xsd:duration).
-
-# Describe range (base type, signed, min bits)
--> (xsd:byte    rb:xsdRange xsd(xsd:integer,1,8)).
--> (xsd:short   rb:xsdRange xsd(xsd:integer,1,16)).
--> (xsd:int     rb:xsdRange xsd(xsd:integer,1,32)).
--> (xsd:long    rb:xsdRange xsd(xsd:integer,1,64)).
--> (xsd:integer rb:xsdRange xsd(xsd:integer,1,65)).
-							
--> (xsd:unsignedByte    rb:xsdRange xsd(xsd:integer,0,8)).
--> (xsd:unsignedShort   rb:xsdRange xsd(xsd:integer,0,16)).
--> (xsd:unsignedInt     rb:xsdRange xsd(xsd:integer,0,32)).
--> (xsd:unsignedLong    rb:xsdRange xsd(xsd:integer,0,64)).
--> (xsd:nonNegativeInteger rb:xsdRange xsd(xsd:integer,0,65)).
-
-#------------------------------------------------------------------
-# Identify restriction assertions
-#------------------------------------------------------------------
-
-[restriction1: (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
-	-> (?C owl:equivalentClass some(?P, ?D))]
-		
-[restriction2: (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
-	-> (?C owl:equivalentClass all(?P, ?D))]
-		
-[restriction3: (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
-	-> (?C owl:equivalentClass min(?P, ?X))]
-		
-[restriction4: (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
-	-> (?C owl:equivalentClass max(?P, ?X)) ]
-		
-[restriction5: (?C owl:onProperty ?P), (?C owl:cardinality ?X)
-	-> (?C owl:equivalentClass card(?P, ?X)), 
-	   (?C rdfs:subClassOf min(?P, ?X)), 
-	   (?C rdfs:subClassOf max(?P, ?X)) ]
-		
-[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X)) 
-   	-> (?C rdfs:subClassOf card(?P, ?X))]
-       					
-[hasValueRec: (?C owl:onProperty ?P), (?C owl:hasValue ?V)
-	-> (?C owl:equivalentClass hasValue(?P, ?V)) ]
-						
-
-## TODO do we need the early restriction propagation rules in this configuration?
-
-# Equality propagation
-
-[restrictionEq1: (?R1 owl:equivalentClass some(?P, ?C)) (?R2 owl:equivalentClass some(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-[restrictionEq2: (?R1 owl:equivalentClass all(?P, ?C)) (?R2 owl:equivalentClass all(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-[restrictionEq3: (?R1 owl:equivalentClass min(?P, ?C)) (?R2 owl:equivalentClass min(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-[restrictionEq4: (?R1 owl:equivalentClass max(?P, ?C)) (?R2 owl:equivalentClass max(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-[restrictionEq5: (?R1 owl:equivalentClass card(?P, ?C)) (?R2 owl:equivalentClass card(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-[restrictionEq6: (?R1 owl:equivalentClass hasValue(?P, ?C)) (?R2 owl:equivalentClass hasValue(?P, ?C))
-					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
-					
-#[restrictionPropagate1: (?C owl:equivalentClass ?R), (?D rdfs:subClassOf ?C)
-#                                -> (?D rdfs:subClassOf ?R) ]
-#[restrictionPropagate2: (?C owl:equivalentClass ?R), (?D owl:equivalentClass ?C) 
-#                                -> (?D owl:equivalentClass ?R) ]
-
-
-#------------------------------------------------------------------
-# One direction of unionOf
-#------------------------------------------------------------------
-
-[unionOf1:  (?C owl:unionOf ?L) -> listMapAsSubject(?L, rdfs:subClassOf ?C) ]
-
-# Note could also add relation between two unionOf's if we add a listSubsumes primitive
-
-#------------------------------------------------------------------
-# Intersection of (instance reasoning is done by the translation hook)
-#------------------------------------------------------------------
-
-[intersectionOf1:  (?C owl:intersectionOf ?L) -> listMapAsObject(?C rdfs:subClassOf ?L) ]
-
-#------------------------------------------------------------------
-# someValuesFrom - recognition direction only
-#------------------------------------------------------------------
-    
-[someRec2: (?C owl:equivalentClass some(?P, ?D)) ->
-     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A) (?A rdf:type ?D) ] ]
-    
-[someRec2b: (?C owl:equivalentClass some(?P, ?D)), (?D rdf:type rdfs:Datatype)->
-     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A), isDType(?A, ?D) ] ]
-
-# In the absence of prototype and bNode introduction rules we have to manually
-# code in additional subclass relationships
-
-[restriction-inter-MnS: (?P rdfs:range ?D), (?C rdfs:subClassOf min(?P, 1)) 
-						-> (?C rdfs:subClassOf some(?P, ?D)) ]
-						
-#------------------------------------------------------------------
-# allValuesFrom (main rule is in Mini, this just does minimal subclass propagation
-#------------------------------------------------------------------
-
-[allRec1: (?C rdfs:subClassOf max(?P, 1)), (?C rdfs:subClassOf some(?P, ?D))
-						-> (?C rdfs:subClassOf all(?P, ?D)) ]
-
-[allRec2: (?P rdf:type owl:FunctionalProperty), (?C rdfs:subClassOf some(?P, ?C))
-						 -> (?C rdfs:subClassOf all(?P, ?C)) ]
-    
-[allRec4: (?P rdf:type owl:FunctionalProperty), (?C owl:equivalentClass all(?P, ?D))
-                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
-    
-[allRec5: (?C rdfs:subClassOf max(?P, 1)) (?C owl:equivalentClass all(?P, ?D))
-                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
-    
-[restriction-inter-RA-T: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C)) 
-						-> (owl:Thing rdfs:subClassOf ?D) ]
-						
-[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf all(?P, ?C)) 
-						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
-						
-#------------------------------------------------------------------
-# Restricted support for hasValue, even though that is beyond OWL/lite
-#------------------------------------------------------------------
-
-# hasValue
-[hasValueIF: (?C owl:equivalentClass hasValue(?P, ?V)) -> 
-								[ (?x ?P ?V) <- (?x rdf:type ?C) ]
-								[ (?x rdf:type ?C) <- (?x ?P ?V) ]
-								]
-
-#------------------------------------------------------------------
-# Nothing
-#------------------------------------------------------------------
-    
-[nothing1: (?C rdfs:subClassOf min(?P, ?n)) (?C rdfs:subClassOf max(?P, ?x))
-           lessThan(?x, ?n)  ->  (?C owl:equivalentClass owl:Nothing) ]
-           
-[nothing3: (?C rdfs:subClassOf owl:Nothing) ->  (?C owl:equivalentClass owl:Nothing) ]
-
-[nothing4: (?C owl:oneOf rdf:nil) -> (?C owl:equivalentClass owl:Nothing) ]
-           
-#------------------------------------------------------------------
-# Disjointness
-#------------------------------------------------------------------
-
-[distinct1: (?X owl:differentFrom ?Y) <- 
-    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
-
-# Exploding the pairwise assertions is simply done procedurally here.
-# This is better handled by a dedicated equality reasoner any.
-[distinct2: (?w owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
-
-						
-#------------------------------------------------------------------
-# min cardinality
-#------------------------------------------------------------------
-
-[minRec: (?C owl:equivalentClass min(?P, 1)), notEqual(?P, rdf:type) ->
-    [min2b: (?X rdf:type ?C) <- (?X ?P ?Y)] ]
-
-#------------------------------------------------------------------
-# max cardinality 1
-#------------------------------------------------------------------
-
-[maxRec: (?C owl:equivalentClass max(?P, 1)), (?P rdf:type owl:FunctionalProperty)
-		-> (owl:Thing rdfs:subClassOf ?C) ]
-
-#------------------------------------------------------------------
-# max cardinality 0
-#------------------------------------------------------------------
-
-# For completeness this requires iff version of rdfs:domain working forwards which it does not just now
-[maxRec2: (?C owl:equivalentClass max(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
-	-> (?E owl:equivalentClass ?C)]
-	
-[cardRec1: (?C owl:equivalentClass card(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
-	-> (?E owl:equivalentClass ?C)]
-	
-#------------------------------------------------------------------
-# cardinality 1
-#------------------------------------------------------------------
-
-[restriction-inter-CFP: (?C owl:equivalentClass card(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
-     (?C owl:equivalentClass min(?P, 1)) ]
-
-[restriction6: (?C owl:equivalentClass min(?P, ?X)), (?C owl:equivalentClass max(?P, ?X)) 
-       					-> (?C owl:equivalentClass card(?P, ?X))]
-
-#------------------------------------------------------------------
-# Validation rules. These are dormant by default but are triggered
-# by the additional of a validation control triple to the graph.
-#------------------------------------------------------------------
-
-[validationDomainMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0)), (?P rdfs:domain ?C)  ->
-    (?P rb:violation error('inconsistent property definition', 'Property defined with domain which has a max(0) restriction for that property (domain)', ?C) )
-]
-
-[validationMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0))  -> 
-    [max2b: (?X rb:violation error('too many values', 'Value for max-0 property (prop, class)', ?P, ?C))
-    			<- (?X rdf:type ?C), (?X ?P ?Y) ] ]
-
-[validationMaxN: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, ?N)) ->
-    [max2b: (?X rb:violation error('too many values', 'Too many values on max-N property (prop, class)', ?P, ?C))
-    			<- (?X rdf:type ?C), countLiteralValues(?X, ?P, ?M), lessThan(?N, ?M)  ] ]
-
-[validationIndiv: (?v rb:validation on())  ->
-	[validationIndiv: (?X rb:violation error('conflict', 'Two individuals both same and different, may be due to disjoint classes or functional properties', ?Y)) 
-				<- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y) ] ]
-				
-[validationIndiv2: (?v rb:validation on()) (?X owl:disjointWith ?Y) -> 
-	[validationIndiv: (?I rb:violation error('conflict', 'Individual a member of disjoint classes', ?X, ?Y)) 
-				<- (?I rdf:type ?X), (?I rdf:type ?Y)] ]
-
-[validationIndiv3: (?v rb:validation on()) ->
-	[validationIndiv: (?I rb:violation error('conflict', 'Individual a member of Nothing', ?I)) 
-				<- (?I rdf:type owl:Nothing) ] ]
-
-[validationDisjoint: (?v rb:validation on()) (?X owl:disjointWith ?Y)  ->
-	[validationIndiv: (?X rb:violation warn('Inconsistent class', 'Two classes related by both subclass and disjoint relations', ?Y)) 
-				<- (?X owl:disjointWith ?Y), (?X rdfs:subClassOf ?Y) ] ]
-
-[validationDisjoint2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
-	[validationIndiv: (?C rb:violation warn('Inconsistent class', 'subclass of two disjoint classes', ?X, ?Y)) 
-				<- (?X owl:disjointWith ?Y), (?C rdfs:subClassOf ?X) (?C rdfs:subClassOf ?Y) notEqual(?C, owl:Nothing) ] ]
-
-[validationDTP: (?v rb:validation on()), (?P rdf:type owl:DatatypeProperty) ->
-	[validationDTP: (?X rb:violation error('range check', 'Object value for datatype property (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
-
-[validationOP: (?v rb:validation on()), (?P rdf:type owl:ObjectProperty) ->
-	[validationDTP: (?X rb:violation warn('range check', 'Literal value for object property (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), isLiteral(?V) ] ]
-
-[validationDTRange: (?v rb:validation on()), (?P rdfs:range ?R) (?R rdf:type rdfs:Datatype) ->
-	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), notDType(?V, ?R)  ] ]
-
-[validationDTRange: (?v rb:validation on()), (?P rdfs:range rdfs:Literal)  ->
-	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range rdsf:Literal (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
-
-[validationAllFrom: (?v rb:validation on()), (?C rdfs:subClassOf all(?P, ?R)) (?R rdf:type rdfs:Datatype) ->
-	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, ?R) ] ]
-
-[validationAllFrom: (?v rb:validation on()), (?C owl:equivalentClass all(?P, rdfs:Literal)) -> 
-	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom rdfs:Literal (prop, value)', ?P, ?V))
-				<- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, rdfs:Literal) 
-				 ] ]
-
-[validationNothing: (?v rb:validation on()), (?C owl:equivalentClass owl:Nothing) notEqual(?C, owl:Nothing) -> 
-	(?C rb:violation warn('Inconsistent class', 'Class cannot be instantiated, probably subclass of a disjoint classes or of an empty restriction'))
-]
-
-[validationRangeNothing: (?v rb:validation on()), (?P rdfs:range owl:Nothing) -> 
-	(?C rb:violation warn('Inconsistent property', 'Property cannot be instantiated, probably due to multiple disjoint range declarations'))
-]
-
-[validationOneOf: (?v rb:validation on()) (?C owl:oneOf ?L) ->
-	[validationIndiv: (?X rb:violation warn('possible oneof violation', 'Culprit is deduced to be of enumerated type (implicicated class) but is not one of the enumerations\n This may be due to aliasing.', ?Y)) 
-				<- (?X rdf:type ?C), notBNode(?X), listNotContains(?L, ?X) ] ]
-
-       					
+# 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.
+
+#------------------------------------------------------------------
+# OWL micro rule set v0.1
+# This rule set is designed to implement owl(f)lite using the hybrid
+# rule system (mixture of forward and backward chaining).
+#
+# This differs from the normal OWL rule set in several ways.
+#  - no equality reasoning (sameAs, FunctionalProperty ...)
+#  - omits the someValuesFrom => bNode entailments.
+#  - avoids any guard clauses which would break the find() contract.
+#  - TGC for subClass hierarchies, all subClassOf derivations are forward.
+#  - omits use of prototypes and relies on explicit rules for subClassOf 
+#    derivations this may lead to additional incompletenesses
+#
+# $Id: owl-fb.rules,v 1.45 2004/03/02 13:38:53 der Exp $
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# Tabling directives
+#------------------------------------------------------------------
+
+#-> tableAll().
+
+-> table(rdf:type).
+-> table(rdfs:subClassOf).
+-> table(rdfs:range).
+-> table(rdfs:domain).
+-> table(owl:equivalentClass).
+
+#------------------------------------------------------------------
+# RDFS Axioms
+#------------------------------------------------------------------
+
+-> (rdf:type      rdfs:range rdfs:Class).
+-> (rdfs:Resource  rdf:type  rdfs:Class).
+-> (rdfs:Literal   rdf:type  rdfs:Class).
+-> (rdf:Statement  rdf:type  rdfs:Class).
+-> (rdf:nil        rdf:type  rdf:List).
+-> (rdf:subject    rdf:type  rdf:Property).
+-> (rdf:object     rdf:type  rdf:Property).
+-> (rdf:predicate  rdf:type  rdf:Property).
+-> (rdf:first      rdf:type  rdf:Property).
+-> (rdf:rest       rdf:type  rdf:Property).
+        
+-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
+-> (rdfs:subClassOf rdfs:domain rdfs:Class).
+-> (rdfs:domain rdfs:domain rdf:Property).
+-> (rdfs:range rdfs:domain rdf:Property).
+-> (rdf:subject rdfs:domain rdf:Statement).
+-> (rdf:predicate rdfs:domain rdf:Statement).
+-> (rdf:object rdfs:domain rdf:Statement).
+-> (rdf:first rdfs:domain rdf:List).
+-> (rdf:rest rdfs:domain rdf:List).
+
+-> (rdfs:subPropertyOf rdfs:range rdf:Property).
+-> (rdfs:subClassOf rdfs:range rdfs:Class).
+-> (rdfs:domain rdfs:range rdfs:Class).
+-> (rdfs:range rdfs:range rdfs:Class).
+-> (rdf:type rdfs:range rdfs:Class).
+-> (rdfs:comment rdfs:range rdfs:Literal).
+-> (rdfs:label rdfs:range rdfs:Literal).
+-> (rdf:rest rdfs:range rdf:List).
+
+-> (rdf:Alt rdfs:subClassOf rdfs:Container).
+-> (rdf:Bag rdfs:subClassOf rdfs:Container).
+-> (rdf:Seq rdfs:subClassOf rdfs:Container).
+-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
+
+-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
+
+-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
+-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
+
+#------------------------------------------------------------------
+# RDFS Closure rules
+#------------------------------------------------------------------
+
+[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property)]
+
+[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
+
+[rdfs2:  (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ] 
+[rdfs3:  (?p rdfs:range ?c)  -> [(?y rdf:type ?c) <- (?x ?p ?y)] ] 
+[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
+[rdfs6:  (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> table(?p, ?q), [ (?a ?q ?b) <- (?a ?p ?b)] ] 
+[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
+[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 
+
+[rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)]
+[rdfs3-partial: (?p rdfs:range ?c)  -> (?c rdf:type rdfs:Class)]
+
+[rdfs9-alt:  (?a rdf:type ?y) <- bound(?y) (?x rdfs:subClassOf ?y), (?a rdf:type ?x) ] 
+[rdfs9-alt:  (?a rdf:type ?y) <- unbound(?y) (?a rdf:type ?x) (?x rdfs:subClassOf ?y) ] 
+
+#------------------------------------------------------------------
+# RDFS iff extensions needed for OWL
+#------------------------------------------------------------------
+
+[rdfs2a: (?x rdfs:domain ?z) <- bound(?x), (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) ]
+[rdfs2a: (?x rdfs:domain ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:domain ?y) ]
+[rdfs3a: (?x rdfs:range  ?z) <- bound(?x), (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) ]
+[rdfs3a: (?x rdfs:range  ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:range  ?y) ]
+
+[rdfs12a: (rdf:type rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Resource rdfs:subClassOf ?y)]
+[rdfs12a: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
+[rdfs12a: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdf:Property rdfs:subClassOf ?y)]
+
+[rdfs12b: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
+[rdfs12b: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdf:Property rdfs:subClassOf ?y)]
+
+[rdfsder1: (?p rdfs:range ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:range ?z)]
+[rdfsder2: (?p rdfs:domain ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:domain ?z)]
+
+#------------------------------------------------------------------
+# OWL axioms
+#------------------------------------------------------------------
+
+-> (owl:FunctionalProperty rdfs:subClassOf rdf:Property).
+-> (owl:ObjectProperty rdfs:subClassOf rdf:Property).
+-> (owl:DatatypeProperty rdfs:subClassOf rdf:Property).
+-> (owl:InverseFunctionalProperty rdfs:subClassOf owl:ObjectProperty).
+-> (owl:TransitiveProperty rdfs:subClassOf owl:ObjectProperty).
+-> (owl:SymmetricProperty rdfs:subClassOf owl:ObjectProperty).
+
+-> (rdf:first rdf:type owl:FunctionalProperty).
+-> (rdf:rest rdf:type owl:FunctionalProperty).
+
+-> (owl:oneOf rdfs:domain owl:Class).
+
+-> (owl:Class rdfs:subClassOf rdfs:Class).
+-> (owl:Restriction rdfs:subClassOf owl:Class).
+
+-> (owl:Thing rdf:type owl:Class).
+-> (owl:Nothing rdf:type owl:Class).
+
+-> (owl:equivalentClass rdfs:domain owl:Class).
+-> (owl:equivalentClass rdfs:range  owl:Class).
+
+-> (owl:disjointWith rdfs:domain owl:Class).
+-> (owl:disjointWith rdfs:range  owl:Class).
+
+-> (owl:sameAs rdf:type owl:SymmetricProperty).
+
+# These are true but mess up the Ont API's notion of declared properties
+#-> (owl:sameAs rdfs:domain owl:Thing).
+#-> (owl:sameAs rdfs:range  owl:Thing).
+#-> (owl:differentFrom rdfs:domain owl:Thing).
+#-> (owl:differentFrom rdfs:range  owl:Thing).
+
+-> (owl:onProperty rdfs:domain owl:Restriction).
+-> (owl:onProperty rdfs:range  owl:Property).
+
+-> (owl:OntologyProperty rdfs:subClassOf rdf:Property).
+-> (owl:imports rdf:type owl:OntologyProperty).
+-> (owl:imports rdfs:domain owl:Ontology).
+-> (owl:imports rdfs:range  owl:Ontology).
+
+-> (owl:priorVersion rdfs:domain owl:Ontology).
+-> (owl:priorVersion rdfs:range  owl:Ontology).
+
+-> (owl:backwardCompatibleWith rdfs:domain owl:Ontology).
+-> (owl:backwardCompatibleWith rdfs:range  owl:Ontology).
+
+-> (owl:incompatibleWith rdfs:domain owl:Ontology).
+-> (owl:incompatibleWith rdfs:range  owl:Ontology).
+
+-> (owl:versionInfo rdf:type owl:AnnotationProperty).
+
+# These properties are derivable from the definitions
+#-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
+#-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
+#-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
+#-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
+
+-> (owl:differentFrom rdf:type owl:SymmetricProperty).
+-> (owl:disjointWith rdf:type owl:SymmetricProperty).
+
+-> (owl:intersectionOf rdfs:domain owl:Class).
+
+#------------------------------------------------------------------
+# OWL Rules
+#------------------------------------------------------------------
+
+[thing1: (?C rdf:type owl:Class) -> (?C rdfs:subClassOf owl:Thing), (owl:Nothing rdfs:subClassOf ?C)]
+
+#------------------------------------------------------------------
+# Class equality
+#------------------------------------------------------------------
+
+# equivalentClass
+[equivalentClass1: (?P owl:equivalentClass ?Q) 
+						-> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
+						
+[equivalentClass2: (?P owl:equivalentClass ?Q) <-  (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
+						
+[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type owl:Class), (?Q rdf:type owl:Class) 
+						-> (?P owl:equivalentClass ?Q) ]
+		
+#------------------------------------------------------------------
+# Property rules
+#------------------------------------------------------------------
+
+# EquivalentProperty 
+
+[equivalentProperty1: (?P owl:equivalentProperty ?Q) 
+						-> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
+						
+[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) 
+						-> (?P owl:equivalentProperty ?Q) ]
+						
+[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property) 
+						-> (?P owl:equivalentProperty ?Q) ]
+
+# SymmetricProperty
+
+[symmetricProperty1: (?P rdf:type owl:SymmetricProperty) -> table(?P),
+                     [symmetricProperty1b: (?X ?P ?Y) <- (?Y ?P ?X)] ]
+
+
+# inverseOf
+[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
+
+[inverseOf2: (?P owl:inverseOf ?Q) -> table(?P), table(?Q), [inverseOf2b: (?X ?P ?Y) <- (?Y ?Q ?X)] ]
+
+[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty) 
+						-> (?Q rdf:type owl:InverseFunctionalProperty) ]
+		
+[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty) 
+						-> (?Q rdf:type owl:FunctionalProperty) ]
+
+[inverseof5:  (?P owl:inverseOf ?Q) (?P rdfs:range ?C) -> (?Q rdfs:domain ?C)]
+[inverseof6:  (?P owl:inverseOf ?Q) (?P rdfs:domain ?C) -> (?Q rdfs:range ?C)]
+
+# TransitiveProperty
+
+[transitiveProperty1: (?P rdf:type owl:TransitiveProperty) -> table(?P),
+#			[transitiveProperty1b:  (?A ?P ?C) <- (?A ?P ?B), (?B ?P ?C)] ]
+			[transitiveProperty1b:  (?A ?P ?C) <- bound (?C), (?B ?P ?C), (?A ?P ?B)] 
+			[transitiveProperty1b:  (?A ?P ?C) <- unbound (?C), (?A ?P ?B) (?B ?P ?C)] 
+			]
+						
+# Object properties 
+
+[objectProperty: (?P rdf:type owl:ObjectProperty) ->
+						(?P rdfs:domain owl:Thing) (?P rdfs:range owl:Thing) ]
+						
+#------------------------------------------------------------------
+# Declaration of main XSD datatypes
+#------------------------------------------------------------------
+
+-> (xsd:float rdf:type rdfs:Datatype).
+-> (xsd:double rdf:type rdfs:Datatype).
+-> (xsd:int rdf:type rdfs:Datatype).
+-> (xsd:long rdf:type rdfs:Datatype).
+-> (xsd:short rdf:type rdfs:Datatype).
+-> (xsd:byte rdf:type rdfs:Datatype).
+-> (xsd:unsignedByte rdf:type rdfs:Datatype).
+-> (xsd:unsignedShort rdf:type rdfs:Datatype).
+-> (xsd:unsignedInt rdf:type rdfs:Datatype).
+-> (xsd:unsignedLong rdf:type rdfs:Datatype).
+-> (xsd:decimal rdf:type rdfs:Datatype).
+-> (xsd:integer rdf:type rdfs:Datatype).
+-> (xsd:nonPositiveInteger rdf:type rdfs:Datatype).
+-> (xsd:nonNegativeInteger rdf:type rdfs:Datatype).
+-> (xsd:positiveInteger rdf:type rdfs:Datatype).
+-> (xsd:negativeInteger rdf:type rdfs:Datatype).
+-> (xsd:boolean rdf:type rdfs:Datatype).
+-> (xsd:string rdf:type rdfs:Datatype).
+-> (xsd:anyURI rdf:type rdfs:Datatype).
+-> (xsd:hexBinary rdf:type rdfs:Datatype).
+-> (xsd:base64Binary  rdf:type rdfs:Datatype).
+-> (xsd:date rdf:type rdfs:Datatype).
+-> (xsd:time rdf:type rdfs:Datatype).
+-> (xsd:dateTime rdf:type rdfs:Datatype).
+-> (xsd:duration rdf:type rdfs:Datatype).
+-> (xsd:gDay rdf:type rdfs:Datatype).
+-> (xsd:gMonth rdf:type rdfs:Datatype).
+-> (xsd:gYear rdf:type rdfs:Datatype).
+-> (xsd:gYearMonth rdf:type rdfs:Datatype).
+-> (xsd:gMonthDay rdf:type rdfs:Datatype).
+
+#-> (xsd:integer rdfs:subClassOf xsd:decimal).
+
+-> hide(rb:xsdBase).
+-> hide(rb:xsdRange).
+-> hide(rb:prototype).
+
+-> (xsd:byte rb:xsdBase xsd:decimal).
+-> (xsd:short rb:xsdBase xsd:decimal).
+-> (xsd:int rb:xsdBase xsd:decimal).
+-> (xsd:long rb:xsdBase xsd:decimal).
+-> (xsd:unsignedByte rb:xsdBase xsd:decimal).
+-> (xsd:unsignedShort rb:xsdBase xsd:decimal).
+-> (xsd:unsignedInt rb:xsdBase xsd:decimal).
+-> (xsd:unsignedLong rb:xsdBase xsd:decimal).
+-> (xsd:integer rb:xsdBase xsd:decimal).
+-> (xsd:nonNegativeInteger rb:xsdBase xsd:decimal).
+-> (xsd:nonPositiveInteger rb:xsdBase xsd:decimal).
+-> (xsd:byte rb:xsdBase xsd:decimal).
+-> (xsd:float rb:xsdBase xsd:float).
+-> (xsd:decimal rb:xsdBase xsd:decimal).
+-> (xsd:string rb:xsdBase xsd:string).
+-> (xsd:boolean rb:xsdBase xsd:boolean).
+-> (xsd:date rb:xsdBase xsd:date).
+-> (xsd:time rb:xsdBase xsd:time).
+-> (xsd:dateTime rb:xsdBase xsd:dateTime).
+-> (xsd:duration rb:xsdBase xsd:duration).
+
+# Describe range (base type, signed, min bits)
+-> (xsd:byte    rb:xsdRange xsd(xsd:integer,1,8)).
+-> (xsd:short   rb:xsdRange xsd(xsd:integer,1,16)).
+-> (xsd:int     rb:xsdRange xsd(xsd:integer,1,32)).
+-> (xsd:long    rb:xsdRange xsd(xsd:integer,1,64)).
+-> (xsd:integer rb:xsdRange xsd(xsd:integer,1,65)).
+							
+-> (xsd:unsignedByte    rb:xsdRange xsd(xsd:integer,0,8)).
+-> (xsd:unsignedShort   rb:xsdRange xsd(xsd:integer,0,16)).
+-> (xsd:unsignedInt     rb:xsdRange xsd(xsd:integer,0,32)).
+-> (xsd:unsignedLong    rb:xsdRange xsd(xsd:integer,0,64)).
+-> (xsd:nonNegativeInteger rb:xsdRange xsd(xsd:integer,0,65)).
+
+#------------------------------------------------------------------
+# Identify restriction assertions
+#------------------------------------------------------------------
+
+[restriction1: (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
+	-> (?C owl:equivalentClass some(?P, ?D))]
+		
+[restriction2: (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
+	-> (?C owl:equivalentClass all(?P, ?D))]
+		
+[restriction3: (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
+	-> (?C owl:equivalentClass min(?P, ?X))]
+		
+[restriction4: (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
+	-> (?C owl:equivalentClass max(?P, ?X)) ]
+		
+[restriction5: (?C owl:onProperty ?P), (?C owl:cardinality ?X)
+	-> (?C owl:equivalentClass card(?P, ?X)), 
+	   (?C rdfs:subClassOf min(?P, ?X)), 
+	   (?C rdfs:subClassOf max(?P, ?X)) ]
+		
+[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X)) 
+   	-> (?C rdfs:subClassOf card(?P, ?X))]
+       					
+[hasValueRec: (?C owl:onProperty ?P), (?C owl:hasValue ?V)
+	-> (?C owl:equivalentClass hasValue(?P, ?V)) ]
+						
+
+## TODO do we need the early restriction propagation rules in this configuration?
+
+# Equality propagation
+
+[restrictionEq1: (?R1 owl:equivalentClass some(?P, ?C)) (?R2 owl:equivalentClass some(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+[restrictionEq2: (?R1 owl:equivalentClass all(?P, ?C)) (?R2 owl:equivalentClass all(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+[restrictionEq3: (?R1 owl:equivalentClass min(?P, ?C)) (?R2 owl:equivalentClass min(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+[restrictionEq4: (?R1 owl:equivalentClass max(?P, ?C)) (?R2 owl:equivalentClass max(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+[restrictionEq5: (?R1 owl:equivalentClass card(?P, ?C)) (?R2 owl:equivalentClass card(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+[restrictionEq6: (?R1 owl:equivalentClass hasValue(?P, ?C)) (?R2 owl:equivalentClass hasValue(?P, ?C))
+					notEqual(?R1, ?R2) -> (?R1 owl:equivalentClass ?R2) ]
+					
+#[restrictionPropagate1: (?C owl:equivalentClass ?R), (?D rdfs:subClassOf ?C)
+#                                -> (?D rdfs:subClassOf ?R) ]
+#[restrictionPropagate2: (?C owl:equivalentClass ?R), (?D owl:equivalentClass ?C) 
+#                                -> (?D owl:equivalentClass ?R) ]
+
+
+#------------------------------------------------------------------
+# One direction of unionOf
+#------------------------------------------------------------------
+
+[unionOf1:  (?C owl:unionOf ?L) -> listMapAsSubject(?L, rdfs:subClassOf ?C) ]
+
+# Note could also add relation between two unionOf's if we add a listSubsumes primitive
+
+#------------------------------------------------------------------
+# Intersection of (instance reasoning is done by the translation hook)
+#------------------------------------------------------------------
+
+[intersectionOf1:  (?C owl:intersectionOf ?L) -> listMapAsObject(?C rdfs:subClassOf ?L) ]
+
+#------------------------------------------------------------------
+# someValuesFrom - recognition direction only
+#------------------------------------------------------------------
+    
+[someRec2: (?C owl:equivalentClass some(?P, ?D)) ->
+     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A) (?A rdf:type ?D) ] ]
+    
+[someRec2b: (?C owl:equivalentClass some(?P, ?D)), (?D rdf:type rdfs:Datatype)->
+     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A), isDType(?A, ?D) ] ]
+
+# In the absence of prototype and bNode introduction rules we have to manually
+# code in additional subclass relationships
+
+[restriction-inter-MnS: (?P rdfs:range ?D), (?C rdfs:subClassOf min(?P, 1)) 
+						-> (?C rdfs:subClassOf some(?P, ?D)) ]
+						
+#------------------------------------------------------------------
+# allValuesFrom (main rule is in Mini, this just does minimal subclass propagation
+#------------------------------------------------------------------
+
+[allRec1: (?C rdfs:subClassOf max(?P, 1)), (?C rdfs:subClassOf some(?P, ?D))
+						-> (?C rdfs:subClassOf all(?P, ?D)) ]
+
+[allRec2: (?P rdf:type owl:FunctionalProperty), (?C rdfs:subClassOf some(?P, ?C))
+						 -> (?C rdfs:subClassOf all(?P, ?C)) ]
+    
+[allRec4: (?P rdf:type owl:FunctionalProperty), (?C owl:equivalentClass all(?P, ?D))
+                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
+    
+[allRec5: (?C rdfs:subClassOf max(?P, 1)) (?C owl:equivalentClass all(?P, ?D))
+                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
+    
+[restriction-inter-RA-T: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C)) 
+						-> (owl:Thing rdfs:subClassOf ?D) ]
+						
+[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf all(?P, ?C)) 
+						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
+						
+#------------------------------------------------------------------
+# Restricted support for hasValue, even though that is beyond OWL/lite
+#------------------------------------------------------------------
+
+# hasValue
+[hasValueIF: (?C owl:equivalentClass hasValue(?P, ?V)) -> 
+								[ (?x ?P ?V) <- (?x rdf:type ?C) ]
+								[ (?x rdf:type ?C) <- (?x ?P ?V) ]
+								]
+
+#------------------------------------------------------------------
+# Nothing
+#------------------------------------------------------------------
+    
+[nothing1: (?C rdfs:subClassOf min(?P, ?n)) (?C rdfs:subClassOf max(?P, ?x))
+           lessThan(?x, ?n)  ->  (?C owl:equivalentClass owl:Nothing) ]
+           
+[nothing3: (?C rdfs:subClassOf owl:Nothing) ->  (?C owl:equivalentClass owl:Nothing) ]
+
+[nothing4: (?C owl:oneOf rdf:nil) -> (?C owl:equivalentClass owl:Nothing) ]
+           
+#------------------------------------------------------------------
+# Disjointness
+#------------------------------------------------------------------
+
+[distinct1: (?X owl:differentFrom ?Y) <- 
+    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
+
+# Exploding the pairwise assertions is simply done procedurally here.
+# This is better handled by a dedicated equality reasoner any.
+[distinct2: (?w owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
+
+						
+#------------------------------------------------------------------
+# min cardinality
+#------------------------------------------------------------------
+
+[minRec: (?C owl:equivalentClass min(?P, 1)), notEqual(?P, rdf:type) ->
+    [min2b: (?X rdf:type ?C) <- (?X ?P ?Y)] ]
+
+#------------------------------------------------------------------
+# max cardinality 1
+#------------------------------------------------------------------
+
+[maxRec: (?C owl:equivalentClass max(?P, 1)), (?P rdf:type owl:FunctionalProperty)
+		-> (owl:Thing rdfs:subClassOf ?C) ]
+
+#------------------------------------------------------------------
+# max cardinality 0
+#------------------------------------------------------------------
+
+# For completeness this requires iff version of rdfs:domain working forwards which it does not just now
+[maxRec2: (?C owl:equivalentClass max(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
+	-> (?E owl:equivalentClass ?C)]
+	
+[cardRec1: (?C owl:equivalentClass card(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
+	-> (?E owl:equivalentClass ?C)]
+	
+#------------------------------------------------------------------
+# cardinality 1
+#------------------------------------------------------------------
+
+[restriction-inter-CFP: (?C owl:equivalentClass card(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
+     (?C owl:equivalentClass min(?P, 1)) ]
+
+[restriction6: (?C owl:equivalentClass min(?P, ?X)), (?C owl:equivalentClass max(?P, ?X)) 
+       					-> (?C owl:equivalentClass card(?P, ?X))]
+
+#------------------------------------------------------------------
+# Validation rules. These are dormant by default but are triggered
+# by the additional of a validation control triple to the graph.
+#------------------------------------------------------------------
+
+[validationDomainMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0)), (?P rdfs:domain ?C)  ->
+    (?P rb:violation error('inconsistent property definition', 'Property defined with domain which has a max(0) restriction for that property (domain)', ?C) )
+]
+
+[validationMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0))  -> 
+    [max2b: (?X rb:violation error('too many values', 'Value for max-0 property (prop, class)', ?P, ?C))
+    			<- (?X rdf:type ?C), (?X ?P ?Y) ] ]
+
+[validationMaxN: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, ?N)) ->
+    [max2b: (?X rb:violation error('too many values', 'Too many values on max-N property (prop, class)', ?P, ?C))
+    			<- (?X rdf:type ?C), countLiteralValues(?X, ?P, ?M), lessThan(?N, ?M)  ] ]
+
+[validationIndiv: (?v rb:validation on())  ->
+	[validationIndiv: (?X rb:violation error('conflict', 'Two individuals both same and different, may be due to disjoint classes or functional properties', ?Y)) 
+				<- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y) ] ]
+				
+[validationIndiv2: (?v rb:validation on()) (?X owl:disjointWith ?Y) -> 
+	[validationIndiv: (?I rb:violation error('conflict', 'Individual a member of disjoint classes', ?X, ?Y)) 
+				<- (?I rdf:type ?X), (?I rdf:type ?Y)] ]
+
+[validationIndiv3: (?v rb:validation on()) ->
+	[validationIndiv: (?I rb:violation error('conflict', 'Individual a member of Nothing', ?I)) 
+				<- (?I rdf:type owl:Nothing) ] ]
+
+[validationDisjoint: (?v rb:validation on()) (?X owl:disjointWith ?Y)  ->
+	[validationIndiv: (?X rb:violation warn('Inconsistent class', 'Two classes related by both subclass and disjoint relations', ?Y)) 
+				<- (?X owl:disjointWith ?Y), (?X rdfs:subClassOf ?Y) ] ]
+
+[validationDisjoint2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
+	[validationIndiv: (?C rb:violation warn('Inconsistent class', 'subclass of two disjoint classes', ?X, ?Y)) 
+				<- (?X owl:disjointWith ?Y), (?C rdfs:subClassOf ?X) (?C rdfs:subClassOf ?Y) notEqual(?C, owl:Nothing) ] ]
+
+[validationDTP: (?v rb:validation on()), (?P rdf:type owl:DatatypeProperty) ->
+	[validationDTP: (?X rb:violation error('range check', 'Object value for datatype property (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
+
+[validationOP: (?v rb:validation on()), (?P rdf:type owl:ObjectProperty) ->
+	[validationDTP: (?X rb:violation warn('range check', 'Literal value for object property (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), isLiteral(?V) ] ]
+
+[validationDTRange: (?v rb:validation on()), (?P rdfs:range ?R) (?R rdf:type rdfs:Datatype) ->
+	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), notDType(?V, ?R)  ] ]
+
+[validationDTRange: (?v rb:validation on()), (?P rdfs:range rdfs:Literal)  ->
+	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range rdsf:Literal (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
+
+[validationAllFrom: (?v rb:validation on()), (?C rdfs:subClassOf all(?P, ?R)) (?R rdf:type rdfs:Datatype) ->
+	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, ?R) ] ]
+
+[validationAllFrom: (?v rb:validation on()), (?C owl:equivalentClass all(?P, rdfs:Literal)) -> 
+	[validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom rdfs:Literal (prop, value)', ?P, ?V))
+				<- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, rdfs:Literal) 
+				 ] ]
+
+[validationNothing: (?v rb:validation on()), (?C owl:equivalentClass owl:Nothing) notEqual(?C, owl:Nothing) -> 
+	(?C rb:violation warn('Inconsistent class', 'Class cannot be instantiated, probably subclass of a disjoint classes or of an empty restriction'))
+]
+
+[validationRangeNothing: (?v rb:validation on()), (?P rdfs:range owl:Nothing) -> 
+	(?C rb:violation warn('Inconsistent property', 'Property cannot be instantiated, probably due to multiple disjoint range declarations'))
+]
+
+[validationOneOf: (?v rb:validation on()) (?C owl:oneOf ?L) ->
+	[validationIndiv: (?X rb:violation warn('possible oneof violation', 'Culprit is deduced to be of enumerated type (implicicated class) but is not one of the enumerations\n This may be due to aliasing.', ?Y)) 
+				<- (?X rdf:type ?C), notBNode(?X), listNotContains(?L, ?X) ] ]
+
+       					


[39/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/FOAF.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/FOAF.rdf b/jena-arq/Vocabularies/FOAF.rdf
index fdedde9..290dbe7 100644
--- a/jena-arq/Vocabularies/FOAF.rdf
+++ b/jena-arq/Vocabularies/FOAF.rdf
@@ -1,607 +1,607 @@
-<!-- This is the FOAF formal vocabulary description, expressed using W3C RDFS and OWL markup. -->
-<!-- For more information about FOAF:                                            -->
-<!--   see the FOAF project homepage, http://www.foaf-project.org/               -->
-<!--   FOAF specification, http://xmlns.com/foaf/spec/                             -->
-<!--                                                                             -->
-<!-- first we introduce a number of RDF namespaces we will be using... -->
-<rdf:RDF 
-	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
-	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
-	xmlns:owl="http://www.w3.org/2002/07/owl#" 
-	xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#" 
-	xmlns:foaf="http://xmlns.com/foaf/0.1/" 
-	xmlns:wot="http://xmlns.com/wot/0.1/" 
-	xmlns:dc="http://purl.org/dc/elements/1.1/">
-<!-- Here we describe general characteristics of the FOAF vocabulary ('ontology'). -->
-  <owl:Ontology rdf:about="http://xmlns.com/foaf/0.1/" dc:title="Friend of a Friend (FOAF) vocabulary" dc:description="The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." dc:date="$Date: 2007-06-16 23:18:26 $">
-
-<!-- outdated    <rdfs:seeAlso rdf:resource="http://www.w3.org/2001/08/rdfweb/foaf"/> -->
-<!-- unfashionable, removing...
-	    	<owl:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema"/>
-    		<owl:imports rdf:resource="http://www.w3.org/2002/07/owl"/> 		-->
-
-    <wot:assurance rdf:resource="../foafsig"/>
-    <wot:src_assurance rdf:resource="../htmlfoafsig"/>
-
-  </owl:Ontology>
-
-
-  <!-- OWL/RDF interop section - geeks only -->
-  <!--  most folk can ignore this lot. the game here is to make FOAF
-  	work with vanilla RDF/RDFS tools, and with the stricter OWL DL 
-	profile of OWL. At the moment we're in the OWL Full flavour of OWL. 
-	The following are tricks to try have the spec live in both worlds
-	at once. See
-		http://phoebus.cs.man.ac.uk:9999/OWL/Validator
-		http://www.mindswap.org/2003/pellet/demo.shtml
-	...for some tools that help. 					-->
-  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/assurance"/>
-  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/src_assurance"/>
-  <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/06/sw-vocab-status/ns#term_status"/>
-  <!--  DC terms are NOT annotation properties in general, so we consider the following 
-	claims scoped to this document. They may be removed in future revisions if
-	OWL tools become more flexible. -->
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/description"/>
-
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/title"/>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
-  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class"/>
-
-<!--  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Resource"/>
-  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Literal"/> -->
-  <!-- end of OWL/RDF interop voodoo. mostly. -->
-
-  
-<!-- FOAF classes (types) are listed first. -->
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person" rdfs:label="Person" rdfs:comment="A person." vs:term_status="stable">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Person"/></rdfs:subClassOf>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/></rdfs:subClassOf>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent"/></rdfs:subClassOf>
-    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2000/10/swap/pim/contact#Person"/></rdfs:subClassOf>
-    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/></rdfs:subClassOf>
-    <!-- aside: 
-	are spatial things always spatially located? 
-	Person includes imaginary people... discuss... -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
-
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Document" rdfs:label="Document" rdfs:comment="A document." vs:term_status="testing">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
-
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Organization" rdfs:label="Organization" rdfs:comment="An organization." vs:term_status="stable">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Organization"/></rdfs:subClassOf>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Group" vs:term_status="stable" rdfs:label="Group" rdfs:comment="A class of Agents.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Agent" vs:term_status="stable" rdfs:label="Agent" rdfs:comment="An agent (eg. person, group, software or physical artifact).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent-3"/></rdfs:subClassOf>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Project" vs:term_status="unstable" rdfs:label="Project" rdfs:comment="A project (a collective endeavour of some kind).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Project"/></rdfs:subClassOf>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-<!-- arguably a subclass of Agent; to be discussed -->
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Image" vs:term_status="testing" rdfs:label="Image" rdfs:comment="An image.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Document"/></rdfs:subClassOf>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/PersonalProfileDocument" rdfs:label="PersonalProfileDocument" rdfs:comment="A personal profile RDF document." vs:term_status="testing">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-  </rdfs:Class>
-
-	
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineAccount" vs:term_status="unstable" rdfs:label="Online Account" rdfs:comment="An online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineGamingAccount" vs:term_status="unstable" rdfs:label="Online Gaming Account" rdfs:comment="An online gaming account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineEcommerceAccount" vs:term_status="unstable" rdfs:label="Online E-commerce Account" rdfs:comment="An online e-commerce account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineChatAccount" vs:term_status="unstable" rdfs:label="Online Chat Account" rdfs:comment="An online chat account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-<!-- FOAF properties (ie. relationships). -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox" vs:term_status="stable" rdfs:label="personal mailbox" rdfs:comment="A 
-personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum" vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-
-<!--
-put it back in again 2006-01-29 - see 
-http://chatlogs.planetrdf.com/swig/2006-01-29.html#T21-12-35
-I have mailed rdfweb-dev@vapours.rdfweb.org for discussion.
-Libby
-
-Commenting out as a kindness to OWL DL users. The semantics didn't quite cover
-our usage anyway, since (a) we want static-across-time, which is so beyond OWL as 
-to be from another planet (b) we want identity reasoning invariant across xml:lang 
-tagging. FOAF code will know what to do. OWL folks note, this assertion might return. 
-
-danbri
--->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/gender" vs:term_status="testing" 
-rdfs:label="gender" 
-rdfs:comment="The gender of this Agent (typically but not necessarily 'male' or 'female').">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <!-- whatever one's gender is, and we are liberal in leaving room for more options 
-    than 'male' and 'female', we model this so that an agent has only one gender. -->
-  </rdf:Property>
-
-
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/geekcode" vs:term_status="testing" rdfs:label="geekcode" rdfs:comment="A textual geekcode for this person, see http://www.geekcode.com/geek.html">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/dnaChecksum" vs:term_status="unstable" rdfs:label="DNA checksum" rdfs:comment="A checksum for the DNA of some thing. Joke.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/sha1" vs:term_status="unstable" rdfs:label="sha1sum (hex)" rdfs:comment="A sha1sum hash, in hex.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-<!-- rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty" -->
-<!-- IFP under discussion -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/based_near" vs:term_status="unstable" rdfs:label="based near" rdfs:comment="A location that something is based near, for some broadly human notion of near.">
-<!-- see http://esw.w3.org/topic/GeoOnion for extension  ideas -->
-<!-- this was ranged as Agent... hmm -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- FOAF naming properties -->
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/title" vs:term_status="testing" rdfs:label="title" rdfs:comment="Title (Mr, Mrs, Ms, Dr. etc)">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/nick" vs:term_status="testing" rdfs:label="nickname" rdfs:comment="A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- ......................... chat IDs ........................... -->
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/jabberID" vs:term_status="testing" rdfs:label="jabber ID" rdfs:comment="A jabber ID for something.">
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-<!--
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-...different to the other IM IDs, as Jabber has wider usage, so 
-we don't want the implied rdfs:domain here.
-
--->
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <!-- there is a case for using resources/URIs here, ... -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/aimChatID" vs:term_status="testing" rdfs:label="AIM chat ID" rdfs:comment="An AIM chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-<!-- http://www.stud.uni-karlsruhe.de/~uck4/ICQ/Packet-112.html -->
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/icqChatID" vs:term_status="testing" rdfs:label="ICQ chat ID" rdfs:comment="An ICQ chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/yahooChatID" vs:term_status="testing" rdfs:label="Yahoo chat ID" rdfs:comment="A Yahoo chat ID">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/msnChatID" vs:term_status="testing" rdfs:label="MSN chat ID" rdfs:comment="An MSN chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-<!-- ....................................................... -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/name" vs:term_status="testing" rdfs:label="name" rdfs:comment="A name for some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/firstName" vs:term_status="testing" rdfs:label="firstName" rdfs:comment="The first name of a person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/givenname" vs:term_status="testing" rdfs:label="Given name" rdfs:comment="The given name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/surname" vs:term_status="testing" rdfs:label="Surname" rdfs:comment="The surname of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/family_name" vs:term_status="testing" rdfs:label="family_name" rdfs:comment="The family_name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdf:Property>
-<!-- end of naming properties. See http://rdfweb.org/issues/show_bug.cgi?id=7
-	   for open issue / re-design discussions.
-	-->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/phone" vs:term_status="testing" rdfs:label="phone" rdfs:comment="A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/homepage" vs:term_status="stable" rdfs:label="homepage" rdfs:comment="A homepage for some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <!--  previously: rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent" -->
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/weblog" vs:term_status="testing" rdfs:label="weblog" rdfs:comment="A weblog of some thing (whether person, group, company etc.).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/openid" vs:term_status="unstable" rdfs:label="openid" rdfs:comment="An OpenID 
-for an Agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/tipjar" vs:term_status="testing" rdfs:label="tipjar" rdfs:comment="A tipjar document for this agent, describing means for payment and reward.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/plan" vs:term_status="testing" rdfs:label="plan" rdfs:comment="A .plan comment, in the tradition of finger and '.plan' files.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/made" vs:term_status="stable" rdfs:label="made" rdfs:comment="Something that was made by this agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/maker"/>
-
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/maker"  vs:term_status="stable" rdfs:label="maker" rdfs:comment="An agent that 
-made this thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/made"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/img" vs:term_status="testing" rdfs:label="image" rdfs:comment="An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depiction" vs:term_status="testing" rdfs:label="depiction" rdfs:comment="A depiction of some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depicts"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depicts" vs:term_status="testing" rdfs:label="depicts" rdfs:comment="A thing depicted in this representation.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/thumbnail" vs:term_status="testing" rdfs:label="thumbnail" rdfs:comment="A derived thumbnail image.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/myersBriggs" vs:term_status="testing" rdfs:label="myersBriggs" rdfs:comment="A Myers Briggs (MBTI) personality classification.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workplaceHomepage" vs:term_status="testing" rdfs:label="workplace homepage" rdfs:comment="A workplace homepage of some person; the homepage of an organization they work for.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workInfoHomepage" vs:term_status="testing" rdfs:label="work info homepage" rdfs:comment="A work info homepage of some person; a page about their work for some organization.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/schoolHomepage" vs:term_status="testing" rdfs:label="schoolHomepage" rdfs:comment="A homepage of a school attended by the person.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/knows" vs:term_status="testing" rdfs:label="knows" rdfs:comment="A person known by this person (indicating some level of reciprocated interaction between the parties).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/interest" vs:term_status="testing" rdfs:label="interest" rdfs:comment="A page about a topic of interest to this person.">
-<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic_interest" vs:term_status="testing" rdfs:label="interest_topic" rdfs:comment="A thing of interest to this person.">
-<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
-<!--    foaf:interest_topic(P,R) 
-		always true whenever
-		foaf:interest(P,D), foaf:topic(D,R) 
-		ie. a person has a foaf:topic_interest in all things 
-		that are the foaf:topic of pages they have a foaf:interest in. 
-		hmm, does this mean i'm forced to be interested in all the things that are the 
-		topic of a page i'm interested in. thats a strong restriction on foaf:topic's utility.	-->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/publications" vs:term_status="unstable" rdfs:label="publications" rdfs:comment="A link to the publications of this person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- by libby for ILRT mappings 2001-10-31 -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/currentProject" vs:term_status="testing" rdfs:label="current project" rdfs:comment="A current project this person works on.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/pastProject" vs:term_status="testing" rdfs:label="past project" rdfs:comment="A project this person has previously worked on.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/fundedBy" vs:term_status="unstable" rdfs:label="funded by" rdfs:comment="An organization funding a project or person.">
-
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/logo" vs:term_status="testing" rdfs:label="logo" rdfs:comment="A logo representing some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic" vs:term_status="testing" rdfs:label="topic" rdfs:comment="A topic of some page or document.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/primaryTopic"
- vs:term_status="testing" rdfs:label="primary topic" rdfs:comment="The primary topic of some page or document.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"
- vs:term_status="testing" rdfs:label="is primary topic of" rdfs:comment="A document that this thing is the primary topic of.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/primaryTopic"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/page" vs:term_status="testing" rdfs:label="page" rdfs:comment="A page or document about this thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/topic"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/theme" vs:term_status="unstable" rdfs:label="theme" rdfs:comment="A theme.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/holdsAccount" vs:term_status="unstable" rdfs:label="holds account" rdfs:comment="Indicates an account held by this agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountServiceHomepage" vs:term_status="unstable" rdfs:label="account service homepage" rdfs:comment="Indicates a homepage of the service provide for this online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountName" vs:term_status="unstable" rdfs:label="account name" rdfs:comment="Indicates the name (identifier) associated with this online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/member" vs:term_status="stable" rdfs:label="member" rdfs:comment="Indicates a member of a Group">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/membershipClass" vs:term_status="unstable" rdfs:label="membershipClass" rdfs:comment="Indicates the class of individuals that are a member of a Group">
-    <!-- maybe we should just use SPARQL or Rules, instead of trying to use OWL here -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
-    <!-- Added to keep OWL DL from bluescreening. DON'T CROSS THE STREAMERS, etc. -->
-    <!-- This may get dropped if it means non-DL tools don't expose it as a real property.
-	 Should be fine though; I think only OWL stuff cares about AnnotationProperty.
-	 Dan									 -->
-
-<!--    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/> prose only for now...-->
-<!--    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> -->
-<!--    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Class"/> -->
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/birthday" vs:term_status="unstable" rdfs:label="birthday" rdfs:comment="The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-
-</rdf:RDF>
-
+<!-- This is the FOAF formal vocabulary description, expressed using W3C RDFS and OWL markup. -->
+<!-- For more information about FOAF:                                            -->
+<!--   see the FOAF project homepage, http://www.foaf-project.org/               -->
+<!--   FOAF specification, http://xmlns.com/foaf/spec/                             -->
+<!--                                                                             -->
+<!-- first we introduce a number of RDF namespaces we will be using... -->
+<rdf:RDF 
+	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
+	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
+	xmlns:owl="http://www.w3.org/2002/07/owl#" 
+	xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#" 
+	xmlns:foaf="http://xmlns.com/foaf/0.1/" 
+	xmlns:wot="http://xmlns.com/wot/0.1/" 
+	xmlns:dc="http://purl.org/dc/elements/1.1/">
+<!-- Here we describe general characteristics of the FOAF vocabulary ('ontology'). -->
+  <owl:Ontology rdf:about="http://xmlns.com/foaf/0.1/" dc:title="Friend of a Friend (FOAF) vocabulary" dc:description="The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." dc:date="$Date: 2007-06-16 23:18:26 $">
+
+<!-- outdated    <rdfs:seeAlso rdf:resource="http://www.w3.org/2001/08/rdfweb/foaf"/> -->
+<!-- unfashionable, removing...
+	    	<owl:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema"/>
+    		<owl:imports rdf:resource="http://www.w3.org/2002/07/owl"/> 		-->
+
+    <wot:assurance rdf:resource="../foafsig"/>
+    <wot:src_assurance rdf:resource="../htmlfoafsig"/>
+
+  </owl:Ontology>
+
+
+  <!-- OWL/RDF interop section - geeks only -->
+  <!--  most folk can ignore this lot. the game here is to make FOAF
+  	work with vanilla RDF/RDFS tools, and with the stricter OWL DL 
+	profile of OWL. At the moment we're in the OWL Full flavour of OWL. 
+	The following are tricks to try have the spec live in both worlds
+	at once. See
+		http://phoebus.cs.man.ac.uk:9999/OWL/Validator
+		http://www.mindswap.org/2003/pellet/demo.shtml
+	...for some tools that help. 					-->
+  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/assurance"/>
+  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/src_assurance"/>
+  <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/06/sw-vocab-status/ns#term_status"/>
+  <!--  DC terms are NOT annotation properties in general, so we consider the following 
+	claims scoped to this document. They may be removed in future revisions if
+	OWL tools become more flexible. -->
+  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/description"/>
+
+  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/title"/>
+  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
+  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class"/>
+
+<!--  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Resource"/>
+  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Literal"/> -->
+  <!-- end of OWL/RDF interop voodoo. mostly. -->
+
+  
+<!-- FOAF classes (types) are listed first. -->
+
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person" rdfs:label="Person" rdfs:comment="A person." vs:term_status="stable">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Person"/></rdfs:subClassOf>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/></rdfs:subClassOf>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent"/></rdfs:subClassOf>
+    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2000/10/swap/pim/contact#Person"/></rdfs:subClassOf>
+    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/></rdfs:subClassOf>
+    <!-- aside: 
+	are spatial things always spatially located? 
+	Person includes imaginary people... discuss... -->
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
+
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Document" rdfs:label="Document" rdfs:comment="A document." vs:term_status="testing">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
+
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Organization" rdfs:label="Organization" rdfs:comment="An organization." vs:term_status="stable">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Organization"/></rdfs:subClassOf>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Group" vs:term_status="stable" rdfs:label="Group" rdfs:comment="A class of Agents.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Agent" vs:term_status="stable" rdfs:label="Agent" rdfs:comment="An agent (eg. person, group, software or physical artifact).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent-3"/></rdfs:subClassOf>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Project" vs:term_status="unstable" rdfs:label="Project" rdfs:comment="A project (a collective endeavour of some kind).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Project"/></rdfs:subClassOf>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+<!-- arguably a subclass of Agent; to be discussed -->
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Image" vs:term_status="testing" rdfs:label="Image" rdfs:comment="An image.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Document"/></rdfs:subClassOf>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/PersonalProfileDocument" rdfs:label="PersonalProfileDocument" rdfs:comment="A personal profile RDF document." vs:term_status="testing">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+  </rdfs:Class>
+
+	
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineAccount" vs:term_status="unstable" rdfs:label="Online Account" rdfs:comment="An online account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineGamingAccount" vs:term_status="unstable" rdfs:label="Online Gaming Account" rdfs:comment="An online gaming account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineEcommerceAccount" vs:term_status="unstable" rdfs:label="Online E-commerce Account" rdfs:comment="An online e-commerce account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdfs:Class>
+  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineChatAccount" vs:term_status="unstable" rdfs:label="Online Chat Account" rdfs:comment="An online chat account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
+    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdfs:Class>
+<!-- FOAF properties (ie. relationships). -->
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox" vs:term_status="stable" rdfs:label="personal mailbox" rdfs:comment="A 
+personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum" vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+
+<!--
+put it back in again 2006-01-29 - see 
+http://chatlogs.planetrdf.com/swig/2006-01-29.html#T21-12-35
+I have mailed rdfweb-dev@vapours.rdfweb.org for discussion.
+Libby
+
+Commenting out as a kindness to OWL DL users. The semantics didn't quite cover
+our usage anyway, since (a) we want static-across-time, which is so beyond OWL as 
+to be from another planet (b) we want identity reasoning invariant across xml:lang 
+tagging. FOAF code will know what to do. OWL folks note, this assertion might return. 
+
+danbri
+-->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/gender" vs:term_status="testing" 
+rdfs:label="gender" 
+rdfs:comment="The gender of this Agent (typically but not necessarily 'male' or 'female').">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <!-- whatever one's gender is, and we are liberal in leaving room for more options 
+    than 'male' and 'female', we model this so that an agent has only one gender. -->
+  </rdf:Property>
+
+
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/geekcode" vs:term_status="testing" rdfs:label="geekcode" rdfs:comment="A textual geekcode for this person, see http://www.geekcode.com/geek.html">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/dnaChecksum" vs:term_status="unstable" rdfs:label="DNA checksum" rdfs:comment="A checksum for the DNA of some thing. Joke.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/sha1" vs:term_status="unstable" rdfs:label="sha1sum (hex)" rdfs:comment="A sha1sum hash, in hex.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+<!-- rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty" -->
+<!-- IFP under discussion -->
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/based_near" vs:term_status="unstable" rdfs:label="based near" rdfs:comment="A location that something is based near, for some broadly human notion of near.">
+<!-- see http://esw.w3.org/topic/GeoOnion for extension  ideas -->
+<!-- this was ranged as Agent... hmm -->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+<!-- FOAF naming properties -->
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/title" vs:term_status="testing" rdfs:label="title" rdfs:comment="Title (Mr, Mrs, Ms, Dr. etc)">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/nick" vs:term_status="testing" rdfs:label="nickname" rdfs:comment="A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+<!-- ......................... chat IDs ........................... -->
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/jabberID" vs:term_status="testing" rdfs:label="jabber ID" rdfs:comment="A jabber ID for something.">
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+<!--
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
+...different to the other IM IDs, as Jabber has wider usage, so 
+we don't want the implied rdfs:domain here.
+
+-->
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <!-- there is a case for using resources/URIs here, ... -->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/aimChatID" vs:term_status="testing" rdfs:label="AIM chat ID" rdfs:comment="An AIM chat ID">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+  </rdf:Property>
+<!-- http://www.stud.uni-karlsruhe.de/~uck4/ICQ/Packet-112.html -->
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/icqChatID" vs:term_status="testing" rdfs:label="ICQ chat ID" rdfs:comment="An ICQ chat ID">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/yahooChatID" vs:term_status="testing" rdfs:label="Yahoo chat ID" rdfs:comment="A Yahoo chat ID">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/msnChatID" vs:term_status="testing" rdfs:label="MSN chat ID" rdfs:comment="An MSN chat ID">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+  </rdf:Property>
+<!-- ....................................................... -->
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/name" vs:term_status="testing" rdfs:label="name" rdfs:comment="A name for some thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/firstName" vs:term_status="testing" rdfs:label="firstName" rdfs:comment="The first name of a person.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/givenname" vs:term_status="testing" rdfs:label="Given name" rdfs:comment="The given name of some person.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/surname" vs:term_status="testing" rdfs:label="Surname" rdfs:comment="The surname of some person.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/family_name" vs:term_status="testing" rdfs:label="family_name" rdfs:comment="The family_name of some person.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdf:Property>
+<!-- end of naming properties. See http://rdfweb.org/issues/show_bug.cgi?id=7
+	   for open issue / re-design discussions.
+	-->
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/phone" vs:term_status="testing" rdfs:label="phone" rdfs:comment="A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/homepage" vs:term_status="stable" rdfs:label="homepage" rdfs:comment="A homepage for some thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
+
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+    <!--  previously: rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent" -->
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/weblog" vs:term_status="testing" rdfs:label="weblog" rdfs:comment="A weblog of some thing (whether person, group, company etc.).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/openid" vs:term_status="unstable" rdfs:label="openid" rdfs:comment="An OpenID 
+for an Agent.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/tipjar" vs:term_status="testing" rdfs:label="tipjar" rdfs:comment="A tipjar document for this agent, describing means for payment and reward.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/plan" vs:term_status="testing" rdfs:label="plan" rdfs:comment="A .plan comment, in the tradition of finger and '.plan' files.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/made" vs:term_status="stable" rdfs:label="made" rdfs:comment="Something that was made by this agent.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/maker"/>
+
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/maker"  vs:term_status="stable" rdfs:label="maker" rdfs:comment="An agent that 
+made this thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/made"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/img" vs:term_status="testing" rdfs:label="image" rdfs:comment="An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depiction" vs:term_status="testing" rdfs:label="depiction" rdfs:comment="A depiction of some thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depicts"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depicts" vs:term_status="testing" rdfs:label="depicts" rdfs:comment="A thing depicted in this representation.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/thumbnail" vs:term_status="testing" rdfs:label="thumbnail" rdfs:comment="A derived thumbnail image.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/myersBriggs" vs:term_status="testing" rdfs:label="myersBriggs" rdfs:comment="A Myers Briggs (MBTI) personality classification.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workplaceHomepage" vs:term_status="testing" rdfs:label="workplace homepage" rdfs:comment="A workplace homepage of some person; the homepage of an organization they work for.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workInfoHomepage" vs:term_status="testing" rdfs:label="work info homepage" rdfs:comment="A work info homepage of some person; a page about their work for some organization.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/schoolHomepage" vs:term_status="testing" rdfs:label="schoolHomepage" rdfs:comment="A homepage of a school attended by the person.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/knows" vs:term_status="testing" rdfs:label="knows" rdfs:comment="A person known by this person (indicating some level of reciprocated interaction between the parties).">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/interest" vs:term_status="testing" rdfs:label="interest" rdfs:comment="A page about a topic of interest to this person.">
+<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic_interest" vs:term_status="testing" rdfs:label="interest_topic" rdfs:comment="A thing of interest to this person.">
+<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
+<!--    foaf:interest_topic(P,R) 
+		always true whenever
+		foaf:interest(P,D), foaf:topic(D,R) 
+		ie. a person has a foaf:topic_interest in all things 
+		that are the foaf:topic of pages they have a foaf:interest in. 
+		hmm, does this mean i'm forced to be interested in all the things that are the 
+		topic of a page i'm interested in. thats a strong restriction on foaf:topic's utility.	-->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/publications" vs:term_status="unstable" rdfs:label="publications" rdfs:comment="A link to the publications of this person.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+<!-- by libby for ILRT mappings 2001-10-31 -->
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/currentProject" vs:term_status="testing" rdfs:label="current project" rdfs:comment="A current project this person works on.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/pastProject" vs:term_status="testing" rdfs:label="past project" rdfs:comment="A project this person has previously worked on.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/fundedBy" vs:term_status="unstable" rdfs:label="funded by" rdfs:comment="An organization funding a project or person.">
+
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/logo" vs:term_status="testing" rdfs:label="logo" rdfs:comment="A logo representing some thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic" vs:term_status="testing" rdfs:label="topic" rdfs:comment="A topic of some page or document.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/primaryTopic"
+ vs:term_status="testing" rdfs:label="primary topic" rdfs:comment="The primary topic of some page or document.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"
+ vs:term_status="testing" rdfs:label="is primary topic of" rdfs:comment="A document that this thing is the primary topic of.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
+    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/primaryTopic"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/page" vs:term_status="testing" rdfs:label="page" rdfs:comment="A page or document about this thing.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/topic"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/theme" vs:term_status="unstable" rdfs:label="theme" rdfs:comment="A theme.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/holdsAccount" vs:term_status="unstable" rdfs:label="holds account" rdfs:comment="Indicates an account held by this agent.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountServiceHomepage" vs:term_status="unstable" rdfs:label="account service homepage" rdfs:comment="Indicates a homepage of the service provide for this online account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountName" vs:term_status="unstable" rdfs:label="account name" rdfs:comment="Indicates the name (identifier) associated with this online account.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/member" vs:term_status="stable" rdfs:label="member" rdfs:comment="Indicates a member of a Group">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+
+  </rdf:Property>
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/membershipClass" vs:term_status="unstable" rdfs:label="membershipClass" rdfs:comment="Indicates the class of individuals that are a member of a Group">
+    <!-- maybe we should just use SPARQL or Rules, instead of trying to use OWL here -->
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
+    <!-- Added to keep OWL DL from bluescreening. DON'T CROSS THE STREAMERS, etc. -->
+    <!-- This may get dropped if it means non-DL tools don't expose it as a real property.
+	 Should be fine though; I think only OWL stuff cares about AnnotationProperty.
+	 Dan									 -->
+
+<!--    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/> prose only for now...-->
+<!--    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> -->
+<!--    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Class"/> -->
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+
+  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/birthday" vs:term_status="unstable" rdfs:label="birthday" rdfs:comment="The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.">
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
+
+    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
+  </rdf:Property>
+
+
+</rdf:RDF>
+


[15/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputFormat.java
index 1759958..9f11fe9 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputFormat.java
@@ -1,39 +1,39 @@
-/*
- * 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.hadoop.rdf.io.input.trix;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.trix.TriXReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
-/**
- * Input format for TriX
- */
-public class TriXInputFormat extends AbstractWholeFileInputFormat<LongWritable, QuadWritable> {
-
-    @Override
-    public RecordReader<LongWritable, QuadWritable> createRecordReader(InputSplit split, TaskAttemptContext context) {
-        return new TriXReader();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.trix;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.trix.TriXReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+/**
+ * Input format for TriX
+ */
+public class TriXInputFormat extends AbstractWholeFileInputFormat<LongWritable, QuadWritable> {
+
+    @Override
+    public RecordReader<LongWritable, QuadWritable> createRecordReader(InputSplit split, TaskAttemptContext context) {
+        return new TriXReader();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputFormat.java
index 2734f24..983b21e 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.turtle;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.turtle.TurtleReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.turtle.TurtleReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStream.java
index a9e692e..9dd4ccd 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStream.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/RdfIOUtils.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/RdfIOUtils.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/RdfIOUtils.java
index 26fe661..6ba14d7 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/RdfIOUtils.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/RdfIOUtils.java
@@ -1,97 +1,97 @@
-/*
- * 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.hadoop.rdf.io.input.util;
-
-import java.util.UUID;
-
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.mapreduce.JobContext;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.riot.lang.LabelToNode;
-import org.apache.jena.riot.system.* ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * RDF IO utility functions
- * 
- * 
- * 
- */
-public class RdfIOUtils {
-    private static final Logger LOGGER = LoggerFactory.getLogger(RdfIOUtils.class);
-
-    /**
-     * Private constructor prevents instantiation
-     */
-    private RdfIOUtils() {
-    }
-
-    /**
-     * Creates a parser profile for the given job context
-     * 
-     * @param context
-     *            Context
-     * @param path
-     *            File path
-     * @return Parser profile
-     */
-    public static ParserProfile createParserProfile(JobContext context, Path path) {
-        Prologue prologue = new Prologue(PrefixMapFactory.createForInput(), IRIResolver.createNoResolve());
-        UUID seed = RdfIOUtils.getSeed(context, path);
-        LabelToNode labelMapping = LabelToNode.createScopeByDocumentHash(seed);
-        return new ParserProfileBase(prologue, ErrorHandlerFactory.errorHandlerStd, RiotLib.factoryRDF(labelMapping));
-    }
-
-    /**
-     * Selects a seed for use in generating blank node identifiers
-     * 
-     * @param context
-     *            Job Context
-     * @param path
-     *            File path
-     * @return Seed
-     */
-    public static UUID getSeed(JobContext context, Path path) {
-        // This is to ensure that blank node allocation policy is constant when
-        // subsequent MapReduce jobs need that
-        String jobId = context.getJobID().toString();
-        if (jobId == null) {
-            jobId = String.valueOf(System.currentTimeMillis());
-            LOGGER.warn(
-                    "Job ID was not set, using current milliseconds of {}. Sequence of MapReduce jobs must carefully handle blank nodes.",
-                    jobId);
-        }
-
-        if (!context.getConfiguration().getBoolean(RdfIOConstants.GLOBAL_BNODE_IDENTITY, false)) {
-            // Using normal file scoped blank node allocation
-            LOGGER.debug("Generating Blank Node Seed from Job Details (ID={}, Input Path={})", jobId, path);
-
-            // Form a reproducible seed for the run
-            return new UUID(jobId.hashCode(), path.hashCode());
-        } else {
-            // Using globally scoped blank node allocation
-            LOGGER.warn(
-                    "Using globally scoped blank node allocation policy from Job Details (ID={}) - this is unsafe if your RDF inputs did not originate from a previous job",
-                    jobId);
-            
-            return new UUID(jobId.hashCode(), 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.hadoop.rdf.io.input.util;
+
+import java.util.UUID;
+
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.riot.lang.LabelToNode;
+import org.apache.jena.riot.system.* ;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * RDF IO utility functions
+ * 
+ * 
+ * 
+ */
+public class RdfIOUtils {
+    private static final Logger LOGGER = LoggerFactory.getLogger(RdfIOUtils.class);
+
+    /**
+     * Private constructor prevents instantiation
+     */
+    private RdfIOUtils() {
+    }
+
+    /**
+     * Creates a parser profile for the given job context
+     * 
+     * @param context
+     *            Context
+     * @param path
+     *            File path
+     * @return Parser profile
+     */
+    public static ParserProfile createParserProfile(JobContext context, Path path) {
+        Prologue prologue = new Prologue(PrefixMapFactory.createForInput(), IRIResolver.createNoResolve());
+        UUID seed = RdfIOUtils.getSeed(context, path);
+        LabelToNode labelMapping = LabelToNode.createScopeByDocumentHash(seed);
+        return new ParserProfileBase(prologue, ErrorHandlerFactory.errorHandlerStd, RiotLib.factoryRDF(labelMapping));
+    }
+
+    /**
+     * Selects a seed for use in generating blank node identifiers
+     * 
+     * @param context
+     *            Job Context
+     * @param path
+     *            File path
+     * @return Seed
+     */
+    public static UUID getSeed(JobContext context, Path path) {
+        // This is to ensure that blank node allocation policy is constant when
+        // subsequent MapReduce jobs need that
+        String jobId = context.getJobID().toString();
+        if (jobId == null) {
+            jobId = String.valueOf(System.currentTimeMillis());
+            LOGGER.warn(
+                    "Job ID was not set, using current milliseconds of {}. Sequence of MapReduce jobs must carefully handle blank nodes.",
+                    jobId);
+        }
+
+        if (!context.getConfiguration().getBoolean(RdfIOConstants.GLOBAL_BNODE_IDENTITY, false)) {
+            // Using normal file scoped blank node allocation
+            LOGGER.debug("Generating Blank Node Seed from Job Details (ID={}, Input Path={})", jobId, path);
+
+            // Form a reproducible seed for the run
+            return new UUID(jobId.hashCode(), path.hashCode());
+        } else {
+            // Using globally scoped blank node allocation
+            LOGGER.warn(
+                    "Using globally scoped blank node allocation policy from Job Details (ID={}) - this is unsafe if your RDF inputs did not originate from a previous job",
+                    jobId);
+            
+            return new UUID(jobId.hashCode(), 0);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackableInputStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackableInputStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackableInputStream.java
index 92e2df5..cc0455c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackableInputStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackableInputStream.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.InputStream;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStream.java
index e51a866..73b7aa1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStream.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedQuadsStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedQuadsStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedQuadsStream.java
index 3759496..e78d884 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedQuadsStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedQuadsStream.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.Triple ;
 import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A tracked piped quads stream

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedRDFStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedRDFStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedRDFStream.java
index 6e910be..4af12e6 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedRDFStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedRDFStream.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.util.LinkedList;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedTriplesStream.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedTriplesStream.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedTriplesStream.java
index 1095fa8..d37cee1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedTriplesStream.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedPipedTriplesStream.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.Triple ;
 import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A tracked piped triples stream

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractBatchedNodeTupleOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractBatchedNodeTupleOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractBatchedNodeTupleOutputFormat.java
index 02fbf9c..175d9ff 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractBatchedNodeTupleOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractBatchedNodeTupleOutputFormat.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output;
 
 import java.io.Writer;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedNodeTupleWriter;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedNodeTupleWriter;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeOutputFormat.java
index aec3309..64b0d1b 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeOutputFormat.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output;
 
 import java.io.IOException;
@@ -32,7 +32,7 @@ import org.apache.hadoop.mapreduce.RecordWriter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
 import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormat.java
index fd86f00..b98d652 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormat.java
@@ -1,109 +1,109 @@
-/*
- * 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.hadoop.rdf.io.output;
-
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataOutputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.io.compress.GzipCodec;
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
-import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * An abstract implementation of an output format for line based tuple formats
- * where the key is ignored and only the tuple values will be output
- * 
- * 
- * @param <TKey>
- *            Key type
- * @param <TValue>
- *            Tuple value type
- * @param <T>
- *            Writable node tuple type
- * 
- */
-public abstract class AbstractNodeTupleOutputFormat<TKey, TValue, T extends AbstractNodeTupleWritable<TValue>> extends
-        FileOutputFormat<TKey, T> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleOutputFormat.class);
-
-    @Override
-    public RecordWriter<TKey, T> getRecordWriter(TaskAttemptContext context) throws IOException {
-        Configuration config = context.getConfiguration();
-        boolean isCompressed = getCompressOutput(context);
-        CompressionCodec codec = null;
-        
-        // Build the output file path
-        String extension = this.getFileExtension();
-        if (isCompressed) {
-            // Add compression extension if applicable
-            Class<? extends CompressionCodec> codecClass = getOutputCompressorClass(context, GzipCodec.class);
-            codec = ReflectionUtils.newInstance(codecClass, config);
-            extension += codec.getDefaultExtension();
-        }
-        Path file = getDefaultWorkFile(context, extension);
-        LOG.info("Writing output to file " + file);
-        
-        // Open the file appropriately and create a record writer for it
-        FileSystem fs = file.getFileSystem(config);
-        if (!isCompressed) {
-            FSDataOutputStream fileOut = fs.create(file, false);
-            return this.getRecordWriter(new OutputStreamWriter(fileOut), config, file);
-        } else {
-            FSDataOutputStream fileOut = fs.create(file, false);
-            return this.getRecordWriter(new OutputStreamWriter(codec.createOutputStream(fileOut)), config, file);
-        }
-    }
-
-    /**
-     * Gets the file extension to use for output
-     * 
-     * @return File extension including the '.'
-     */
-    protected abstract String getFileExtension();
-
-    /**
-     * Gets the record writer to use
-     * 
-     * @param writer
-     *            Writer to write output to
-     * @param config
-     *            Configuration
-     * @param outputPath
-     *            Output path being written to
-     * @return Record writer
-     * @throws IOException
-     *             May be thrown if a record writer cannot be obtained for any
-     *             reason
-     */
-    protected abstract RecordWriter<TKey, T> getRecordWriter(Writer writer, Configuration config, Path outputPath)
-            throws IOException;
-
-}
+/*
+ * 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.hadoop.rdf.io.output;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataOutputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.io.compress.GzipCodec;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
+import org.apache.hadoop.util.ReflectionUtils;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract implementation of an output format for line based tuple formats
+ * where the key is ignored and only the tuple values will be output
+ * 
+ * 
+ * @param <TKey>
+ *            Key type
+ * @param <TValue>
+ *            Tuple value type
+ * @param <T>
+ *            Writable node tuple type
+ * 
+ */
+public abstract class AbstractNodeTupleOutputFormat<TKey, TValue, T extends AbstractNodeTupleWritable<TValue>> extends
+        FileOutputFormat<TKey, T> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleOutputFormat.class);
+
+    @Override
+    public RecordWriter<TKey, T> getRecordWriter(TaskAttemptContext context) throws IOException {
+        Configuration config = context.getConfiguration();
+        boolean isCompressed = getCompressOutput(context);
+        CompressionCodec codec = null;
+        
+        // Build the output file path
+        String extension = this.getFileExtension();
+        if (isCompressed) {
+            // Add compression extension if applicable
+            Class<? extends CompressionCodec> codecClass = getOutputCompressorClass(context, GzipCodec.class);
+            codec = ReflectionUtils.newInstance(codecClass, config);
+            extension += codec.getDefaultExtension();
+        }
+        Path file = getDefaultWorkFile(context, extension);
+        LOG.info("Writing output to file " + file);
+        
+        // Open the file appropriately and create a record writer for it
+        FileSystem fs = file.getFileSystem(config);
+        if (!isCompressed) {
+            FSDataOutputStream fileOut = fs.create(file, false);
+            return this.getRecordWriter(new OutputStreamWriter(fileOut), config, file);
+        } else {
+            FSDataOutputStream fileOut = fs.create(file, false);
+            return this.getRecordWriter(new OutputStreamWriter(codec.createOutputStream(fileOut)), config, file);
+        }
+    }
+
+    /**
+     * Gets the file extension to use for output
+     * 
+     * @return File extension including the '.'
+     */
+    protected abstract String getFileExtension();
+
+    /**
+     * Gets the record writer to use
+     * 
+     * @param writer
+     *            Writer to write output to
+     * @param config
+     *            Configuration
+     * @param outputPath
+     *            Output path being written to
+     * @return Record writer
+     * @throws IOException
+     *             May be thrown if a record writer cannot be obtained for any
+     *             reason
+     */
+    protected abstract RecordWriter<TKey, T> getRecordWriter(Writer writer, Configuration config, Path outputPath)
+            throws IOException;
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputFormat.java
index 926a708..5d2c10b 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputFormat.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.nquads;
 
 import java.io.Writer;
-
+
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.nquads.NQuadsWriter;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.nquads.NQuadsWriter;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * NQuads output format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesNodeOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesNodeOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesNodeOutputFormat.java
index 56935bb..a33b32e 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesNodeOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesNodeOutputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.ntriples;
 
 import java.io.Writer;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.hadoop.rdf.io.output.AbstractNodeOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.ntriples.NTriplesNodeWriter;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.io.output.AbstractNodeOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.ntriples.NTriplesNodeWriter;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputFormat.java
index 65a92c6..65e1665 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputFormat.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.ntriples;
 
 import java.io.Writer;
-
+
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.ntriples.NTriplesWriter;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.ntriples.NTriplesWriter;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * NTriples output format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputFormat.java
index 3b1e340..13e996b 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputFormat.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.rdfjson;
 
 import java.io.Writer;
-
+
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.rdfjson.RdfJsonWriter;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.rdfjson.RdfJsonWriter;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * RDF/JSON output format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputFormat.java
index 24cc752..8955e4c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputFormat.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.rdfxml;
 
 import java.io.Writer;
-
+
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.rdfxml.RdfXmlWriter;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.rdfxml.RdfXmlWriter;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * RDF/XML output format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputFormat.java
index 9d37f9e..48a8694 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputFormat.java
@@ -1,53 +1,53 @@
-/*
- * 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.hadoop.rdf.io.output.trig;
-
-import java.io.Writer;
-
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.hadoop.rdf.io.output.AbstractBatchedNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.trig.BatchedTriGWriter;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * Output format for TriG that uses a batched approach, note that this will
- * produce invalid data where blank nodes span batches so it is typically better
- * to use the {@link TriGOutputFormat} instead
- * 
- * 
- * 
- * @param <TKey>
- *            Key type
- */
-public class BatchedTriGOutputFormat<TKey> extends
-		AbstractBatchedNodeTupleOutputFormat<TKey, Quad, QuadWritable> {
-
-	@Override
-	protected RecordWriter<TKey, QuadWritable> getRecordWriter(Writer writer,
-			long batchSize) {
-		return new BatchedTriGWriter<TKey>(writer, batchSize);
-	}
-
-	@Override
-	protected String getFileExtension() {
-		return ".trig";
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.trig;
+
+import java.io.Writer;
+
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.jena.hadoop.rdf.io.output.AbstractBatchedNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.trig.BatchedTriGWriter;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * Output format for TriG that uses a batched approach, note that this will
+ * produce invalid data where blank nodes span batches so it is typically better
+ * to use the {@link TriGOutputFormat} instead
+ * 
+ * 
+ * 
+ * @param <TKey>
+ *            Key type
+ */
+public class BatchedTriGOutputFormat<TKey> extends
+		AbstractBatchedNodeTupleOutputFormat<TKey, Quad, QuadWritable> {
+
+	@Override
+	protected RecordWriter<TKey, QuadWritable> getRecordWriter(Writer writer,
+			long batchSize) {
+		return new BatchedTriGWriter<TKey>(writer, batchSize);
+	}
+
+	@Override
+	protected String getFileExtension() {
+		return ".trig";
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputFormat.java
index 1493d7f..3d528bc 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputFormat.java
@@ -1,49 +1,49 @@
-/*
- * 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.hadoop.rdf.io.output.turtle;
-
-import java.io.Writer;
-
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.output.AbstractBatchedNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.turtle.BatchedTurtleWriter;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
-/**
- * Output format for Turtle that uses a batched approach, note that this will
- * produce invalid data where blank nodes span batches so it is typically better
- * to use the {@link TurtleOutputFormat} instead
- * 
- * @param <TKey>
- *            Key type
- */
-public class BatchedTurtleOutputFormat<TKey> extends AbstractBatchedNodeTupleOutputFormat<TKey, Triple, TripleWritable> {
-
-    @Override
-    protected RecordWriter<TKey, TripleWritable> getRecordWriter(Writer writer, long batchSize) {
-        return new BatchedTurtleWriter<TKey>(writer, batchSize);
-    }
-
-    @Override
-    protected String getFileExtension() {
-        return ".ttl";
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.turtle;
+
+import java.io.Writer;
+
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractBatchedNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.turtle.BatchedTurtleWriter;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+/**
+ * Output format for Turtle that uses a batched approach, note that this will
+ * produce invalid data where blank nodes span batches so it is typically better
+ * to use the {@link TurtleOutputFormat} instead
+ * 
+ * @param <TKey>
+ *            Key type
+ */
+public class BatchedTurtleOutputFormat<TKey> extends AbstractBatchedNodeTupleOutputFormat<TKey, Triple, TripleWritable> {
+
+    @Override
+    protected RecordWriter<TKey, TripleWritable> getRecordWriter(Writer writer, long batchSize) {
+        return new BatchedTurtleWriter<TKey>(writer, batchSize);
+    }
+
+    @Override
+    protected String getFileExtension() {
+        return ".ttl";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleOutputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleOutputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleOutputFormat.java
index 85ac0c5..f46fb0c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleOutputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleOutputFormat.java
@@ -1,55 +1,55 @@
-/*
- * 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.hadoop.rdf.io.output.turtle;
-
-import java.io.Writer;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.output.AbstractStreamRdfNodeTupleOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.writers.StreamRdfTripleWriter;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.system.StreamRDF;
-import org.apache.jena.riot.writer.WriterStreamRDFBlocks;
-
-/**
- * Turtle output format
- * 
- * @param <TKey>
- *            Key type
- */
-public class TurtleOutputFormat<TKey> extends AbstractStreamRdfNodeTupleOutputFormat<TKey, Triple, TripleWritable> {
-
-    @Override
-    protected String getFileExtension() {
-        return ".ttl";
-    }
-
-    @Override
-    protected RecordWriter<TKey, TripleWritable> getRecordWriter(StreamRDF stream, Writer writer, Configuration config) {
-        return new StreamRdfTripleWriter<TKey>(stream, writer);
-    }
-
-    @Override
-    protected StreamRDF getStream(Writer writer, Configuration config) {
-        return new WriterStreamRDFBlocks(writer);
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.turtle;
+
+import java.io.Writer;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.output.AbstractStreamRdfNodeTupleOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.writers.StreamRdfTripleWriter;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.system.StreamRDF;
+import org.apache.jena.riot.writer.WriterStreamRDFBlocks;
+
+/**
+ * Turtle output format
+ * 
+ * @param <TKey>
+ *            Key type
+ */
+public class TurtleOutputFormat<TKey> extends AbstractStreamRdfNodeTupleOutputFormat<TKey, Triple, TripleWritable> {
+
+    @Override
+    protected String getFileExtension() {
+        return ".ttl";
+    }
+
+    @Override
+    protected RecordWriter<TKey, TripleWritable> getRecordWriter(StreamRDF stream, Writer writer, Configuration config) {
+        return new StreamRdfTripleWriter<TKey>(stream, writer);
+    }
+
+    @Override
+    protected StreamRDF getStream(Writer writer, Configuration config) {
+        return new WriterStreamRDFBlocks(writer);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedNodeTupleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedNodeTupleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedNodeTupleWriter.java
index cb51b6e..ac09463 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedNodeTupleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedNodeTupleWriter.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.IOException;
@@ -23,7 +23,7 @@ import java.io.Writer;
 
 import org.apache.hadoop.mapreduce.RecordWriter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedQuadWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedQuadWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedQuadWriter.java
index 8c8df50..22b7771 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedQuadWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedQuadWriter.java
@@ -1,35 +1,35 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
 import java.util.List;
-
+
 import org.apache.commons.collections.IteratorUtils;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.riot.RDFWriterRegistry;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract batched record writer for quad formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedTripleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedTripleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedTripleWriter.java
index 01d5977..322921c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedTripleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractBatchedTripleWriter.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
-
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.sparql.graph.GraphFactory ;
+import org.apache.jena.sparql.graph.GraphFactory ;
 
 /**
  * Abstract batched record writer for triple formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedNodeTupleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedNodeTupleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedNodeTupleWriter.java
index 1df0e62..ae82036 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedNodeTupleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedNodeTupleWriter.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
-
+
 import org.apache.hadoop.mapreduce.RecordWriter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.jena.atlas.io.AWriter;
 import org.apache.jena.atlas.io.Writer2;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
 import org.apache.jena.riot.out.NodeFormatter;
 import org.apache.jena.riot.out.NodeFormatterNT;
 import org.slf4j.Logger;


[08/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapper.java
index 4fe2e0f..c2848aa 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper for counting node usages within quads designed primarily for use in

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapper.java
index 30b584d..b57a7ae 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A mapper for counting node usages within triples designed primarily for use

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/QuadDataTypeCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/QuadDataTypeCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/QuadDataTypeCountMapper.java
index fa4b79e..a8a241b 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/QuadDataTypeCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/QuadDataTypeCountMapper.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.datatypes;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 /**
  * A mapper for counting data type usages within quads designed primarily for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/TripleDataTypeCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/TripleDataTypeCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/TripleDataTypeCountMapper.java
index 1c0a02d..d238176 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/TripleDataTypeCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/datatypes/TripleDataTypeCountMapper.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.datatypes;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A mapper for counting data type usages within triples designed primarily for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/AbstractNodeTupleNamespaceCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/AbstractNodeTupleNamespaceCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/AbstractNodeTupleNamespaceCountMapper.java
index c343526..822efc2 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/AbstractNodeTupleNamespaceCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/AbstractNodeTupleNamespaceCountMapper.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.namespaces;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 /**
  * Abstract mapper class for mappers which split node tuple values and extract

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/QuadNamespaceCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/QuadNamespaceCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/QuadNamespaceCountMapper.java
index 0211206..61af6e3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/QuadNamespaceCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/QuadNamespaceCountMapper.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.namespaces;
 
-import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper for counting namespace usages within quads designed primarily for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/TripleNamespaceCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/TripleNamespaceCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/TripleNamespaceCountMapper.java
index 52182b9..fbe54c9 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/TripleNamespaceCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/namespaces/TripleNamespaceCountMapper.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.namespaces;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A mapper for counting namespace usages within triples designed primarily for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java
index 4afda44..d9b8fec 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadGraphCountMapper.java
@@ -1,42 +1,42 @@
-/*
- * 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.hadoop.rdf.mapreduce.count.positional;
-
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
-/**
- * A mapper for counting graph node usages within quads designed primarily for
- * use in conjunction with {@link NodeCountReducer}. This can be used to
- * calculate the size of graphs.
- * 
- * 
- * 
- * @param <TKey>
- *            Key type
- */
-public class QuadGraphCountMapper<TKey> extends QuadNodeCountMapper<TKey> {
-
-    @Override
-    protected NodeWritable[] getNodes(QuadWritable tuple) {
-        return new NodeWritable[] { new NodeWritable(tuple.get().getGraph()) };
-    }
-}
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
+
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+/**
+ * A mapper for counting graph node usages within quads designed primarily for
+ * use in conjunction with {@link NodeCountReducer}. This can be used to
+ * calculate the size of graphs.
+ * 
+ * 
+ * 
+ * @param <TKey>
+ *            Key type
+ */
+public class QuadGraphCountMapper<TKey> extends QuadNodeCountMapper<TKey> {
+
+    @Override
+    protected NodeWritable[] getNodes(QuadWritable tuple) {
+        return new NodeWritable[] { new NodeWritable(tuple.get().getGraph()) };
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadObjectCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadObjectCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadObjectCountMapper.java
index ef19623..a6ca3d4 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadObjectCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadObjectCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
 
 /**
  * A mapper for counting object node usages within quads designed primarily for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadPredicateCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadPredicateCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadPredicateCountMapper.java
index 0ef0731..2b62c09 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadPredicateCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadPredicateCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
 
 /**
  * A mapper for counting predicate node usages within quads designed primarily

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadSubjectCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadSubjectCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadSubjectCountMapper.java
index 2b48e79..aeda1ac 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadSubjectCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/QuadSubjectCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
 
 /**
  * A mapper for counting subject node usages within quads designed primarily for use

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleObjectCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleObjectCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleObjectCountMapper.java
index 16250eb..abf5ee3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleObjectCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleObjectCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
 
 /**
  * A mapper for counting object node usages within triples designed primarily for use

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TriplePredicateCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TriplePredicateCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TriplePredicateCountMapper.java
index de97a9b..144451f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TriplePredicateCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TriplePredicateCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
 
 /**
  * A mapper for counting predicate node usages within triples designed primarily

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleSubjectCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleSubjectCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleSubjectCountMapper.java
index 5dc3838..7696165 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleSubjectCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/positional/TripleSubjectCountMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count.positional;
 
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
 
 /**
  * A mapper for counting subject node usages within triples designed primarily for use

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterMapper.java
index 1ecec75..34769ce 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterMapper.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import java.io.IOException;
 
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+
 
 /**
  * Abstract mapper implementation which helps in filtering tuples from the

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadFilterMapper.java
index ceaa819..90cef88 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract mapper implementation for filtering quads

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleFilterMapper.java
index 9a7aabc..692aab5 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract mapper implementation for filtering triples

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundQuadFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundQuadFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundQuadFilterMapper.java
index 2a98673..8504441 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundQuadFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundQuadFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A quad filter which accepts only ground quads i.e. those with no blank nodes

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundTripleFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundTripleFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundTripleFilterMapper.java
index 4587074..a81954f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundTripleFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/GroundTripleFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A triple filter which accepts only ground triples i.e. those with no blank

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapper.java
index 1eb9852..df1fa13 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A quad filter mapper which accepts only valid quads, by which we mean they

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapper.java
index c146496..6a40e0c 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A triple filter mapper which accepts only valid triples, by which we mean they

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractQuadFilterByPositionMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractQuadFilterByPositionMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractQuadFilterByPositionMapper.java
index 7aa0fde..4abfe1b 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractQuadFilterByPositionMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractQuadFilterByPositionMapper.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractQuadFilterMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractQuadFilterMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract triple filter that filters quads based on different criteria for

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractTripleFilterByPositionMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractTripleFilterByPositionMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractTripleFilterByPositionMapper.java
index 78bd495..aff7a02 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractTripleFilterByPositionMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/AbstractTripleFilterByPositionMapper.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractTripleFilterMapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractTripleFilterMapper;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * An abstract triple filter that filters triples based on different criteria

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByGraphUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByGraphUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByGraphUriMapper.java
index b15b6ad..e0a994e 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByGraphUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByGraphUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A quad filter which selects quads which have matching subjects

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByObjectUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByObjectUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByObjectUriMapper.java
index 4dbca3f..22cf104 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByObjectUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByObjectUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A quad filter which selects quads which have matching objects

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByPredicateMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByPredicateMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByPredicateMapper.java
index 5e6edac..fb1b0e6 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByPredicateMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterByPredicateMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A quad filter which selects quads which have matching predicates

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterBySubjectUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterBySubjectUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterBySubjectUriMapper.java
index 34596bb..558e127 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterBySubjectUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/QuadFilterBySubjectUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A quad filter which selects quads which have matching subjects

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByObjectUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByObjectUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByObjectUriMapper.java
index 079859f..348c0e3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByObjectUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByObjectUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A triple filter which selects triples which have matching objects


[17/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedNodeTupleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedNodeTupleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedNodeTupleReader.java
index cf5e621..33d2baf 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedNodeTupleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedNodeTupleReader.java
@@ -1,344 +1,344 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.io.compress.CompressionCodecFactory;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.lib.input.FileSplit;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.util.BlockInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.ReaderRIOT;
-import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.riot.lang.PipedRDFStream;
-import org.apache.jena.riot.system.ParserProfile;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * An abstract implementation for a record reader that reads records from blocks
- * of files, this is a hybrid between {@link AbstractLineBasedNodeTupleReader}
- * and {@link AbstractWholeFileNodeTupleReader} in that it can only be used by
- * formats which can be split by lines but reduces the overhead by parsing the
- * split as a whole rather than as individual lines.
- * <p>
- * The keys produced are the approximate position in the file at which a tuple
- * was found and the values will be node tuples. Positions are approximate
- * because they are recorded after the point at which the most recent tuple was
- * parsed from the input thus they reflect the approximate position in the
- * stream immediately after which the triple was found.
- * </p>
- * 
- * 
- * 
- * @param <TValue>
- *            Value type
- * @param <T>
- *            Tuple type
- */
-public abstract class AbstractBlockBasedNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractBlockBasedNodeTupleReader.class);
-    private CompressionCodec compressionCodecs;
-    private TrackableInputStream input;
-    private LongWritable key;
-    private long start, length;
-    private T tuple;
-    private TrackedPipedRDFStream<TValue> stream;
-    private PipedRDFIterator<TValue> iter;
-    private Thread parserThread;
-    private boolean finished = false;
-    private boolean ignoreBadTuples = true;
-    private boolean parserFinished = false;
-    private Throwable parserError = null;
-
-    @Override
-    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
-        LOG.debug("initialize({}, {})", genericSplit, context);
-
-        // Assuming file split
-        if (!(genericSplit instanceof FileSplit))
-            throw new IOException("This record reader only supports FileSplit inputs");
-        FileSplit split = (FileSplit) genericSplit;
-
-        // Configuration
-        Configuration config = context.getConfiguration();
-        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
-        if (this.ignoreBadTuples)
-            LOG.warn(
-                    "Configured to ignore bad tuples, parsing errors will be logged and further parsing aborted but no user visible errors will be thrown.  Consider setting {} to false to disable this behaviour",
-                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
-
-        // Figure out what portion of the file to read
-        start = split.getStart();
-        long end = start + split.getLength();
-        final Path file = split.getPath();
-        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
-        boolean readToEnd = end == totalLength;
-        CompressionCodecFactory factory = new CompressionCodecFactory(config);
-        this.compressionCodecs = factory.getCodec(file);
-
-        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { start, split.getLength(), totalLength }));
-
-        // Open the file and prepare the input stream
-        FileSystem fs = file.getFileSystem(config);
-        FSDataInputStream fileIn = fs.open(file);
-        this.length = split.getLength();
-        if (start > 0)
-            fileIn.seek(start);
-
-        if (this.compressionCodecs != null) {
-            // Compressed input
-            // For compressed input NLineInputFormat will have failed to find
-            // any line breaks and will give us a split from 0 -> (length - 1)
-            // Add 1 and re-verify readToEnd so we can abort correctly if ever
-            // given a partial split of a compressed file
-            end++;
-            readToEnd = end == totalLength;
-            if (start > 0 || !readToEnd)
-                throw new IOException("This record reader can only be used with compressed input where the split is a whole file");
-            input = new TrackedInputStream(this.compressionCodecs.createInputStream(fileIn));
-        } else {
-            // Uncompressed input
-
-            if (readToEnd) {
-                input = new TrackedInputStream(fileIn);
-            } else {
-                // Need to limit the portion of the file we are reading
-                input = new BlockInputStream(fileIn, split.getLength());
-            }
-        }
-
-        // Set up background thread for parser
-        iter = this.getPipedIterator();
-        this.stream = this.getPipedStream(iter, this.input);
-        ParserProfile profile = RdfIOUtils.createParserProfile(context, file);
-        Runnable parserRunnable = this.createRunnable(this, this.input, stream, this.getRdfLanguage(), profile);
-        this.parserThread = new Thread(parserRunnable);
-        this.parserThread.setDaemon(true);
-        this.parserThread.start();
-    }
-
-    /**
-     * Gets the RDF iterator to use
-     * 
-     * @return Iterator
-     */
-    protected abstract PipedRDFIterator<TValue> getPipedIterator();
-
-    /**
-     * Gets the RDF stream to parse to
-     * 
-     * @param iterator
-     *            Iterator
-     * @return RDF stream
-     */
-    protected abstract TrackedPipedRDFStream<TValue> getPipedStream(PipedRDFIterator<TValue> iterator, TrackableInputStream input);
-
-    /**
-     * Gets the RDF language to use for parsing
-     * 
-     * @return
-     */
-    protected abstract Lang getRdfLanguage();
-
-    /**
-     * Creates the runnable upon which the parsing will run
-     * 
-     * @param input
-     *            Input
-     * @param stream
-     *            Stream
-     * @param lang
-     *            Language to use for parsing
-     * @return Parser runnable
-     */
-    private Runnable createRunnable(@SuppressWarnings("rawtypes") final AbstractBlockBasedNodeTupleReader reader, final InputStream input,
-            final PipedRDFStream<TValue> stream, final Lang lang, final ParserProfile profile) {
-        return new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    ReaderRIOT riotReader = RDFDataMgr.createReader(lang);
-                    riotReader.setParserProfile(profile);
-                    riotReader.read(input, null, lang.getContentType(), stream, null);
-                    //RDFDataMgr.parse(stream, input, null, lang);
-                    reader.setParserFinished(null);
-                } catch (Throwable e) {
-                    reader.setParserFinished(e);
-                }
-            }
-        };
-    }
-
-    /**
-     * Sets the parser thread finished state
-     * 
-     * @param e
-     *            Error (if any)
-     */
-    private void setParserFinished(Throwable e) {
-        synchronized (this.parserThread) {
-            this.parserError = e;
-            this.parserFinished = true;
-        }
-    }
-
-    /**
-     * Waits for the parser thread to have reported as finished
-     * 
-     * @throws InterruptedException
-     */
-    private void waitForParserFinished() throws InterruptedException {
-        do {
-            synchronized (this.parserThread) {
-                if (this.parserFinished)
-                    return;
-            }
-            Thread.sleep(50);
-        } while (true);
-    }
-
-    /**
-     * Creates an instance of a writable tuple from the given tuple value
-     * 
-     * @param tuple
-     *            Tuple value
-     * @return Writable tuple
-     */
-    protected abstract T createInstance(TValue tuple);
-
-    @Override
-    public boolean nextKeyValue() throws IOException {
-        // Reuse key for efficiency
-        if (key == null) {
-            key = new LongWritable();
-        }
-
-        if (this.finished)
-            return false;
-
-        try {
-            if (this.iter.hasNext()) {
-                // Position will be relative to the start for the split we're
-                // processing
-                Long l = this.start + this.stream.getPosition();
-                if (l != null) {
-                    this.key.set(l);
-                    // For compressed input the actual length from which we
-                    // calculate progress is likely less than the actual
-                    // uncompressed length so we need to increment the
-                    // length as we go along
-                    // We always add 1 more than the current length because we
-                    // don't want to report 100% progress until we really have
-                    // finished
-                    if (this.compressionCodecs != null && l > this.length)
-                        this.length = l + 1;
-                }
-                this.tuple = this.createInstance(this.iter.next());
-                return true;
-            } else {
-                // Need to ensure that the parser thread has finished in order
-                // to determine whether we finished without error
-                this.waitForParserFinished();
-                if (this.parserError != null) {
-                    LOG.error("Error parsing block, aborting further parsing", this.parserError);
-                    if (!this.ignoreBadTuples)
-                        throw new IOException("Error parsing block at position " + (this.start + this.input.getBytesRead()) + ", aborting further parsing",
-                                this.parserError);
-                }
-
-                this.key = null;
-                this.tuple = null;
-                this.finished = true;
-                // This is necessary so that when compressed input is used we
-                // report 100% progress once we've reached the genuine end of
-                // the stream
-                if (this.compressionCodecs != null)
-                    this.length--;
-                return false;
-            }
-        } catch (IOException e) {
-            throw e;
-        } catch (Throwable e) {
-            // Failed to read the tuple on this line
-            LOG.error("Error parsing block, aborting further parsing", e);
-            if (!this.ignoreBadTuples) {
-                this.iter.close();
-                throw new IOException("Error parsing block at position " + (this.start + this.input.getBytesRead()) + ", aborting further parsing", e);
-            }
-            this.key = null;
-            this.tuple = null;
-            this.finished = true;
-            return false;
-        }
-    }
-
-    @Override
-    public LongWritable getCurrentKey() {
-        return this.key;
-    }
-
-    @Override
-    public T getCurrentValue() {
-        return this.tuple;
-    }
-
-    @Override
-    public float getProgress() {
-        float progress = 0.0f;
-        if (this.key == null) {
-            // We've either not started or we've finished
-            progress = (this.finished ? 1.0f : 0.0f);
-        } else if (this.key.get() == Long.MIN_VALUE) {
-            // We don't have a position so we've either in-progress or finished
-            progress = (this.finished ? 1.0f : 0.5f);
-        } else {
-            // We're some way through the file
-            progress = (this.key.get() - this.start) / (float) this.length;
-        }
-        LOG.debug("getProgress() --> {}", progress);
-        return progress;
-    }
-
-    @Override
-    public void close() throws IOException {
-        this.iter.close();
-        this.input.close();
-        this.finished = true;
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.io.compress.CompressionCodecFactory;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.util.BlockInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.ReaderRIOT;
+import org.apache.jena.riot.lang.PipedRDFIterator;
+import org.apache.jena.riot.lang.PipedRDFStream;
+import org.apache.jena.riot.system.ParserProfile;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract implementation for a record reader that reads records from blocks
+ * of files, this is a hybrid between {@link AbstractLineBasedNodeTupleReader}
+ * and {@link AbstractWholeFileNodeTupleReader} in that it can only be used by
+ * formats which can be split by lines but reduces the overhead by parsing the
+ * split as a whole rather than as individual lines.
+ * <p>
+ * The keys produced are the approximate position in the file at which a tuple
+ * was found and the values will be node tuples. Positions are approximate
+ * because they are recorded after the point at which the most recent tuple was
+ * parsed from the input thus they reflect the approximate position in the
+ * stream immediately after which the triple was found.
+ * </p>
+ * 
+ * 
+ * 
+ * @param <TValue>
+ *            Value type
+ * @param <T>
+ *            Tuple type
+ */
+public abstract class AbstractBlockBasedNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractBlockBasedNodeTupleReader.class);
+    private CompressionCodec compressionCodecs;
+    private TrackableInputStream input;
+    private LongWritable key;
+    private long start, length;
+    private T tuple;
+    private TrackedPipedRDFStream<TValue> stream;
+    private PipedRDFIterator<TValue> iter;
+    private Thread parserThread;
+    private boolean finished = false;
+    private boolean ignoreBadTuples = true;
+    private boolean parserFinished = false;
+    private Throwable parserError = null;
+
+    @Override
+    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
+        LOG.debug("initialize({}, {})", genericSplit, context);
+
+        // Assuming file split
+        if (!(genericSplit instanceof FileSplit))
+            throw new IOException("This record reader only supports FileSplit inputs");
+        FileSplit split = (FileSplit) genericSplit;
+
+        // Configuration
+        Configuration config = context.getConfiguration();
+        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
+        if (this.ignoreBadTuples)
+            LOG.warn(
+                    "Configured to ignore bad tuples, parsing errors will be logged and further parsing aborted but no user visible errors will be thrown.  Consider setting {} to false to disable this behaviour",
+                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
+
+        // Figure out what portion of the file to read
+        start = split.getStart();
+        long end = start + split.getLength();
+        final Path file = split.getPath();
+        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
+        boolean readToEnd = end == totalLength;
+        CompressionCodecFactory factory = new CompressionCodecFactory(config);
+        this.compressionCodecs = factory.getCodec(file);
+
+        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { start, split.getLength(), totalLength }));
+
+        // Open the file and prepare the input stream
+        FileSystem fs = file.getFileSystem(config);
+        FSDataInputStream fileIn = fs.open(file);
+        this.length = split.getLength();
+        if (start > 0)
+            fileIn.seek(start);
+
+        if (this.compressionCodecs != null) {
+            // Compressed input
+            // For compressed input NLineInputFormat will have failed to find
+            // any line breaks and will give us a split from 0 -> (length - 1)
+            // Add 1 and re-verify readToEnd so we can abort correctly if ever
+            // given a partial split of a compressed file
+            end++;
+            readToEnd = end == totalLength;
+            if (start > 0 || !readToEnd)
+                throw new IOException("This record reader can only be used with compressed input where the split is a whole file");
+            input = new TrackedInputStream(this.compressionCodecs.createInputStream(fileIn));
+        } else {
+            // Uncompressed input
+
+            if (readToEnd) {
+                input = new TrackedInputStream(fileIn);
+            } else {
+                // Need to limit the portion of the file we are reading
+                input = new BlockInputStream(fileIn, split.getLength());
+            }
+        }
+
+        // Set up background thread for parser
+        iter = this.getPipedIterator();
+        this.stream = this.getPipedStream(iter, this.input);
+        ParserProfile profile = RdfIOUtils.createParserProfile(context, file);
+        Runnable parserRunnable = this.createRunnable(this, this.input, stream, this.getRdfLanguage(), profile);
+        this.parserThread = new Thread(parserRunnable);
+        this.parserThread.setDaemon(true);
+        this.parserThread.start();
+    }
+
+    /**
+     * Gets the RDF iterator to use
+     * 
+     * @return Iterator
+     */
+    protected abstract PipedRDFIterator<TValue> getPipedIterator();
+
+    /**
+     * Gets the RDF stream to parse to
+     * 
+     * @param iterator
+     *            Iterator
+     * @return RDF stream
+     */
+    protected abstract TrackedPipedRDFStream<TValue> getPipedStream(PipedRDFIterator<TValue> iterator, TrackableInputStream input);
+
+    /**
+     * Gets the RDF language to use for parsing
+     * 
+     * @return
+     */
+    protected abstract Lang getRdfLanguage();
+
+    /**
+     * Creates the runnable upon which the parsing will run
+     * 
+     * @param input
+     *            Input
+     * @param stream
+     *            Stream
+     * @param lang
+     *            Language to use for parsing
+     * @return Parser runnable
+     */
+    private Runnable createRunnable(@SuppressWarnings("rawtypes") final AbstractBlockBasedNodeTupleReader reader, final InputStream input,
+            final PipedRDFStream<TValue> stream, final Lang lang, final ParserProfile profile) {
+        return new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    ReaderRIOT riotReader = RDFDataMgr.createReader(lang);
+                    riotReader.setParserProfile(profile);
+                    riotReader.read(input, null, lang.getContentType(), stream, null);
+                    //RDFDataMgr.parse(stream, input, null, lang);
+                    reader.setParserFinished(null);
+                } catch (Throwable e) {
+                    reader.setParserFinished(e);
+                }
+            }
+        };
+    }
+
+    /**
+     * Sets the parser thread finished state
+     * 
+     * @param e
+     *            Error (if any)
+     */
+    private void setParserFinished(Throwable e) {
+        synchronized (this.parserThread) {
+            this.parserError = e;
+            this.parserFinished = true;
+        }
+    }
+
+    /**
+     * Waits for the parser thread to have reported as finished
+     * 
+     * @throws InterruptedException
+     */
+    private void waitForParserFinished() throws InterruptedException {
+        do {
+            synchronized (this.parserThread) {
+                if (this.parserFinished)
+                    return;
+            }
+            Thread.sleep(50);
+        } while (true);
+    }
+
+    /**
+     * Creates an instance of a writable tuple from the given tuple value
+     * 
+     * @param tuple
+     *            Tuple value
+     * @return Writable tuple
+     */
+    protected abstract T createInstance(TValue tuple);
+
+    @Override
+    public boolean nextKeyValue() throws IOException {
+        // Reuse key for efficiency
+        if (key == null) {
+            key = new LongWritable();
+        }
+
+        if (this.finished)
+            return false;
+
+        try {
+            if (this.iter.hasNext()) {
+                // Position will be relative to the start for the split we're
+                // processing
+                Long l = this.start + this.stream.getPosition();
+                if (l != null) {
+                    this.key.set(l);
+                    // For compressed input the actual length from which we
+                    // calculate progress is likely less than the actual
+                    // uncompressed length so we need to increment the
+                    // length as we go along
+                    // We always add 1 more than the current length because we
+                    // don't want to report 100% progress until we really have
+                    // finished
+                    if (this.compressionCodecs != null && l > this.length)
+                        this.length = l + 1;
+                }
+                this.tuple = this.createInstance(this.iter.next());
+                return true;
+            } else {
+                // Need to ensure that the parser thread has finished in order
+                // to determine whether we finished without error
+                this.waitForParserFinished();
+                if (this.parserError != null) {
+                    LOG.error("Error parsing block, aborting further parsing", this.parserError);
+                    if (!this.ignoreBadTuples)
+                        throw new IOException("Error parsing block at position " + (this.start + this.input.getBytesRead()) + ", aborting further parsing",
+                                this.parserError);
+                }
+
+                this.key = null;
+                this.tuple = null;
+                this.finished = true;
+                // This is necessary so that when compressed input is used we
+                // report 100% progress once we've reached the genuine end of
+                // the stream
+                if (this.compressionCodecs != null)
+                    this.length--;
+                return false;
+            }
+        } catch (IOException e) {
+            throw e;
+        } catch (Throwable e) {
+            // Failed to read the tuple on this line
+            LOG.error("Error parsing block, aborting further parsing", e);
+            if (!this.ignoreBadTuples) {
+                this.iter.close();
+                throw new IOException("Error parsing block at position " + (this.start + this.input.getBytesRead()) + ", aborting further parsing", e);
+            }
+            this.key = null;
+            this.tuple = null;
+            this.finished = true;
+            return false;
+        }
+    }
+
+    @Override
+    public LongWritable getCurrentKey() {
+        return this.key;
+    }
+
+    @Override
+    public T getCurrentValue() {
+        return this.tuple;
+    }
+
+    @Override
+    public float getProgress() {
+        float progress = 0.0f;
+        if (this.key == null) {
+            // We've either not started or we've finished
+            progress = (this.finished ? 1.0f : 0.0f);
+        } else if (this.key.get() == Long.MIN_VALUE) {
+            // We don't have a position so we've either in-progress or finished
+            progress = (this.finished ? 1.0f : 0.5f);
+        } else {
+            // We're some way through the file
+            progress = (this.key.get() - this.start) / (float) this.length;
+        }
+        LOG.debug("getProgress() --> {}", progress);
+        return progress;
+    }
+
+    @Override
+    public void close() throws IOException {
+        this.iter.close();
+        this.input.close();
+        this.finished = true;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedQuadReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedQuadReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedQuadReader.java
index c6b2a6f..adc431f 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedQuadReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedQuadReader.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedQuadsStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedQuadsStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract record reader for whole file triple formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedTripleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedTripleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedTripleReader.java
index 384b223..43a171c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedTripleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractBlockBasedTripleReader.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedTriplesStream;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedTriplesStream;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.lang.PipedRDFIterator;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedNodeTupleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedNodeTupleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedNodeTupleReader.java
index 04adb3b..87d2e06 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedNodeTupleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedNodeTupleReader.java
@@ -1,265 +1,265 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-import java.util.Iterator;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.io.compress.CompressionCodecFactory;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.lib.input.FileSplit;
-import org.apache.hadoop.util.LineReader;
-import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.system.ParserProfile;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * An abstract implementation of a record reader that reads records from line
- * based tuple formats. This only supports reading from file splits currently.
- * <p>
- * The keys produced are the position of the line in the file and the values
- * will be node tuples
- * </p>
- * 
- * 
- * 
- * @param <TValue>
- * @param <T>
- *            Writable tuple type
- */
-public abstract class AbstractLineBasedNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractLineBasedNodeTupleReader.class);
-    private CompressionCodecFactory compressionCodecs = null;
-    private long start, pos, end, estLength;
-    private int maxLineLength;
-    private LineReader in;
-    private LongWritable key = null;
-    private Text value = null;
-    private T tuple = null;
-    private ParserProfile profile = null;
-    private boolean ignoreBadTuples = true;
-
-    @Override
-    public final void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
-        LOG.debug("initialize({}, {})", genericSplit, context);
-
-        // Assuming file split
-        if (!(genericSplit instanceof FileSplit))
-            throw new IOException("This record reader only supports FileSplit inputs");
-        FileSplit split = (FileSplit) genericSplit;
-
-        // Configuration
-        profile = RdfIOUtils.createParserProfile(context, split.getPath());
-        Configuration config = context.getConfiguration();
-        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
-        if (this.ignoreBadTuples)
-            LOG.warn(
-                    "Configured to ignore bad tuples, parsing errors will be logged and the bad line skipped but no errors will be thrownConsider setting {} to false to disable this behaviour",
-                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
-
-        // Figure out what portion of the file to read
-        this.maxLineLength = config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE);
-        start = split.getStart();
-        end = start + split.getLength();
-        final Path file = split.getPath();
-        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
-        compressionCodecs = new CompressionCodecFactory(config);
-        final CompressionCodec codec = compressionCodecs.getCodec(file);
-
-        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { start, split.getLength(), totalLength }));
-
-        // Open the file and seek to the start of the split
-        FileSystem fs = file.getFileSystem(config);
-        FSDataInputStream fileIn = fs.open(file);
-        boolean skipFirstLine = false;
-        if (codec != null) {
-            // Compressed input
-            // For compressed input NLineInputFormat will have failed to find
-            // any line breaks and will give us a split from 0 -> (length - 1)
-            // Add 1 and verify we got complete split
-            if (totalLength > split.getLength() + 1)
-                throw new IOException("This record reader can only be used with compressed input where the split covers the whole file");
-            in = new LineReader(codec.createInputStream(fileIn), config);
-            estLength = end;
-            end = Long.MAX_VALUE;
-        } else {
-            // Uncompressed input
-            if (start != 0) {
-                skipFirstLine = true;
-                --start;
-                fileIn.seek(start);
-            }
-            in = new LineReader(fileIn, config);
-        }
-        // Skip first line and re-establish "start".
-        // This is to do with how line reader reads lines and how
-        // NLineInputFormat will provide the split information to use
-        if (skipFirstLine) {
-            start += in.readLine(new Text(), 0, (int) Math.min(Integer.MAX_VALUE, end - start));
-        }
-        this.pos = start;
-    }
-
-    /**
-     * Gets an iterator over the data on the current line
-     * 
-     * @param line
-     *            Line
-     * @param profile
-     *            Parser profile
-     * @return Iterator
-     */
-    protected abstract Iterator<TValue> getIterator(String line, ParserProfile profile);
-
-    /**
-     * Creates an instance of a writable tuple from the given tuple value
-     * 
-     * @param tuple
-     *            Tuple value
-     * @return Writable tuple
-     */
-    protected abstract T createInstance(TValue tuple);
-
-    @Override
-    public final boolean nextKeyValue() throws IOException {
-        // Reuse key for efficiency
-        if (key == null) {
-            key = new LongWritable();
-        }
-
-        // Reset value which we use for reading lines
-        if (value == null) {
-            value = new Text();
-        }
-        tuple = null;
-
-        // Try to read the next valid line
-        int newSize = 0;
-        while (pos < end) {
-            // Read next line
-            newSize = in.readLine(value, maxLineLength, Math.max((int) Math.min(Integer.MAX_VALUE, end - pos), maxLineLength));
-
-            // Once we get an empty line we've reached the end of our input
-            if (newSize == 0) {
-                break;
-            }
-
-            // Update position, remember that where inputs are compressed we may
-            // be at a larger position then we expected because the length of
-            // the split is likely less than the length of the data once
-            // decompressed
-            key.set(pos);
-            pos += newSize;
-            if (pos > estLength)
-                estLength = pos + 1;
-
-            // Skip lines that exceed the line length limit that has been set
-            if (newSize >= maxLineLength) {
-                LOG.warn("Skipped oversized line of size {} at position {}", newSize, (pos - newSize));
-                continue;
-            }
-
-            // Attempt to read the tuple from current line
-            try {
-                Iterator<TValue> iter = this.getIterator(value.toString(), profile);
-                if (iter.hasNext()) {
-                    tuple = this.createInstance(iter.next());
-
-                    // If we reach here we've found a valid tuple so we can
-                    // break out of the loop
-                    break;
-                } else {
-                    // Empty line/Comment line
-                    LOG.debug("Valid line with no triple at position {}", (pos - newSize));
-                    continue;
-                }
-            } catch (Throwable e) {
-                // Failed to read the tuple on this line
-                LOG.error("Bad tuple at position " + (pos - newSize), e);
-                if (this.ignoreBadTuples)
-                    continue;
-                throw new IOException(String.format("Bad tuple at position %d", (pos - newSize)), e);
-            }
-        }
-        boolean result = this.tuple != null;
-
-        // End of input
-        if (newSize == 0) {
-            key = null;
-            value = null;
-            tuple = null;
-            result = false;
-            estLength = pos;
-        }
-        LOG.debug("nextKeyValue() --> {}", result);
-        return result;
-    }
-
-    @Override
-    public LongWritable getCurrentKey() {
-        LOG.debug("getCurrentKey() --> {}", key);
-        return key;
-    }
-
-    @Override
-    public T getCurrentValue() {
-        LOG.debug("getCurrentValue() --> {}", tuple);
-        return tuple;
-    }
-
-    @Override
-    public float getProgress() {
-        float progress = 0.0f;
-        if (start != end) {
-            if (end == Long.MAX_VALUE) {
-                if (estLength == 0)
-                    return 1.0f;
-                // Use estimated length
-                progress = Math.min(1.0f, (pos - start) / (float) (estLength - start));
-            } else {
-                // Use actual length
-                progress = Math.min(1.0f, (pos - start) / (float) (end - start));
-            }
-        }
-        LOG.debug("getProgress() --> {}", progress);
-        return progress;
-    }
-
-    @Override
-    public void close() throws IOException {
-        LOG.debug("close()");
-        if (in != null) {
-            in.close();
-        }
-    }
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+import java.util.Iterator;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.io.compress.CompressionCodecFactory;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.hadoop.util.LineReader;
+import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.riot.system.ParserProfile;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract implementation of a record reader that reads records from line
+ * based tuple formats. This only supports reading from file splits currently.
+ * <p>
+ * The keys produced are the position of the line in the file and the values
+ * will be node tuples
+ * </p>
+ * 
+ * 
+ * 
+ * @param <TValue>
+ * @param <T>
+ *            Writable tuple type
+ */
+public abstract class AbstractLineBasedNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractLineBasedNodeTupleReader.class);
+    private CompressionCodecFactory compressionCodecs = null;
+    private long start, pos, end, estLength;
+    private int maxLineLength;
+    private LineReader in;
+    private LongWritable key = null;
+    private Text value = null;
+    private T tuple = null;
+    private ParserProfile profile = null;
+    private boolean ignoreBadTuples = true;
+
+    @Override
+    public final void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
+        LOG.debug("initialize({}, {})", genericSplit, context);
+
+        // Assuming file split
+        if (!(genericSplit instanceof FileSplit))
+            throw new IOException("This record reader only supports FileSplit inputs");
+        FileSplit split = (FileSplit) genericSplit;
+
+        // Configuration
+        profile = RdfIOUtils.createParserProfile(context, split.getPath());
+        Configuration config = context.getConfiguration();
+        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
+        if (this.ignoreBadTuples)
+            LOG.warn(
+                    "Configured to ignore bad tuples, parsing errors will be logged and the bad line skipped but no errors will be thrownConsider setting {} to false to disable this behaviour",
+                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
+
+        // Figure out what portion of the file to read
+        this.maxLineLength = config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE);
+        start = split.getStart();
+        end = start + split.getLength();
+        final Path file = split.getPath();
+        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
+        compressionCodecs = new CompressionCodecFactory(config);
+        final CompressionCodec codec = compressionCodecs.getCodec(file);
+
+        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { start, split.getLength(), totalLength }));
+
+        // Open the file and seek to the start of the split
+        FileSystem fs = file.getFileSystem(config);
+        FSDataInputStream fileIn = fs.open(file);
+        boolean skipFirstLine = false;
+        if (codec != null) {
+            // Compressed input
+            // For compressed input NLineInputFormat will have failed to find
+            // any line breaks and will give us a split from 0 -> (length - 1)
+            // Add 1 and verify we got complete split
+            if (totalLength > split.getLength() + 1)
+                throw new IOException("This record reader can only be used with compressed input where the split covers the whole file");
+            in = new LineReader(codec.createInputStream(fileIn), config);
+            estLength = end;
+            end = Long.MAX_VALUE;
+        } else {
+            // Uncompressed input
+            if (start != 0) {
+                skipFirstLine = true;
+                --start;
+                fileIn.seek(start);
+            }
+            in = new LineReader(fileIn, config);
+        }
+        // Skip first line and re-establish "start".
+        // This is to do with how line reader reads lines and how
+        // NLineInputFormat will provide the split information to use
+        if (skipFirstLine) {
+            start += in.readLine(new Text(), 0, (int) Math.min(Integer.MAX_VALUE, end - start));
+        }
+        this.pos = start;
+    }
+
+    /**
+     * Gets an iterator over the data on the current line
+     * 
+     * @param line
+     *            Line
+     * @param profile
+     *            Parser profile
+     * @return Iterator
+     */
+    protected abstract Iterator<TValue> getIterator(String line, ParserProfile profile);
+
+    /**
+     * Creates an instance of a writable tuple from the given tuple value
+     * 
+     * @param tuple
+     *            Tuple value
+     * @return Writable tuple
+     */
+    protected abstract T createInstance(TValue tuple);
+
+    @Override
+    public final boolean nextKeyValue() throws IOException {
+        // Reuse key for efficiency
+        if (key == null) {
+            key = new LongWritable();
+        }
+
+        // Reset value which we use for reading lines
+        if (value == null) {
+            value = new Text();
+        }
+        tuple = null;
+
+        // Try to read the next valid line
+        int newSize = 0;
+        while (pos < end) {
+            // Read next line
+            newSize = in.readLine(value, maxLineLength, Math.max((int) Math.min(Integer.MAX_VALUE, end - pos), maxLineLength));
+
+            // Once we get an empty line we've reached the end of our input
+            if (newSize == 0) {
+                break;
+            }
+
+            // Update position, remember that where inputs are compressed we may
+            // be at a larger position then we expected because the length of
+            // the split is likely less than the length of the data once
+            // decompressed
+            key.set(pos);
+            pos += newSize;
+            if (pos > estLength)
+                estLength = pos + 1;
+
+            // Skip lines that exceed the line length limit that has been set
+            if (newSize >= maxLineLength) {
+                LOG.warn("Skipped oversized line of size {} at position {}", newSize, (pos - newSize));
+                continue;
+            }
+
+            // Attempt to read the tuple from current line
+            try {
+                Iterator<TValue> iter = this.getIterator(value.toString(), profile);
+                if (iter.hasNext()) {
+                    tuple = this.createInstance(iter.next());
+
+                    // If we reach here we've found a valid tuple so we can
+                    // break out of the loop
+                    break;
+                } else {
+                    // Empty line/Comment line
+                    LOG.debug("Valid line with no triple at position {}", (pos - newSize));
+                    continue;
+                }
+            } catch (Throwable e) {
+                // Failed to read the tuple on this line
+                LOG.error("Bad tuple at position " + (pos - newSize), e);
+                if (this.ignoreBadTuples)
+                    continue;
+                throw new IOException(String.format("Bad tuple at position %d", (pos - newSize)), e);
+            }
+        }
+        boolean result = this.tuple != null;
+
+        // End of input
+        if (newSize == 0) {
+            key = null;
+            value = null;
+            tuple = null;
+            result = false;
+            estLength = pos;
+        }
+        LOG.debug("nextKeyValue() --> {}", result);
+        return result;
+    }
+
+    @Override
+    public LongWritable getCurrentKey() {
+        LOG.debug("getCurrentKey() --> {}", key);
+        return key;
+    }
+
+    @Override
+    public T getCurrentValue() {
+        LOG.debug("getCurrentValue() --> {}", tuple);
+        return tuple;
+    }
+
+    @Override
+    public float getProgress() {
+        float progress = 0.0f;
+        if (start != end) {
+            if (end == Long.MAX_VALUE) {
+                if (estLength == 0)
+                    return 1.0f;
+                // Use estimated length
+                progress = Math.min(1.0f, (pos - start) / (float) (estLength - start));
+            } else {
+                // Use actual length
+                progress = Math.min(1.0f, (pos - start) / (float) (end - start));
+            }
+        }
+        LOG.debug("getProgress() --> {}", progress);
+        return progress;
+    }
+
+    @Override
+    public void close() throws IOException {
+        LOG.debug("close()");
+        if (in != null) {
+            in.close();
+        }
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedQuadReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedQuadReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedQuadReader.java
index 84c168d..8aec04c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedQuadReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedQuadReader.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
 import java.util.Iterator;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.system.ParserProfile;
 import org.apache.jena.riot.tokens.Tokenizer;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract reader for line based quad formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedTripleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedTripleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedTripleReader.java
index 780630d..a67e5f9 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedTripleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractLineBasedTripleReader.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
 import java.util.Iterator;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.system.ParserProfile;
 import org.apache.jena.riot.tokens.Tokenizer;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractRdfReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractRdfReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractRdfReader.java
index d0ffed8..030155f 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractRdfReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractRdfReader.java
@@ -1,108 +1,108 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.lib.input.FileSplit;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * An abstract record reader for arbitrary RDF which provides support for
- * selecting the actual record reader to use based on detecting the RDF language
- * from the file name
- * 
- * @param <TValue>
- *            Tuple type
- * @param <T>
- *            Writable tuple type
- */
-public abstract class AbstractRdfReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends
-        RecordReader<LongWritable, T> {
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractRdfReader.class);
-
-    private RecordReader<LongWritable, T> reader;
-
-    @Override
-    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException,
-            InterruptedException {
-        LOG.debug("initialize({}, {})", genericSplit, context);
-
-        // Assuming file split
-        if (!(genericSplit instanceof FileSplit))
-            throw new IOException("This record reader only supports FileSplit inputs");
-
-        // Find RDF language
-        FileSplit split = (FileSplit) genericSplit;
-        Path path = split.getPath();
-        Lang lang = RDFLanguages.filenameToLang(path.getName());
-        if (lang == null)
-            throw new IOException("There is no registered RDF language for the input file " + path.toString());
-
-        // Select the record reader and initialize
-        this.reader = this.selectRecordReader(lang);
-        this.reader.initialize(split, context);
-    }
-
-    /**
-     * Selects the appropriate record reader to use for the given RDF language
-     * 
-     * @param lang
-     *            RDF language
-     * @return Record reader
-     * @throws IOException
-     *             Should be thrown if no record reader can be selected
-     */
-    protected abstract RecordReader<LongWritable, T> selectRecordReader(Lang lang) throws IOException;
-
-    @Override
-    public final boolean nextKeyValue() throws IOException, InterruptedException {
-        return this.reader.nextKeyValue();
-    }
-
-    @Override
-    public final LongWritable getCurrentKey() throws IOException, InterruptedException {
-        return this.reader.getCurrentKey();
-    }
-
-    @Override
-    public final T getCurrentValue() throws IOException, InterruptedException {
-        return this.reader.getCurrentValue();
-    }
-
-    @Override
-    public final float getProgress() throws IOException, InterruptedException {
-        return this.reader.getProgress();
-    }
-
-    @Override
-    public final void close() throws IOException {
-        this.reader.close();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract record reader for arbitrary RDF which provides support for
+ * selecting the actual record reader to use based on detecting the RDF language
+ * from the file name
+ * 
+ * @param <TValue>
+ *            Tuple type
+ * @param <T>
+ *            Writable tuple type
+ */
+public abstract class AbstractRdfReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends
+        RecordReader<LongWritable, T> {
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractRdfReader.class);
+
+    private RecordReader<LongWritable, T> reader;
+
+    @Override
+    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException,
+            InterruptedException {
+        LOG.debug("initialize({}, {})", genericSplit, context);
+
+        // Assuming file split
+        if (!(genericSplit instanceof FileSplit))
+            throw new IOException("This record reader only supports FileSplit inputs");
+
+        // Find RDF language
+        FileSplit split = (FileSplit) genericSplit;
+        Path path = split.getPath();
+        Lang lang = RDFLanguages.filenameToLang(path.getName());
+        if (lang == null)
+            throw new IOException("There is no registered RDF language for the input file " + path.toString());
+
+        // Select the record reader and initialize
+        this.reader = this.selectRecordReader(lang);
+        this.reader.initialize(split, context);
+    }
+
+    /**
+     * Selects the appropriate record reader to use for the given RDF language
+     * 
+     * @param lang
+     *            RDF language
+     * @return Record reader
+     * @throws IOException
+     *             Should be thrown if no record reader can be selected
+     */
+    protected abstract RecordReader<LongWritable, T> selectRecordReader(Lang lang) throws IOException;
+
+    @Override
+    public final boolean nextKeyValue() throws IOException, InterruptedException {
+        return this.reader.nextKeyValue();
+    }
+
+    @Override
+    public final LongWritable getCurrentKey() throws IOException, InterruptedException {
+        return this.reader.getCurrentKey();
+    }
+
+    @Override
+    public final T getCurrentValue() throws IOException, InterruptedException {
+        return this.reader.getCurrentValue();
+    }
+
+    @Override
+    public final float getProgress() throws IOException, InterruptedException {
+        return this.reader.getProgress();
+    }
+
+    @Override
+    public final void close() throws IOException {
+        this.reader.close();
+    }
+
+}


[14/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedQuadWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedQuadWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedQuadWriter.java
index 9eaa7a4..d0c9971 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedQuadWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedQuadWriter.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.out.NodeFormatter;
 import org.apache.jena.riot.out.NodeFormatterNT;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract writer for line based quad formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedTripleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedTripleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedTripleWriter.java
index add7358..9be5faa 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedTripleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractLineBasedTripleWriter.java
@@ -1,67 +1,67 @@
-/*
- * 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.hadoop.rdf.io.output.writers;
-
-import java.io.Writer;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.out.NodeFormatter;
-import org.apache.jena.riot.out.NodeFormatterNT;
-
-/**
- * An abstract writer for line based triple formats
- * 
- * @param <TKey>
- *            Key type
- * 
- */
-public abstract class AbstractLineBasedTripleWriter<TKey> extends
-		AbstractLineBasedNodeTupleWriter<TKey, Triple, TripleWritable> {
-
-	/**
-	 * Creates a new writer using the default NTriples node formatter
-	 * 
-	 * @param writer
-	 *            Writer
-	 */
-	public AbstractLineBasedTripleWriter(Writer writer) {
-		this(writer, new NodeFormatterNT());
-	}
-
-	/**
-	 * Creates a new writer using the specified node formatter
-	 * 
-	 * @param writer
-	 *            Writer
-	 * @param formatter
-	 *            Node formatter
-	 */
-	public AbstractLineBasedTripleWriter(Writer writer, NodeFormatter formatter) {
-		super(writer, formatter);
-	}
-
-	@Override
-	protected Node[] getNodes(TripleWritable tuple) {
-		Triple t = tuple.get();
-		return new Node[] { t.getSubject(), t.getPredicate(), t.getObject() };
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.writers;
+
+import java.io.Writer;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.out.NodeFormatter;
+import org.apache.jena.riot.out.NodeFormatterNT;
+
+/**
+ * An abstract writer for line based triple formats
+ * 
+ * @param <TKey>
+ *            Key type
+ * 
+ */
+public abstract class AbstractLineBasedTripleWriter<TKey> extends
+		AbstractLineBasedNodeTupleWriter<TKey, Triple, TripleWritable> {
+
+	/**
+	 * Creates a new writer using the default NTriples node formatter
+	 * 
+	 * @param writer
+	 *            Writer
+	 */
+	public AbstractLineBasedTripleWriter(Writer writer) {
+		this(writer, new NodeFormatterNT());
+	}
+
+	/**
+	 * Creates a new writer using the specified node formatter
+	 * 
+	 * @param writer
+	 *            Writer
+	 * @param formatter
+	 *            Node formatter
+	 */
+	public AbstractLineBasedTripleWriter(Writer writer, NodeFormatter formatter) {
+		super(writer, formatter);
+	}
+
+	@Override
+	protected Node[] getNodes(TripleWritable tuple) {
+		Triple t = tuple.get();
+		return new Node[] { t.getSubject(), t.getPredicate(), t.getObject() };
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
index e46b3e1..a627e1e 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
@@ -1,192 +1,192 @@
-/*
- * 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.hadoop.rdf.io.output.writers;
-
-import java.io.Writer;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.atlas.io.AWriter;
-import org.apache.jena.atlas.io.Writer2;
-import org.apache.jena.atlas.lib.tuple.Tuple ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.out.NodeFormatter;
-import org.apache.jena.riot.out.NodeFormatterNT;
-import org.apache.jena.sparql.core.Quad ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract implementation of a record writer which writes pairs of nodes and
- * arbitrary values to text based files
- * 
- * 
- * 
- * @param <TValue>
- */
-public abstract class AbstractNodeWriter<TValue> extends RecordWriter<NodeWritable, TValue> {
-
-    /**
-     * Default separator written between nodes and their associated values
-     */
-    public static final String DEFAULT_SEPARATOR = "\t";
-
-    private static final Logger log = LoggerFactory.getLogger(AbstractNodeWriter.class);
-
-    protected AWriter writer;
-    private NodeFormatter formatter;
-
-    /**
-     * Creates a new tuple writer using the default NTriples node formatter
-     * 
-     * @param writer
-     *            Writer
-     */
-    public AbstractNodeWriter(Writer writer) {
-        this(writer, new NodeFormatterNT());
-    }
-
-    /**
-     * Creates a new tuple writer
-     * 
-     * @param writer
-     *            Writer
-     * @param formatter
-     *            Node formatter
-     */
-    public AbstractNodeWriter(Writer writer, NodeFormatter formatter) {
-        if (writer == null)
-            throw new NullPointerException("writer cannot be null");
-        if (formatter == null)
-            throw new NullPointerException("formatter cannot be null");
-        this.formatter = formatter;
-        this.writer = Writer2.wrap(writer);
-    }
-
-    @Override
-    public final void write(NodeWritable key, TValue value) {
-        this.writeKey(key);
-        this.writer.write(this.getSeparator());
-        this.writeValue(value);
-        this.writer.write('\n');
-    }
-
-    /**
-     * Writes the given key
-     * 
-     * @param key
-     *            Key
-     */
-    protected void writeKey(NodeWritable key) {
-        writeNode(key.get());
-    }
-
-    /**
-     * Writes a Node
-     * 
-     * @param n
-     *            Node
-     */
-    protected void writeNode(Node n) {
-        this.getNodeFormatter().format(this.writer, n);
-    }
-
-    /**
-     * Writes a sequence of nodes
-     * 
-     * @param ns
-     *            Nodes
-     */
-    protected void writeNodes(Node... ns) {
-        String sep = this.getSeparator();
-        for (int i = 0; i < ns.length; i++) {
-            writeNode(ns[i]);
-            if (i < ns.length - 1)
-                this.writer.write(sep);
-        }
-    }
-
-    /**
-     * Writes the given value
-     * <p>
-     * If the value is one of the RDF primitives - {@link NodeWritable},
-     * {@link TripleWritable}, {@link QuadWritable} and
-     * {@link NodeTupleWritable} - then it is formatted as a series of nodes
-     * separated by the separator. Otherwise it is formatted by simply calling
-     * {@code toString()} on it.
-     * </p>
-     * 
-     * @param value
-     *            Values
-     */
-    protected void writeValue(TValue value) {
-        // Handle null specially
-        if (value instanceof NullWritable || value == null)
-            return;
-
-        // Handle RDF primitives specially and format them as proper nodes
-        if (value instanceof NodeWritable) {
-            this.writeKey((NodeWritable) value);
-        } else if (value instanceof TripleWritable) {
-            Triple t = ((TripleWritable) value).get();
-            this.writeNodes(t.getSubject(), t.getPredicate(), t.getObject());
-        } else if (value instanceof QuadWritable) {
-            Quad q = ((QuadWritable) value).get();
-            this.writeNodes(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject());
-        } else if (value instanceof NodeTupleWritable) {
-            Tuple<Node> tuple = ((NodeTupleWritable) value).get();
-            Node[] n = new Node[tuple.len()] ;
-            tuple.copyInto(n);
-            this.writeNodes(n);
-        } else {
-            // For arbitrary values just toString() them
-            this.writer.write(value.toString());
-        }
-    }
-
-    @Override
-    public void close(TaskAttemptContext context) {
-        log.debug("close({})", context);
-        writer.close();
-    }
-
-    /**
-     * Gets the node formatter to use for formatting nodes
-     * 
-     * @return Node formatter
-     */
-    protected NodeFormatter getNodeFormatter() {
-        return this.formatter;
-    }
-
-    /**
-     * Gets the separator that is written between nodes
-     * 
-     * @return Separator
-     */
-    protected String getSeparator() {
-        return DEFAULT_SEPARATOR;
-    }
-}
+/*
+ * 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.hadoop.rdf.io.output.writers;
+
+import java.io.Writer;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.jena.atlas.io.AWriter;
+import org.apache.jena.atlas.io.Writer2;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.out.NodeFormatter;
+import org.apache.jena.riot.out.NodeFormatterNT;
+import org.apache.jena.sparql.core.Quad ;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract implementation of a record writer which writes pairs of nodes and
+ * arbitrary values to text based files
+ * 
+ * 
+ * 
+ * @param <TValue>
+ */
+public abstract class AbstractNodeWriter<TValue> extends RecordWriter<NodeWritable, TValue> {
+
+    /**
+     * Default separator written between nodes and their associated values
+     */
+    public static final String DEFAULT_SEPARATOR = "\t";
+
+    private static final Logger log = LoggerFactory.getLogger(AbstractNodeWriter.class);
+
+    protected AWriter writer;
+    private NodeFormatter formatter;
+
+    /**
+     * Creates a new tuple writer using the default NTriples node formatter
+     * 
+     * @param writer
+     *            Writer
+     */
+    public AbstractNodeWriter(Writer writer) {
+        this(writer, new NodeFormatterNT());
+    }
+
+    /**
+     * Creates a new tuple writer
+     * 
+     * @param writer
+     *            Writer
+     * @param formatter
+     *            Node formatter
+     */
+    public AbstractNodeWriter(Writer writer, NodeFormatter formatter) {
+        if (writer == null)
+            throw new NullPointerException("writer cannot be null");
+        if (formatter == null)
+            throw new NullPointerException("formatter cannot be null");
+        this.formatter = formatter;
+        this.writer = Writer2.wrap(writer);
+    }
+
+    @Override
+    public final void write(NodeWritable key, TValue value) {
+        this.writeKey(key);
+        this.writer.write(this.getSeparator());
+        this.writeValue(value);
+        this.writer.write('\n');
+    }
+
+    /**
+     * Writes the given key
+     * 
+     * @param key
+     *            Key
+     */
+    protected void writeKey(NodeWritable key) {
+        writeNode(key.get());
+    }
+
+    /**
+     * Writes a Node
+     * 
+     * @param n
+     *            Node
+     */
+    protected void writeNode(Node n) {
+        this.getNodeFormatter().format(this.writer, n);
+    }
+
+    /**
+     * Writes a sequence of nodes
+     * 
+     * @param ns
+     *            Nodes
+     */
+    protected void writeNodes(Node... ns) {
+        String sep = this.getSeparator();
+        for (int i = 0; i < ns.length; i++) {
+            writeNode(ns[i]);
+            if (i < ns.length - 1)
+                this.writer.write(sep);
+        }
+    }
+
+    /**
+     * Writes the given value
+     * <p>
+     * If the value is one of the RDF primitives - {@link NodeWritable},
+     * {@link TripleWritable}, {@link QuadWritable} and
+     * {@link NodeTupleWritable} - then it is formatted as a series of nodes
+     * separated by the separator. Otherwise it is formatted by simply calling
+     * {@code toString()} on it.
+     * </p>
+     * 
+     * @param value
+     *            Values
+     */
+    protected void writeValue(TValue value) {
+        // Handle null specially
+        if (value instanceof NullWritable || value == null)
+            return;
+
+        // Handle RDF primitives specially and format them as proper nodes
+        if (value instanceof NodeWritable) {
+            this.writeKey((NodeWritable) value);
+        } else if (value instanceof TripleWritable) {
+            Triple t = ((TripleWritable) value).get();
+            this.writeNodes(t.getSubject(), t.getPredicate(), t.getObject());
+        } else if (value instanceof QuadWritable) {
+            Quad q = ((QuadWritable) value).get();
+            this.writeNodes(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject());
+        } else if (value instanceof NodeTupleWritable) {
+            Tuple<Node> tuple = ((NodeTupleWritable) value).get();
+            Node[] n = new Node[tuple.len()] ;
+            tuple.copyInto(n);
+            this.writeNodes(n);
+        } else {
+            // For arbitrary values just toString() them
+            this.writer.write(value.toString());
+        }
+    }
+
+    @Override
+    public void close(TaskAttemptContext context) {
+        log.debug("close({})", context);
+        writer.close();
+    }
+
+    /**
+     * Gets the node formatter to use for formatting nodes
+     * 
+     * @return Node formatter
+     */
+    protected NodeFormatter getNodeFormatter() {
+        return this.formatter;
+    }
+
+    /**
+     * Gets the separator that is written between nodes
+     * 
+     * @return Separator
+     */
+    protected String getSeparator() {
+        return DEFAULT_SEPARATOR;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileNodeTupleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileNodeTupleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileNodeTupleWriter.java
index 10ed68b..d5643b1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileNodeTupleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileNodeTupleWriter.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.IOException;
@@ -23,7 +23,7 @@ import java.io.Writer;
 
 import org.apache.hadoop.mapreduce.RecordWriter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileQuadWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileQuadWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileQuadWriter.java
index 01ddb9d..aa33b91 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileQuadWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileQuadWriter.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.riot.RDFWriterRegistry;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract record writer for whole file triple formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileTripleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileTripleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileTripleWriter.java
index 80ed370..719ab95 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileTripleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractWholeFileTripleWriter.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers;
 
 import java.io.Writer;
-
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.sparql.graph.GraphFactory ;
+import org.apache.jena.sparql.graph.GraphFactory ;
 
 /**
  * An abstract record writer for whole file triple formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/nquads/NQuadsWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/nquads/NQuadsWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/nquads/NQuadsWriter.java
index 0b7de7c..8b0b9ef 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/nquads/NQuadsWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/nquads/NQuadsWriter.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers.nquads;
 
-import java.io.Writer;
-
-import org.apache.jena.atlas.lib.CharSpace ;
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractLineBasedQuadWriter;
+import java.io.Writer;
+
+import org.apache.jena.atlas.lib.CharSpace ;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractLineBasedQuadWriter;
 import org.apache.jena.riot.out.NodeFormatterNT;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesNodeWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesNodeWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesNodeWriter.java
index ec6c312..3340802 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesNodeWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesNodeWriter.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers.ntriples;
 
-import java.io.Writer;
-
-import org.apache.jena.atlas.lib.CharSpace ;
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractNodeWriter;
+import java.io.Writer;
+
+import org.apache.jena.atlas.lib.CharSpace ;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractNodeWriter;
 import org.apache.jena.riot.out.NodeFormatterNT;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesWriter.java
index 110f1d7..a01a351 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/ntriples/NTriplesWriter.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers.ntriples;
 
-import java.io.Writer;
-
-import org.apache.jena.atlas.lib.CharSpace ;
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractLineBasedTripleWriter;
+import java.io.Writer;
+
+import org.apache.jena.atlas.lib.CharSpace ;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractLineBasedTripleWriter;
 import org.apache.jena.riot.out.NodeFormatterNT;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfjson/RdfJsonWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfjson/RdfJsonWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfjson/RdfJsonWriter.java
index 30bd4fa..da7d1bd 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfjson/RdfJsonWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfjson/RdfJsonWriter.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers.rdfjson;
 
 import java.io.Writer;
 
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractWholeFileTripleWriter;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractWholeFileTripleWriter;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfxml/RdfXmlWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfxml/RdfXmlWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfxml/RdfXmlWriter.java
index f202914..8dbef01 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfxml/RdfXmlWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/rdfxml/RdfXmlWriter.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.writers.rdfxml;
 
 import java.io.Writer;
 
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractWholeFileTripleWriter;
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractWholeFileTripleWriter;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/trig/BatchedTriGWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/trig/BatchedTriGWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/trig/BatchedTriGWriter.java
index 4c0c75f..e946c13 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/trig/BatchedTriGWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/trig/BatchedTriGWriter.java
@@ -1,52 +1,52 @@
-/*
- * 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.hadoop.rdf.io.output.writers.trig;
-
-import java.io.Writer;
-
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedQuadWriter;
-import org.apache.jena.riot.Lang;
-
-/**
- * A record writer for TriG that uses the batched approach, note that this
- * approach will produce invalid data when blank nodes span batches
- *  
- * @param <TKey>
- *            Key type
- */
-public class BatchedTriGWriter<TKey> extends AbstractBatchedQuadWriter<TKey> {
-
-	/**
-	 * Creates a new record writer
-	 * 
-	 * @param writer
-	 *            Writer
-	 * @param batchSize
-	 *            Batch size
-	 */
-	public BatchedTriGWriter(Writer writer, long batchSize) {
-		super(writer, batchSize);
-	}
-
-	@Override
-	protected Lang getRdfLanguage() {
-		return Lang.TRIG;
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.writers.trig;
+
+import java.io.Writer;
+
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedQuadWriter;
+import org.apache.jena.riot.Lang;
+
+/**
+ * A record writer for TriG that uses the batched approach, note that this
+ * approach will produce invalid data when blank nodes span batches
+ *  
+ * @param <TKey>
+ *            Key type
+ */
+public class BatchedTriGWriter<TKey> extends AbstractBatchedQuadWriter<TKey> {
+
+	/**
+	 * Creates a new record writer
+	 * 
+	 * @param writer
+	 *            Writer
+	 * @param batchSize
+	 *            Batch size
+	 */
+	public BatchedTriGWriter(Writer writer, long batchSize) {
+		super(writer, batchSize);
+	}
+
+	@Override
+	protected Lang getRdfLanguage() {
+		return Lang.TRIG;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/turtle/BatchedTurtleWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/turtle/BatchedTurtleWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/turtle/BatchedTurtleWriter.java
index 86ab2f9..3702c6e 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/turtle/BatchedTurtleWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/turtle/BatchedTurtleWriter.java
@@ -1,54 +1,54 @@
-/*
- * 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.hadoop.rdf.io.output.writers.turtle;
-
-import java.io.Writer;
-
-import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedTripleWriter;
-import org.apache.jena.riot.Lang;
-
-/**
- * A record writer for Turtle that uses the batched approach, note that this
- * approach will produce invalid data when blank nodes span batches
- * 
- * 
- * 
- * @param <TKey>
- */
-public class BatchedTurtleWriter<TKey> extends
-		AbstractBatchedTripleWriter<TKey> {
-
-	/**
-	 * Creates a new record writer
-	 * 
-	 * @param writer
-	 *            Writer
-	 * @param batchSize
-	 *            Batch size
-	 */
-	public BatchedTurtleWriter(Writer writer, long batchSize) {
-		super(writer, batchSize);
-	}
-
-	@Override
-	protected Lang getRdfLanguage() {
-		return Lang.TURTLE;
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.writers.turtle;
+
+import java.io.Writer;
+
+import org.apache.jena.hadoop.rdf.io.output.writers.AbstractBatchedTripleWriter;
+import org.apache.jena.riot.Lang;
+
+/**
+ * A record writer for Turtle that uses the batched approach, note that this
+ * approach will produce invalid data when blank nodes span batches
+ * 
+ * 
+ * 
+ * @param <TKey>
+ */
+public class BatchedTurtleWriter<TKey> extends
+		AbstractBatchedTripleWriter<TKey> {
+
+	/**
+	 * Creates a new record writer
+	 * 
+	 * @param writer
+	 *            Writer
+	 * @param batchSize
+	 *            Batch size
+	 */
+	public BatchedTurtleWriter(Writer writer, long batchSize) {
+		super(writer, batchSize);
+	}
+
+	@Override
+	protected Lang getRdfLanguage() {
+		return Lang.TURTLE;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/RdfTriplesInputTestMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/RdfTriplesInputTestMapper.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/RdfTriplesInputTestMapper.java
index 5762fb7..3707db3 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/RdfTriplesInputTestMapper.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/RdfTriplesInputTestMapper.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io;
 
 import java.io.IOException;
@@ -23,7 +23,7 @@ import java.io.IOException;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.log4j.Logger;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedQuadInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedQuadInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedQuadInputFormatTests.java
index 1cda0bd..0c59db8 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedQuadInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedQuadInputFormatTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedTripleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedTripleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedTripleInputFormatTests.java
index 2e1e865..793f5a6 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedTripleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractBlockedTripleInputFormatTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 /**


[37/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/doap.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/doap.ttl b/jena-arq/Vocabularies/doap.ttl
index afd31d3..ee0a98e 100644
--- a/jena-arq/Vocabularies/doap.ttl
+++ b/jena-arq/Vocabularies/doap.ttl
@@ -1,403 +1,403 @@
-@prefix dc:      <http://purl.org/dc/elements/1.1/> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
-@prefix owl:     <http://www.w3.org/2002/07/owl#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix vs:      <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
-@prefix doap:    <http://usefulinc.com/ns/doap#> .
-
-doap:ArchRepository
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "D�p�t GNU Arch du code source."@fr , "GNU Arch source code repository."@en , "Repositorio GNU Arch del c�digo fuente."@es ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "GNU Arch repository"@en , "D�p�t GNU Arch"@fr , "Repositorio GNU Arch"@es ;
-    rdfs:subClassOf
-                doap:Repository .
-
-doap:download-page
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Page web � partir de laquelle on peut t�l�charger le programme."@fr , "P�gina web de la cu�l se puede bajar el software."@es , "Web page from which the project software can be downloaded."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "p�gina de descarga"@es , "page de t�l�chargement"@fr , "download page"@en .
-
-doap:anon-root
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Repository for anonymous access."@en , "Repositorio para acceso an�nimo."@es , "D�p�t pour acc�s anonyme."@fr ;
-    rdfs:domain
-                doap:Repository ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "ra�z an�nima"@es , "anonymous root"@en , "racine anonyme"@fr ;
-    rdfs:range  rdfs:Literal .
-
-doap:Project
-    rdf:type    rdfs:Class ;
-    rdfs:comment
-                "A project."@en , "Un proyecto."@es , "Un projet."@fr ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "Proyecto"@es , "Project"@en , "Projet"@fr ;
-    rdfs:subClassOf
-                <http://xmlns.com/wordnet/1.6/Project> , foaf:Project .
-
-doap:created
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Fecha en la que algo fue creado, en formato AAAA-MM-DD. e.g. 2004-04-05"@es , "Date � laquelle a �t� cr�� quelque chose, au format AAAA-MM-JJ (par ex. 2004-04-05)"@fr , "Date when something was created, in YYYY-MM-DD form. e.g. 2004-04-05"@en ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "cr��"@fr , "created"@en , "creado"@es ;
-    rdfs:range  rdfs:Literal .
-
-doap:browse
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Web browser interface to repository."@en , "Interface web del repositorio."@es , "Interface web au d�p�t."@fr ;
-    rdfs:domain
-                doap:Repository ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "navegar"@es , "browse"@en , "visualiser"@fr .
-
-doap:SVNRepository
-    rdf:type    rdfs:Class ;
-    rdfs:comment
-                "D�p�t Subversion du code source."@fr , "Subversion source code repository."@en , "Repositorio Subversion del c�digo fuente."@es ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "D�p�t Subversion"@fr , "Subversion Repository"@en , "Repositorio Subversion"@es ;
-    rdfs:subClassOf
-                doap:Repository .
-
-doap:screenshots
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Page web avec des captures d'�cran du projet."@fr , "Web page with screenshots of project."@en , "P�gina web con capturas de pantalla del proyecto."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "captures d'�cran"@fr , "capturas de pantalla"@es , "screenshots"@en .
-
-doap:mailing-list
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Mailing list home page or email address."@en , "Page web de la liste de diffusion, ou adresse de courriel."@fr , "P�gina web de la lista de correo o direcci�n de correo."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "mailing list"@en , "lista de correo"@es , "liste de diffusion"@fr .
-
-doap:module
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Nom du module d'un d�p�t CVS, BitKeeper ou Arch."@fr , "Module name of a CVS, BitKeeper or Arch repository."@en , "Nombre del m�dulo de un repositorio CVS, BitKeeper o Arch."@es ;
-    rdfs:domain
-                [ rdf:type    owl:Class ;
-                  owl:unionOf
-                              (doap:CVSRepository doap:ArchRepository doap:BKRepository)
-                ] ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "m�dulo"@es , "module"@fr , "module"@en .
-
-doap:homepage
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "El URL de la p�gina de un proyecto,\n		asociada con exactamente un proyecto."@es , "L'URL de la page web d'un projet,\n		associ�e avec un unique projet."@fr , "URL of a project's homepage,\n		associated with exactly one project."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "p�gina web"@es , "homepage"@en , "page web"@fr ;
-    rdfs:subPropertyOf
-                foaf:homepage .
-
-doap:tester
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Un tester u otro proveedor de control de calidad."@es , "Un testeur ou un collaborateur au contr�le qualit�."@fr , "A tester or other quality control contributor."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "tester"@es , "tester"@en , "testeur"@fr ;
-    rdfs:range  foaf:Person .
-
-doap:
-    rdf:type    owl:Ontology ;
-    dc:creator  "Edd Dumbill" ;
-    dc:description
-                "Le vocabulaire Description Of A Project (DOAP, Description D'Un Projet),\n		d�crit en utilisant RDF Schema du W3C et OWL."@fr , "El vocabulario Description of a Project (DOAP, Descripci�n de un Proyecto), descrito usando RDF Schema de W3C\n		y Web Ontology Language."@es , "The Description of a Project (DOAP) vocabulary, described using W3C RDF Schema and the Web Ontology Language." ;
-    dc:format   "application/rdf+xml" ;
-    dc:rights   "Copyright � 2004 Edd Dumbill" ;
-    dc:title    "Description of a Project (DOAP) vocabulary" ;
-    owl:imports
-                <http://xmlns.com/foaf/0.1/index.rdf> ;
-    foaf:maker  [ rdf:type    foaf:Person ;
-                  foaf:mbox   <ma...@usefulinc.com> ;
-                  foaf:name   "Edd Dumbill"
-                ] .
-
-doap:license
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "El URI de una descripci�n RDF de la licencia bajo la cu�l se distribuye el software."@es , "The URI of an RDF description of the license the software is distributed under."@en , "L'URI d'une description RDF de la licence sous laquelle le programme est distribu�."@fr ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "license"@en , "licencia"@es , "licence"@fr .
-
-doap:os
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Operating system that a project is limited to.  Omit this property if the project is not OS-specific."@en , "Sistema opertivo al cu�l est� limitado el proyecto.  Omita esta propiedad si el proyecto no es espec�fico\n		de un sistema opertaivo en particular."@es , "Syst�me d'exploitation auquel est limit� le projet. Omettez cette propri�t� si le\n		projet n'est pas limit� � un syst�me d'exploitation."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "operating system"@en , "syst�me d'exploitation"@fr , "sistema operativo"@es ;
-    rdfs:range  rdfs:Literal .
-
-doap:shortdesc
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Descripci�n corta (8 o 9 palabras) en texto plano de un proyecto."@es , "Short (8 or 9 words) plain text description of a project."@en , "Texte descriptif concis (8 ou 9 mots) d'un projet."@fr ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "short description"@en , "descripci�n corta"@es , "description courte"@fr ;
-    rdfs:range  rdfs:Literal .
-
-doap:bug-database
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Suivi des bugs pour un projet."@fr , "Bug tracker para un proyecto."@es , "Bug tracker for a project."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "bug database"@en , "base de datos de bugs"@es , "suivi des bugs"@fr .
-
-doap:maintainer
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "D�veloppeur principal d'un projet, un meneur du projet."@fr , "Maintainer of a project, a project leader."@en , "Desarrollador principal de un proyecto, un l�der de proyecto."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "d�veloppeur principal"@fr , "desarrollador principal"@es , "maintainer"@en ;
-    rdfs:range  foaf:Person .
-
-doap:revision
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Indentificador de la versi�n de un release de software."@es , "Identifiant de r�vision d'une release du programme."@fr , "Revision identifier of a software release."@en ;
-    rdfs:domain
-                doap:Version ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "r�vision"@fr , "revision"@en , "versi�n"@es ;
-    rdfs:range  rdfs:Literal .
-
-doap:download-mirror
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Miroir de la page de t�l�chargement du programme."@fr , "Mirror de la p�gina web de descarga."@es , "Mirror of software download web page."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "download mirror"@en , "miroir pour le t�l�chargement"@fr , "mirror de descarga"@es .
-
-doap:release
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Une release (r�vision) d'un projet."@fr , "A project release."@en , "Un release (versi�n) de un proyecto."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "release"@es , "release"@fr , "release"@en ;
-    rdfs:range  doap:Version .
-
-doap:old-homepage
-    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
-    rdfs:comment
-                "El URL de la antigua p�gina de un proyecto,\n		asociada con exactamente un proyecto."@es , "URL of a project's past homepage,\n		associated with exactly one project."@en , "L'URL d'une ancienne page web d'un\n		projet, associ�e avec un unique projet."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "old homepage"@en , "ancienne page web"@fr , "p�gina web antigua"@es ;
-    rdfs:subPropertyOf
-                foaf:homepage .
-
-doap:helper
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Colaborador del proyecto."@es , "Project contributor."@en , "Collaborateur au projet."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "helper"@en , "collaborateur"@fr , "colaborador"@es ;
-    rdfs:range  foaf:Person .
-
-doap:description
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Descripci�n en texto plano de un proyecto, de 2 a 4 enunciados de longitud."@es , "Texte descriptif d'un projet, long de 2 � 4 phrases."@fr , "Plain text description of a project, of 2-4 sentences in length."@en ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "descripci�n"@es , "description"@fr , "description"@en ;
-    rdfs:range  rdfs:Literal .
-
-doap:developer
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Developer of software for the project."@en , "D�veloppeur pour le projet."@fr , "Desarrollador de software para el proyecto."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "desarrollador"@es , "developer"@en , "d�veloppeur"@fr ;
-    rdfs:range  foaf:Person .
-
-doap:name
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "A name of something."@en , "El nombre de algo."@es , "Le nom de quelque chose."@fr ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "name"@en , "nombre"@es , "nom"@fr ;
-    rdfs:range  rdfs:Literal ;
-    rdfs:subPropertyOf
-                rdfs:label .
-
-doap:location
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Emplacement d'un d�p�t."@fr , "Location of a repository."@en , "lugar de un repositorio."@es ;
-    rdfs:domain
-                doap:Repository ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "repository location"@en , "emplacement du d�p�t"@fr , "lugar del respositorio"@es .
-
-doap:programming-language
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Lenguaje de programaci�n en el que un proyecto es implementado o con el cu�l pretende usarse."@es , "Programming language a project is implemented in or intended for use with."@en , "Langage de programmation avec lequel un projet est impl�ment�,\n		ou avec lequel il est pr�vu de l'utiliser."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "langage de programmation"@fr , "programming language"@en , "lenguaje de programaci�n"@es ;
-    rdfs:range  rdfs:Literal .
-
-doap:Version
-    rdf:type    rdfs:Class ;
-    rdfs:comment
-                "D�tails sur une version d'une realease d'un projet."@fr , "Informaci�n sobre la versi�n de un release del proyecto."@es , "Version information of a project release."@en ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "Versi�n"@es , "Version"@fr , "Version"@en .
-
-doap:BKRepository
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "D�p�t BitKeeper du code source."@fr , "Repositorio BitKeeper del c�digo fuente."@es , "BitKeeper source code repository."@en ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "D�p�t BitKeeper"@fr , "Repositorio BitKeeper"@es , "BitKeeper Repository"@en ;
-    rdfs:subClassOf
-                doap:Repository .
-
-doap:CVSRepository
-    rdf:type    owl:Class , rdfs:Class ;
-    rdfs:comment
-                "CVS source code repository."@en , "Repositorio CVS del c�digo fuente."@es , "D�p�t CVS du code source."@fr ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "D�p�t CVS"@fr , "Repositorio CVS"@es , "CVS Repository"@en ;
-    rdfs:subClassOf
-                doap:Repository .
-
-doap:documenter
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Proveedor de documentaci�n para el proyecto."@es , "Contributor of documentation to the project."@en , "Collaborateur � la documentation du projet."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "r�dacteur de l'aide"@fr , "documenter"@en , "escritor de ayuda"@es ;
-    rdfs:range  foaf:Person .
-
-doap:file-release
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "URI of download associated with this release."@en ;
-    rdfs:domain
-                doap:Version ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "file-release"@en .
-
-doap:Repository
-    rdf:type    rdfs:Class ;
-    rdfs:comment
-                "D�p�t du code source."@fr , "Source code repository."@en , "Repositorio del c�digo fuente."@es ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "D�p�t"@fr , "Repository"@en , "Repositorio"@es .
-
-doap:repository
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "D�p�t du code source."@fr , "Source code repository."@en , "Repositorio del c�digo fuente."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "d�p�t"@fr , "repositorio"@es , "repository"@en ;
-    rdfs:range  doap:Repository .
-
-doap:category
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "A category of project."@en , "Una categor�a de proyecto."@es , "Une cat�gorie de projet."@fr ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "categor�a"@es , "cat�gorie"@fr , "category"@en .
-
-doap:wiki
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "URL of Wiki for collaborative discussion of project."@en , "L'URL du Wiki pour la discussion collaborative sur le projet."@fr , "URL del Wiki para discusi�n colaborativa del proyecto."@es ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "wiki"@es , "wiki"@fr , "wiki"@en .
-
-doap:translator
-    rdf:type    rdf:Property ;
-    rdfs:comment
-                "Proveedor de traducciones al proyecto."@es , "Collaborateur � la traduction du projet."@fr , "Contributor of translations to the project."@en ;
-    rdfs:domain
-                doap:Project ;
-    rdfs:isDefinedBy
-                doap: ;
-    rdfs:label  "translator"@en , "traductor"@es , "traducteur"@fr ;
-    rdfs:range  foaf:Person .
+@prefix dc:      <http://purl.org/dc/elements/1.1/> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
+@prefix owl:     <http://www.w3.org/2002/07/owl#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix vs:      <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
+@prefix doap:    <http://usefulinc.com/ns/doap#> .
+
+doap:ArchRepository
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "D�p�t GNU Arch du code source."@fr , "GNU Arch source code repository."@en , "Repositorio GNU Arch del c�digo fuente."@es ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "GNU Arch repository"@en , "D�p�t GNU Arch"@fr , "Repositorio GNU Arch"@es ;
+    rdfs:subClassOf
+                doap:Repository .
+
+doap:download-page
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Page web � partir de laquelle on peut t�l�charger le programme."@fr , "P�gina web de la cu�l se puede bajar el software."@es , "Web page from which the project software can be downloaded."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "p�gina de descarga"@es , "page de t�l�chargement"@fr , "download page"@en .
+
+doap:anon-root
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Repository for anonymous access."@en , "Repositorio para acceso an�nimo."@es , "D�p�t pour acc�s anonyme."@fr ;
+    rdfs:domain
+                doap:Repository ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "ra�z an�nima"@es , "anonymous root"@en , "racine anonyme"@fr ;
+    rdfs:range  rdfs:Literal .
+
+doap:Project
+    rdf:type    rdfs:Class ;
+    rdfs:comment
+                "A project."@en , "Un proyecto."@es , "Un projet."@fr ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "Proyecto"@es , "Project"@en , "Projet"@fr ;
+    rdfs:subClassOf
+                <http://xmlns.com/wordnet/1.6/Project> , foaf:Project .
+
+doap:created
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Fecha en la que algo fue creado, en formato AAAA-MM-DD. e.g. 2004-04-05"@es , "Date � laquelle a �t� cr�� quelque chose, au format AAAA-MM-JJ (par ex. 2004-04-05)"@fr , "Date when something was created, in YYYY-MM-DD form. e.g. 2004-04-05"@en ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "cr��"@fr , "created"@en , "creado"@es ;
+    rdfs:range  rdfs:Literal .
+
+doap:browse
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Web browser interface to repository."@en , "Interface web del repositorio."@es , "Interface web au d�p�t."@fr ;
+    rdfs:domain
+                doap:Repository ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "navegar"@es , "browse"@en , "visualiser"@fr .
+
+doap:SVNRepository
+    rdf:type    rdfs:Class ;
+    rdfs:comment
+                "D�p�t Subversion du code source."@fr , "Subversion source code repository."@en , "Repositorio Subversion del c�digo fuente."@es ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "D�p�t Subversion"@fr , "Subversion Repository"@en , "Repositorio Subversion"@es ;
+    rdfs:subClassOf
+                doap:Repository .
+
+doap:screenshots
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Page web avec des captures d'�cran du projet."@fr , "Web page with screenshots of project."@en , "P�gina web con capturas de pantalla del proyecto."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "captures d'�cran"@fr , "capturas de pantalla"@es , "screenshots"@en .
+
+doap:mailing-list
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Mailing list home page or email address."@en , "Page web de la liste de diffusion, ou adresse de courriel."@fr , "P�gina web de la lista de correo o direcci�n de correo."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "mailing list"@en , "lista de correo"@es , "liste de diffusion"@fr .
+
+doap:module
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Nom du module d'un d�p�t CVS, BitKeeper ou Arch."@fr , "Module name of a CVS, BitKeeper or Arch repository."@en , "Nombre del m�dulo de un repositorio CVS, BitKeeper o Arch."@es ;
+    rdfs:domain
+                [ rdf:type    owl:Class ;
+                  owl:unionOf
+                              (doap:CVSRepository doap:ArchRepository doap:BKRepository)
+                ] ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "m�dulo"@es , "module"@fr , "module"@en .
+
+doap:homepage
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "El URL de la p�gina de un proyecto,\n		asociada con exactamente un proyecto."@es , "L'URL de la page web d'un projet,\n		associ�e avec un unique projet."@fr , "URL of a project's homepage,\n		associated with exactly one project."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "p�gina web"@es , "homepage"@en , "page web"@fr ;
+    rdfs:subPropertyOf
+                foaf:homepage .
+
+doap:tester
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Un tester u otro proveedor de control de calidad."@es , "Un testeur ou un collaborateur au contr�le qualit�."@fr , "A tester or other quality control contributor."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "tester"@es , "tester"@en , "testeur"@fr ;
+    rdfs:range  foaf:Person .
+
+doap:
+    rdf:type    owl:Ontology ;
+    dc:creator  "Edd Dumbill" ;
+    dc:description
+                "Le vocabulaire Description Of A Project (DOAP, Description D'Un Projet),\n		d�crit en utilisant RDF Schema du W3C et OWL."@fr , "El vocabulario Description of a Project (DOAP, Descripci�n de un Proyecto), descrito usando RDF Schema de W3C\n		y Web Ontology Language."@es , "The Description of a Project (DOAP) vocabulary, described using W3C RDF Schema and the Web Ontology Language." ;
+    dc:format   "application/rdf+xml" ;
+    dc:rights   "Copyright � 2004 Edd Dumbill" ;
+    dc:title    "Description of a Project (DOAP) vocabulary" ;
+    owl:imports
+                <http://xmlns.com/foaf/0.1/index.rdf> ;
+    foaf:maker  [ rdf:type    foaf:Person ;
+                  foaf:mbox   <ma...@usefulinc.com> ;
+                  foaf:name   "Edd Dumbill"
+                ] .
+
+doap:license
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "El URI de una descripci�n RDF de la licencia bajo la cu�l se distribuye el software."@es , "The URI of an RDF description of the license the software is distributed under."@en , "L'URI d'une description RDF de la licence sous laquelle le programme est distribu�."@fr ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "license"@en , "licencia"@es , "licence"@fr .
+
+doap:os
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Operating system that a project is limited to.  Omit this property if the project is not OS-specific."@en , "Sistema opertivo al cu�l est� limitado el proyecto.  Omita esta propiedad si el proyecto no es espec�fico\n		de un sistema opertaivo en particular."@es , "Syst�me d'exploitation auquel est limit� le projet. Omettez cette propri�t� si le\n		projet n'est pas limit� � un syst�me d'exploitation."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "operating system"@en , "syst�me d'exploitation"@fr , "sistema operativo"@es ;
+    rdfs:range  rdfs:Literal .
+
+doap:shortdesc
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Descripci�n corta (8 o 9 palabras) en texto plano de un proyecto."@es , "Short (8 or 9 words) plain text description of a project."@en , "Texte descriptif concis (8 ou 9 mots) d'un projet."@fr ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "short description"@en , "descripci�n corta"@es , "description courte"@fr ;
+    rdfs:range  rdfs:Literal .
+
+doap:bug-database
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Suivi des bugs pour un projet."@fr , "Bug tracker para un proyecto."@es , "Bug tracker for a project."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "bug database"@en , "base de datos de bugs"@es , "suivi des bugs"@fr .
+
+doap:maintainer
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "D�veloppeur principal d'un projet, un meneur du projet."@fr , "Maintainer of a project, a project leader."@en , "Desarrollador principal de un proyecto, un l�der de proyecto."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "d�veloppeur principal"@fr , "desarrollador principal"@es , "maintainer"@en ;
+    rdfs:range  foaf:Person .
+
+doap:revision
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Indentificador de la versi�n de un release de software."@es , "Identifiant de r�vision d'une release du programme."@fr , "Revision identifier of a software release."@en ;
+    rdfs:domain
+                doap:Version ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "r�vision"@fr , "revision"@en , "versi�n"@es ;
+    rdfs:range  rdfs:Literal .
+
+doap:download-mirror
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Miroir de la page de t�l�chargement du programme."@fr , "Mirror de la p�gina web de descarga."@es , "Mirror of software download web page."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "download mirror"@en , "miroir pour le t�l�chargement"@fr , "mirror de descarga"@es .
+
+doap:release
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Une release (r�vision) d'un projet."@fr , "A project release."@en , "Un release (versi�n) de un proyecto."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "release"@es , "release"@fr , "release"@en ;
+    rdfs:range  doap:Version .
+
+doap:old-homepage
+    rdf:type    rdf:Property , owl:InverseFunctionalProperty ;
+    rdfs:comment
+                "El URL de la antigua p�gina de un proyecto,\n		asociada con exactamente un proyecto."@es , "URL of a project's past homepage,\n		associated with exactly one project."@en , "L'URL d'une ancienne page web d'un\n		projet, associ�e avec un unique projet."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "old homepage"@en , "ancienne page web"@fr , "p�gina web antigua"@es ;
+    rdfs:subPropertyOf
+                foaf:homepage .
+
+doap:helper
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Colaborador del proyecto."@es , "Project contributor."@en , "Collaborateur au projet."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "helper"@en , "collaborateur"@fr , "colaborador"@es ;
+    rdfs:range  foaf:Person .
+
+doap:description
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Descripci�n en texto plano de un proyecto, de 2 a 4 enunciados de longitud."@es , "Texte descriptif d'un projet, long de 2 � 4 phrases."@fr , "Plain text description of a project, of 2-4 sentences in length."@en ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "descripci�n"@es , "description"@fr , "description"@en ;
+    rdfs:range  rdfs:Literal .
+
+doap:developer
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Developer of software for the project."@en , "D�veloppeur pour le projet."@fr , "Desarrollador de software para el proyecto."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "desarrollador"@es , "developer"@en , "d�veloppeur"@fr ;
+    rdfs:range  foaf:Person .
+
+doap:name
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "A name of something."@en , "El nombre de algo."@es , "Le nom de quelque chose."@fr ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "name"@en , "nombre"@es , "nom"@fr ;
+    rdfs:range  rdfs:Literal ;
+    rdfs:subPropertyOf
+                rdfs:label .
+
+doap:location
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Emplacement d'un d�p�t."@fr , "Location of a repository."@en , "lugar de un repositorio."@es ;
+    rdfs:domain
+                doap:Repository ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "repository location"@en , "emplacement du d�p�t"@fr , "lugar del respositorio"@es .
+
+doap:programming-language
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Lenguaje de programaci�n en el que un proyecto es implementado o con el cu�l pretende usarse."@es , "Programming language a project is implemented in or intended for use with."@en , "Langage de programmation avec lequel un projet est impl�ment�,\n		ou avec lequel il est pr�vu de l'utiliser."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "langage de programmation"@fr , "programming language"@en , "lenguaje de programaci�n"@es ;
+    rdfs:range  rdfs:Literal .
+
+doap:Version
+    rdf:type    rdfs:Class ;
+    rdfs:comment
+                "D�tails sur une version d'une realease d'un projet."@fr , "Informaci�n sobre la versi�n de un release del proyecto."@es , "Version information of a project release."@en ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "Versi�n"@es , "Version"@fr , "Version"@en .
+
+doap:BKRepository
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "D�p�t BitKeeper du code source."@fr , "Repositorio BitKeeper del c�digo fuente."@es , "BitKeeper source code repository."@en ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "D�p�t BitKeeper"@fr , "Repositorio BitKeeper"@es , "BitKeeper Repository"@en ;
+    rdfs:subClassOf
+                doap:Repository .
+
+doap:CVSRepository
+    rdf:type    owl:Class , rdfs:Class ;
+    rdfs:comment
+                "CVS source code repository."@en , "Repositorio CVS del c�digo fuente."@es , "D�p�t CVS du code source."@fr ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "D�p�t CVS"@fr , "Repositorio CVS"@es , "CVS Repository"@en ;
+    rdfs:subClassOf
+                doap:Repository .
+
+doap:documenter
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Proveedor de documentaci�n para el proyecto."@es , "Contributor of documentation to the project."@en , "Collaborateur � la documentation du projet."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "r�dacteur de l'aide"@fr , "documenter"@en , "escritor de ayuda"@es ;
+    rdfs:range  foaf:Person .
+
+doap:file-release
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "URI of download associated with this release."@en ;
+    rdfs:domain
+                doap:Version ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "file-release"@en .
+
+doap:Repository
+    rdf:type    rdfs:Class ;
+    rdfs:comment
+                "D�p�t du code source."@fr , "Source code repository."@en , "Repositorio del c�digo fuente."@es ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "D�p�t"@fr , "Repository"@en , "Repositorio"@es .
+
+doap:repository
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "D�p�t du code source."@fr , "Source code repository."@en , "Repositorio del c�digo fuente."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "d�p�t"@fr , "repositorio"@es , "repository"@en ;
+    rdfs:range  doap:Repository .
+
+doap:category
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "A category of project."@en , "Una categor�a de proyecto."@es , "Une cat�gorie de projet."@fr ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "categor�a"@es , "cat�gorie"@fr , "category"@en .
+
+doap:wiki
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "URL of Wiki for collaborative discussion of project."@en , "L'URL du Wiki pour la discussion collaborative sur le projet."@fr , "URL del Wiki para discusi�n colaborativa del proyecto."@es ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "wiki"@es , "wiki"@fr , "wiki"@en .
+
+doap:translator
+    rdf:type    rdf:Property ;
+    rdfs:comment
+                "Proveedor de traducciones al proyecto."@es , "Collaborateur � la traduction du projet."@fr , "Contributor of translations to the project."@en ;
+    rdfs:domain
+                doap:Project ;
+    rdfs:isDefinedBy
+                doap: ;
+    rdfs:label  "translator"@en , "traductor"@es , "traducteur"@fr ;
+    rdfs:range  foaf:Person .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/list-pfunction.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/list-pfunction.ttl b/jena-arq/Vocabularies/list-pfunction.ttl
index 2654ddb..ec8a9f6 100644
--- a/jena-arq/Vocabularies/list-pfunction.ttl
+++ b/jena-arq/Vocabularies/list-pfunction.ttl
@@ -1,43 +1,43 @@
-# Membership of a list
-
-@prefix rdf:        <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs:	    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix owl:        <http://www.w3.org/2002/07/owl#> .
-@prefix list:       <http://jena.hpl.hp.com/ARQ/list#> .
-
-list:member rdf:type rdf:Property ;
-    rdfs:label              "RDF collection accessor (RDF List)" ;
-    rdfs:domain             rdf:List ;
-    rdfs:range              rdfs:Resource ;
-    rdfs:comment 
-        "Membership relationship of a list [subject] to a member [object] c.f. rdfs:member" .
-
-list:listMember rdf:type rdf:Property ;
-    rdfs:label              "Alternative name for list:member" ;
-    owl:sameAs              list:member .
-
-
-list:index  rdf:type rdf:Property ;
-    rdfs:label              "RDF collection index accessor(RDF List)" ;
-    rdfs:domain             rdf:List ;
-    rdfs:range              rdfs:Resource ;
-    rdfs:comment 
-        "Index relationship of a list [subject] to a query list (index member)" .
-
-list:listIndex rdf:type rdf:Property ;
-    rdfs:label              "Alternative name for list:index" ;
-    owl:sameAs              list:index .
-
-
-list:length  rdf:type rdf:Property ;
-    rdfs:label              "RDF collection length (RDF List)" ;
-    rdfs:domain             rdf:List ;
-    rdfs:range              rdfs:Resource ;
-    rdfs:comment 
-        "Length relationship of a list [subject] to a length [object]" .
-
-list:listLength rdf:type rdf:Property ;
-    rdfs:label              "Alternative name for list:length" ;
-    owl:sameAs              list:length .
-
-
+# Membership of a list
+
+@prefix rdf:        <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:	    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix owl:        <http://www.w3.org/2002/07/owl#> .
+@prefix list:       <http://jena.hpl.hp.com/ARQ/list#> .
+
+list:member rdf:type rdf:Property ;
+    rdfs:label              "RDF collection accessor (RDF List)" ;
+    rdfs:domain             rdf:List ;
+    rdfs:range              rdfs:Resource ;
+    rdfs:comment 
+        "Membership relationship of a list [subject] to a member [object] c.f. rdfs:member" .
+
+list:listMember rdf:type rdf:Property ;
+    rdfs:label              "Alternative name for list:member" ;
+    owl:sameAs              list:member .
+
+
+list:index  rdf:type rdf:Property ;
+    rdfs:label              "RDF collection index accessor(RDF List)" ;
+    rdfs:domain             rdf:List ;
+    rdfs:range              rdfs:Resource ;
+    rdfs:comment 
+        "Index relationship of a list [subject] to a query list (index member)" .
+
+list:listIndex rdf:type rdf:Property ;
+    rdfs:label              "Alternative name for list:index" ;
+    owl:sameAs              list:index .
+
+
+list:length  rdf:type rdf:Property ;
+    rdfs:label              "RDF collection length (RDF List)" ;
+    rdfs:domain             rdf:List ;
+    rdfs:range              rdfs:Resource ;
+    rdfs:comment 
+        "Length relationship of a list [subject] to a length [object]" .
+
+list:listLength rdf:type rdf:Property ;
+    rdfs:label              "Alternative name for list:length" ;
+    owl:sameAs              list:length .
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/result-set.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/result-set.ttl b/jena-arq/Vocabularies/result-set.ttl
index 0a2e31d..aaa47a0 100644
--- a/jena-arq/Vocabularies/result-set.ttl
+++ b/jena-arq/Vocabularies/result-set.ttl
@@ -1,98 +1,98 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/result-set#> .
-@prefix xsd:    <http://www.w3.org/2000/10/XMLSchema#> .
-
-
-:  rdfs:comment     "Vocabulary for recording query result set" ;
-   dc:creator       "Andy Seaborne" ;
-   dc:subject       "" ;
-   dc:publisher     "W3C RDF Data Access Working Group" ;
-   dc:title         "Vocabulary for recording query result set" ;
-   dc:description   "Vocabulary for recording query result set" ;
-   dc:date          "2004-07-26" ;
-   dc:format        "RDF" ;
-   dc:identifier    : ;
-   .
-
-## ---- Class declarations ----
-
-:ResultSet rdf:type rdfs:Class ;
-    rdfs:comment    "Class of things that represent the result set" ;
-    .
-
-:ResultSolution rdf:type rdfs:Class ;
-    rdfs:comment    "Class of things that represent a row in the result table - one solution to the query" ;
-    .
-
-:ResultBinding rdf:type rdfs:Class ;
-    rdfs:comment    "Class of things that represent a single (variable, value) pairing" ;
-    .
-
-## =======================================
-## Modelling style: uses multiple instances of a property
-## to represent multiple results.
-## e.g. :ResultTable has many :hasSolution properties, one per row
-
-## ---- Properties ----
-
-## - Table level
-
-:solution rdf:type rdf:Property ;
-    rdfs:domain     :ResultSet ;
-    rdfs:range      :ResultSolution ;
-    .
-
-
-## Useful information extracted
-:size rdf:type rdf:Property ;
-    rdfs:comment    "Number of rows in the result table" ;
-    rdfs:range      xsd:integer ;
-    .
-
-## Can be convenient to list the variables beforehand
-:resultVariable rdf:type rdf:Property ;
-    rdfs:domain     :ResultSet ;
-    rdfs:range      xsd:string ;
-    rdfs:comment    "Name of a variable used in the result set" ;
-    rdfs:comment    "Multivalued" ;
-    .
-
-
-## -- Row level
-
-:binding rdf:type rdf:Property ;
-    rdfs:comment    "Multi-occurrence property associating a result solution (row) resource to a single (variable, value) binding " ;
-    rdfs:domain     :ResultSolution ;
-    rdfs:range      :ResultBinding ;
-    .
-
-
-:index rdf:type rdf:Property ;
-    rdfs:comment "Index for ordered result sets" ;
-    rdfs:domain	 :ResultSolution ;
-    # rdfs:range   ?? ;
-    .	
-## -- Single binding level
-
-:variable rdf:type rdf:Property ;
-    rdfs:comment    "Variable name" ;
-    rdfs:domain     :ResultBinding ;
-    rdfs:range      rdfs:Literal ;
-    .
-
-:value rdf:type rdf:Property ;
-    ##rdfs:subPropertyOf rdfs:value ;
-    rdfs:comment    "Variable name" ;
-    rdfs:domain     :ResultBinding ;
-    # Range is anything
-    .
-
-## ---- Boolean results
-
-:boolean rdf:type rdf:Property ;
-    rdfs:comment    "Boolean result" ;
-    rdfs:domain     :ResultBinding ;
-    rdfs:domain     xsd:boolean ;
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/result-set#> .
+@prefix xsd:    <http://www.w3.org/2000/10/XMLSchema#> .
+
+
+:  rdfs:comment     "Vocabulary for recording query result set" ;
+   dc:creator       "Andy Seaborne" ;
+   dc:subject       "" ;
+   dc:publisher     "W3C RDF Data Access Working Group" ;
+   dc:title         "Vocabulary for recording query result set" ;
+   dc:description   "Vocabulary for recording query result set" ;
+   dc:date          "2004-07-26" ;
+   dc:format        "RDF" ;
+   dc:identifier    : ;
+   .
+
+## ---- Class declarations ----
+
+:ResultSet rdf:type rdfs:Class ;
+    rdfs:comment    "Class of things that represent the result set" ;
+    .
+
+:ResultSolution rdf:type rdfs:Class ;
+    rdfs:comment    "Class of things that represent a row in the result table - one solution to the query" ;
+    .
+
+:ResultBinding rdf:type rdfs:Class ;
+    rdfs:comment    "Class of things that represent a single (variable, value) pairing" ;
+    .
+
+## =======================================
+## Modelling style: uses multiple instances of a property
+## to represent multiple results.
+## e.g. :ResultTable has many :hasSolution properties, one per row
+
+## ---- Properties ----
+
+## - Table level
+
+:solution rdf:type rdf:Property ;
+    rdfs:domain     :ResultSet ;
+    rdfs:range      :ResultSolution ;
+    .
+
+
+## Useful information extracted
+:size rdf:type rdf:Property ;
+    rdfs:comment    "Number of rows in the result table" ;
+    rdfs:range      xsd:integer ;
+    .
+
+## Can be convenient to list the variables beforehand
+:resultVariable rdf:type rdf:Property ;
+    rdfs:domain     :ResultSet ;
+    rdfs:range      xsd:string ;
+    rdfs:comment    "Name of a variable used in the result set" ;
+    rdfs:comment    "Multivalued" ;
+    .
+
+
+## -- Row level
+
+:binding rdf:type rdf:Property ;
+    rdfs:comment    "Multi-occurrence property associating a result solution (row) resource to a single (variable, value) binding " ;
+    rdfs:domain     :ResultSolution ;
+    rdfs:range      :ResultBinding ;
+    .
+
+
+:index rdf:type rdf:Property ;
+    rdfs:comment "Index for ordered result sets" ;
+    rdfs:domain	 :ResultSolution ;
+    # rdfs:range   ?? ;
+    .	
+## -- Single binding level
+
+:variable rdf:type rdf:Property ;
+    rdfs:comment    "Variable name" ;
+    rdfs:domain     :ResultBinding ;
+    rdfs:range      rdfs:Literal ;
+    .
+
+:value rdf:type rdf:Property ;
+    ##rdfs:subPropertyOf rdfs:value ;
+    rdfs:comment    "Variable name" ;
+    rdfs:domain     :ResultBinding ;
+    # Range is anything
+    .
+
+## ---- Boolean results
+
+:boolean rdf:type rdf:Property ;
+    rdfs:comment    "Boolean result" ;
+    rdfs:domain     :ResultBinding ;
+    rdfs:domain     xsd:boolean ;
     .
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-dawg.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-dawg.ttl b/jena-arq/Vocabularies/test-dawg.ttl
index 8afe84c..d35162d 100644
--- a/jena-arq/Vocabularies/test-dawg.ttl
+++ b/jena-arq/Vocabularies/test-dawg.ttl
@@ -1,138 +1,138 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix owl:    <http://www.w3.org/2002/07/owl#> .
-@prefix dawgt:  <http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#> .
-@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-
-# RDF Core tests
-@prefix rct:    <http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#> .
-
-dawgt:   rdfs:comment     "Vocabulary for DAWG test cases" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "W3C RDF Data Access Working Group" ;
-    dc:title         "Vocabulary for DAWG test cases" ;
-    dc:description   "Vocabulary for DAWG test cases" ;
-    dc:date          "2004-07" ;
-    dc:format        "RDF" ;
-    dc:identifier    dawgt: ;
-    .
-
-
-## ---- Classes ----
-
-dawgt:ResultForm    rdf:type rdfs:Class ;
-    rdfs:comment    "Super class of all result forms" ;
-    .
-
-dawgt:QueryForm    rdf:type rdfs:Class ;
-    rdfs:comment   "Super class of all query forms" ;
-    .
-
-dawgt:Status    rdf:type rdfs:Class ;
-    rdfs:comment     "Super class of all test status classes" ;
-    .
-
-## ---- Properties ----
-
-# Could be a subPropertyOf rdf:type
-# or could just use rdf:type.
-dawgt:resultForm    rdf:type rdf:Property ;
-    rdfs:range          dawgt:ResultForm ;
-    rdfs:isDefinedBy    dawgt: ;
-    .
-
-# Could be a subPropertyOf rdf:type
-# or could just use rdf:type.
-dawgt:queryForm   rdf:type rdf:Property ;
-    rdfs:range          dawgt:QueryForm ;
-    rdfs:isDefinedBy    dawgt: ;
-    .
-
-dawgt:status   rdf:type rdf:Property ;
-    rdfs:range          dawgt:Status ;
-    rdfs:isDefinedBy    dawgt: ;
-    rdfs:label          "Status" ;
-    .
-
-dawgt:approval rdf:type rdf:Property ;
-    rdfs:comment        "Contains a reference to the minutes of the RDF Data Access Working Group where the test case status was last changed." ;
-    rdfs:label          "Approval" ;
-    owl:sameAs          rct:approval ;
-    .
-
-dawgt:description rdf:type rdf:Property ;
-    rdfs:comment        "A human-readable summary of the test case.";
-    rdfs:label          "Description" ;
-    owl:sameAs          rct:description ;
-    .
-
-dawgt:issue     rdf:type rdf:Property ;
-    rdfs:comment        "Contains a pointer to the associated issue on the RDF Data Access Working Group Tracking document.";
-    owl:sameAs          rct:issue ;
-    rdfs:label          "Issue" .
-
-dawgt:warning   rdf:type rdf:Property;
-    rdfs:comment        "Indicates that while the test should pass, it may generate a warning.";
-    owl:sameAs          rct:warning ;
-    rdfs:label          "Warning" .
-
-## ---- Defined terms ----
-
-## ---- Test statuses
-
-dawgt:NotClassified     rdfs:subClassOf dawgt:Status ;
-    rdfs:comment        "Class of tests that have not been classified" ;
-    rdfs:label          "NotClassified" .
-
-dawgt:Approved          rdfs:subClassOf dawgt:Status ;
-    rdfs:comment        "Class of tests that are Approved" ;
-    rdfs:label          "Approved" .
-
-dawgt:Rejected          rdfs:subClassOf dawgt:Status ;
-    rdfs:comment        "Class of tests that are Rejected" ;
-    rdfs:label          "Rejected" .
-
-dawgt:Obsoleted         rdfs:subClassOf dawgt:Status ;
-    rdfs:comment        "Class of tests that are Obsolete" ;
-    rdfs:label          "Obsoleted" .
-
-dawgt:Withdrawn         rdfs:subClassOf dawgt:Status ;
-    rdfs:comment        "Class of tests that have been Withdrawn" ;
-    rdfs:label          "Withdrawn" .
-
-## ---- Query forms 
-## The types of query there are
-
-dawgt:querySelect       rdfs:subClassOf dawgt:QueryForm ;
-    rdfs:comment        "Class of queries that are seeking variable bindings" ;
-    rdfs:label          "Variable Binding Query" .
- 
-dawgt:queryConstruct    rdfs:subClassOf dawgt:QueryForm ;
-    rdfs:comment        "Class of queries that are seeking a constructed graph" ;
-    rdfs:label          "Defined Graph Query" .
-
-dawgt:queryDescribe     rdfs:subClassOf dawgt:QueryForm ;
-    rdfs:comment        "Class of queries that are seeking a descriptive graph" ;
-    rdfs:label          "Open Graph Query" .
-
-dawgt:queryAsk          rdfs:subClassOf dawgt:QueryForm ;
-    rdfs:comment        "Class of queries that are seeking a yes/no question" ;
-    rdfs:label          "Boolean Query" .
-
-## ---- Result forms
-## The result may still be encoded in RDF - classifying it helps
-## check for expected form.
-
-dawgt:resultResultSet   rdfs:subClassOf dawgt:ResultForm ;
-    rdfs:comment        "Class of result expected to be from a SELECT query" ;
-    rdfs:label          "Result Set" .
- 
-dawgt:resultGraph       rdfs:subClassOf dawgt:ResultForm ;
-    rdfs:comment        "Class of result expected to be a graph" ;
-    rdfs:label          "Graph Result" .
- 
-dawgt:booleanResult     rdfs:subClassOf dawgt:ResultForm ;
-    rdfs:comment        "Class of result expected to be a boolean" ;
-    rdfs:label          "Boolean Result" .
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix owl:    <http://www.w3.org/2002/07/owl#> .
+@prefix dawgt:  <http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#> .
+@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+
+# RDF Core tests
+@prefix rct:    <http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#> .
+
+dawgt:   rdfs:comment     "Vocabulary for DAWG test cases" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "W3C RDF Data Access Working Group" ;
+    dc:title         "Vocabulary for DAWG test cases" ;
+    dc:description   "Vocabulary for DAWG test cases" ;
+    dc:date          "2004-07" ;
+    dc:format        "RDF" ;
+    dc:identifier    dawgt: ;
+    .
+
+
+## ---- Classes ----
+
+dawgt:ResultForm    rdf:type rdfs:Class ;
+    rdfs:comment    "Super class of all result forms" ;
+    .
+
+dawgt:QueryForm    rdf:type rdfs:Class ;
+    rdfs:comment   "Super class of all query forms" ;
+    .
+
+dawgt:Status    rdf:type rdfs:Class ;
+    rdfs:comment     "Super class of all test status classes" ;
+    .
+
+## ---- Properties ----
+
+# Could be a subPropertyOf rdf:type
+# or could just use rdf:type.
+dawgt:resultForm    rdf:type rdf:Property ;
+    rdfs:range          dawgt:ResultForm ;
+    rdfs:isDefinedBy    dawgt: ;
+    .
+
+# Could be a subPropertyOf rdf:type
+# or could just use rdf:type.
+dawgt:queryForm   rdf:type rdf:Property ;
+    rdfs:range          dawgt:QueryForm ;
+    rdfs:isDefinedBy    dawgt: ;
+    .
+
+dawgt:status   rdf:type rdf:Property ;
+    rdfs:range          dawgt:Status ;
+    rdfs:isDefinedBy    dawgt: ;
+    rdfs:label          "Status" ;
+    .
+
+dawgt:approval rdf:type rdf:Property ;
+    rdfs:comment        "Contains a reference to the minutes of the RDF Data Access Working Group where the test case status was last changed." ;
+    rdfs:label          "Approval" ;
+    owl:sameAs          rct:approval ;
+    .
+
+dawgt:description rdf:type rdf:Property ;
+    rdfs:comment        "A human-readable summary of the test case.";
+    rdfs:label          "Description" ;
+    owl:sameAs          rct:description ;
+    .
+
+dawgt:issue     rdf:type rdf:Property ;
+    rdfs:comment        "Contains a pointer to the associated issue on the RDF Data Access Working Group Tracking document.";
+    owl:sameAs          rct:issue ;
+    rdfs:label          "Issue" .
+
+dawgt:warning   rdf:type rdf:Property;
+    rdfs:comment        "Indicates that while the test should pass, it may generate a warning.";
+    owl:sameAs          rct:warning ;
+    rdfs:label          "Warning" .
+
+## ---- Defined terms ----
+
+## ---- Test statuses
+
+dawgt:NotClassified     rdfs:subClassOf dawgt:Status ;
+    rdfs:comment        "Class of tests that have not been classified" ;
+    rdfs:label          "NotClassified" .
+
+dawgt:Approved          rdfs:subClassOf dawgt:Status ;
+    rdfs:comment        "Class of tests that are Approved" ;
+    rdfs:label          "Approved" .
+
+dawgt:Rejected          rdfs:subClassOf dawgt:Status ;
+    rdfs:comment        "Class of tests that are Rejected" ;
+    rdfs:label          "Rejected" .
+
+dawgt:Obsoleted         rdfs:subClassOf dawgt:Status ;
+    rdfs:comment        "Class of tests that are Obsolete" ;
+    rdfs:label          "Obsoleted" .
+
+dawgt:Withdrawn         rdfs:subClassOf dawgt:Status ;
+    rdfs:comment        "Class of tests that have been Withdrawn" ;
+    rdfs:label          "Withdrawn" .
+
+## ---- Query forms 
+## The types of query there are
+
+dawgt:querySelect       rdfs:subClassOf dawgt:QueryForm ;
+    rdfs:comment        "Class of queries that are seeking variable bindings" ;
+    rdfs:label          "Variable Binding Query" .
+ 
+dawgt:queryConstruct    rdfs:subClassOf dawgt:QueryForm ;
+    rdfs:comment        "Class of queries that are seeking a constructed graph" ;
+    rdfs:label          "Defined Graph Query" .
+
+dawgt:queryDescribe     rdfs:subClassOf dawgt:QueryForm ;
+    rdfs:comment        "Class of queries that are seeking a descriptive graph" ;
+    rdfs:label          "Open Graph Query" .
+
+dawgt:queryAsk          rdfs:subClassOf dawgt:QueryForm ;
+    rdfs:comment        "Class of queries that are seeking a yes/no question" ;
+    rdfs:label          "Boolean Query" .
+
+## ---- Result forms
+## The result may still be encoded in RDF - classifying it helps
+## check for expected form.
+
+dawgt:resultResultSet   rdfs:subClassOf dawgt:ResultForm ;
+    rdfs:comment        "Class of result expected to be from a SELECT query" ;
+    rdfs:label          "Result Set" .
+ 
+dawgt:resultGraph       rdfs:subClassOf dawgt:ResultForm ;
+    rdfs:comment        "Class of result expected to be a graph" ;
+    rdfs:label          "Graph Result" .
+ 
+dawgt:booleanResult     rdfs:subClassOf dawgt:ResultForm ;
+    rdfs:comment        "Class of result expected to be a boolean" ;
+    rdfs:label          "Boolean Result" .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-manifest-1_0.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-manifest-1_0.ttl b/jena-arq/Vocabularies/test-manifest-1_0.ttl
index 632eaa5..2b901d1 100644
--- a/jena-arq/Vocabularies/test-manifest-1_0.ttl
+++ b/jena-arq/Vocabularies/test-manifest-1_0.ttl
@@ -1,152 +1,152 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-
-## A Manifest is typically a list (RDF Collection) of manifest entries.
-## The :entries property has an object of the list.
-## There may be more than one list per file.
-
-:   rdfs:comment     "Manifest vocabulary for test cases" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "W3C RDF Data Access Working Group" ;
-    dc:title         "Test case manifest vocabulary" ;
-    dc:description   "Test case manifest vocabulary" ;
-    dc:date          "2004-07" ;
-    dc:format        "RDF" ;
-    dc:identifier    : ;
-    .
-
-## ---- Class declarations ----
-
-:Manifest rdf:type rdfs:Class ;
-    rdfs:comment "The class of manifests" .
-
-:ManifestEntry rdf:type rdfs:Class ;
-    rdfs:comment "One entry in rdf:type list of entries" .
-
-## ---- Property declarations for the manifest ----
-
-:include rdf:type rdf:Property ;
-    rdfs:comment "Connects the manifest resource to rdf:type list of manifests" ;
-    rdfs:domain	 :Manifest ;
-    rdfs:range   rdf:List ;
-    .
-
-:entries rdf:type rdf:Property ;
-    rdfs:comment "Connects the manifest resource to rdf:type list of entries" ;
-    rdfs:domain	 :Manifest ;
-    rdfs:range   rdf:List ;
-    .
-	
-## ---- Property declarations for each test ----
-
-:name rdf:type rdf:Property ;
-    rdfs:comment "Optional name of this entry" ;
-    rdfs:domain	 :ManifestEntry ;
-    rdfs:range   rdfs:Literal ;
-    .	
-    
-:action rdf:type rdf:Property ;
-    rdfs:comment "Action to perform" ;
-    rdfs:domain	 :ManifestEntry ;
-    # rdfs:range   ?? ;
-    .	
-
-:result rdf:type rdf:Property ;
-    rdfs:comment "The expected outcome" ;
-    rdfs:domain	 :ManifestEntry ;
-    # rdfs:range   ?? ;
-    .	
-
-:result rdf:type rdf:Property ;
-    rdfs:comment "The test status" ;
-    rdfs:domain	 :ManifestEntry ;
-    rdfs:range   :TestStatus ;
-    .
-
-:requires rdf:type rdf:Property ;
-    rdfs:comment "Required functionality for execution of this test" ;
-    rdfs:domain :ManifestEntry ;
-    rdfs:range	:Requirement .
-
-:notable rdf:type rdf:Property ;
-    rdfs:comment "Notable feature of this test (advisory)" ;
-    rdfs:domain :ManifestEntry .
-
-## ---- Test Case Type ---
-
-:PositiveSyntaxTest rdf:type rdfs:Class ;
-      rdfs:label "Positive Syntax Test" ;
-      rdfs:comment "A type of test specifically for syntax testing. Syntax
-      tests are not required to have an associated result, only an
-      action." .
-
-:NegativeSyntaxTest rdf:type rdfs:Class ;
-      rdfs:label "Negative Syntax Test" ;
-      rdfs:comment "A type of test specifically for syntax testing. Syntax
-      tests are not required to have an associated result, only an
-      action. Negative syntax tests are tests of which the result should
-      be a parser error." .
-
-:QueryEvaluationTest rdf:type rdfs:Class ;
-      rdfs:label "Query Evaluation Test" ;
-      rdfs:comment "A type of test specifically for query evaluation
-      testing. Query evaluation tests are required to have an associated
-      input dataset, a query, and an expected output dataset." .
-
-:ReducedCardinalityTest  rdf:type rdfs:Class ;
-      rdfs:label "Query Evaluation Test (REDUCDED)" ;
-      rdfs:comment
-"""The given mf:result for a mf:ReducedCardinalityTest is the results as 
-if the REDUCED keyword were omitted. To pass a 
-mf:ReducedCardinalityTest, an implementation must produce a result set 
-with each solution in the expected results appearing at least once and 
-no more than the number of times it appears in the expected results. Of 
-course, there must also be no results produced that are not in the 
-expected results.""" .
-
-## ---- Test Statuses ----
-
-:TestStatus rdf:type rdfs:Class ;
-    rdfs:comment "Statuses a test can have" ;
-    .
-
-:proposed rdf:type :TestStatus ;
-    rdfs:label "proposed" ;
-    .
-
-:accepted rdf:type :TestStatus ;
-    rdfs:label "accepted" ;
-    .
-
-:rejected rdf:type :TestStatus ;
-    rdfs:label "rejected" ;
-    .
-
-## ---- Required functions ----
-
-:Requirement rdf:type rdfs:Class ;
-     rdfs:comment "Requirements for a  particular test" .
-
-:Notable rdf:type rdfs:Class ;
-     rdfs:comment "Requirements for a  particular test" .
-
-
-:XsdDateOperations	rdf:type :Requirement ;
-    rdfs:comment "Tests that require xsd:date operations" .
-	
-:StringSimpleLiteralCmp	rdf:type :Requirement ;
-    rdfs:comment "Tests that require simple literal is the same value as an xsd:string of the same lexicial form" .
-    
-:KnownTypesDefault2Neq	rdf:type :Requirement ;
-    rdfs:comment "Values in disjoint value spaces are not equal" .
-    
-:LangTagAwareness	rdf:type :Requirement ;
-    rdfs:comment "Tests that require language tag handling in FILTERs" .
-
-## ---- Notable features ----
-
-:IllFormedLiterals	rdf:type :Notable ;
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+
+## A Manifest is typically a list (RDF Collection) of manifest entries.
+## The :entries property has an object of the list.
+## There may be more than one list per file.
+
+:   rdfs:comment     "Manifest vocabulary for test cases" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "W3C RDF Data Access Working Group" ;
+    dc:title         "Test case manifest vocabulary" ;
+    dc:description   "Test case manifest vocabulary" ;
+    dc:date          "2004-07" ;
+    dc:format        "RDF" ;
+    dc:identifier    : ;
+    .
+
+## ---- Class declarations ----
+
+:Manifest rdf:type rdfs:Class ;
+    rdfs:comment "The class of manifests" .
+
+:ManifestEntry rdf:type rdfs:Class ;
+    rdfs:comment "One entry in rdf:type list of entries" .
+
+## ---- Property declarations for the manifest ----
+
+:include rdf:type rdf:Property ;
+    rdfs:comment "Connects the manifest resource to rdf:type list of manifests" ;
+    rdfs:domain	 :Manifest ;
+    rdfs:range   rdf:List ;
+    .
+
+:entries rdf:type rdf:Property ;
+    rdfs:comment "Connects the manifest resource to rdf:type list of entries" ;
+    rdfs:domain	 :Manifest ;
+    rdfs:range   rdf:List ;
+    .
+	
+## ---- Property declarations for each test ----
+
+:name rdf:type rdf:Property ;
+    rdfs:comment "Optional name of this entry" ;
+    rdfs:domain	 :ManifestEntry ;
+    rdfs:range   rdfs:Literal ;
+    .	
+    
+:action rdf:type rdf:Property ;
+    rdfs:comment "Action to perform" ;
+    rdfs:domain	 :ManifestEntry ;
+    # rdfs:range   ?? ;
+    .	
+
+:result rdf:type rdf:Property ;
+    rdfs:comment "The expected outcome" ;
+    rdfs:domain	 :ManifestEntry ;
+    # rdfs:range   ?? ;
+    .	
+
+:result rdf:type rdf:Property ;
+    rdfs:comment "The test status" ;
+    rdfs:domain	 :ManifestEntry ;
+    rdfs:range   :TestStatus ;
+    .
+
+:requires rdf:type rdf:Property ;
+    rdfs:comment "Required functionality for execution of this test" ;
+    rdfs:domain :ManifestEntry ;
+    rdfs:range	:Requirement .
+
+:notable rdf:type rdf:Property ;
+    rdfs:comment "Notable feature of this test (advisory)" ;
+    rdfs:domain :ManifestEntry .
+
+## ---- Test Case Type ---
+
+:PositiveSyntaxTest rdf:type rdfs:Class ;
+      rdfs:label "Positive Syntax Test" ;
+      rdfs:comment "A type of test specifically for syntax testing. Syntax
+      tests are not required to have an associated result, only an
+      action." .
+
+:NegativeSyntaxTest rdf:type rdfs:Class ;
+      rdfs:label "Negative Syntax Test" ;
+      rdfs:comment "A type of test specifically for syntax testing. Syntax
+      tests are not required to have an associated result, only an
+      action. Negative syntax tests are tests of which the result should
+      be a parser error." .
+
+:QueryEvaluationTest rdf:type rdfs:Class ;
+      rdfs:label "Query Evaluation Test" ;
+      rdfs:comment "A type of test specifically for query evaluation
+      testing. Query evaluation tests are required to have an associated
+      input dataset, a query, and an expected output dataset." .
+
+:ReducedCardinalityTest  rdf:type rdfs:Class ;
+      rdfs:label "Query Evaluation Test (REDUCDED)" ;
+      rdfs:comment
+"""The given mf:result for a mf:ReducedCardinalityTest is the results as 
+if the REDUCED keyword were omitted. To pass a 
+mf:ReducedCardinalityTest, an implementation must produce a result set 
+with each solution in the expected results appearing at least once and 
+no more than the number of times it appears in the expected results. Of 
+course, there must also be no results produced that are not in the 
+expected results.""" .
+
+## ---- Test Statuses ----
+
+:TestStatus rdf:type rdfs:Class ;
+    rdfs:comment "Statuses a test can have" ;
+    .
+
+:proposed rdf:type :TestStatus ;
+    rdfs:label "proposed" ;
+    .
+
+:accepted rdf:type :TestStatus ;
+    rdfs:label "accepted" ;
+    .
+
+:rejected rdf:type :TestStatus ;
+    rdfs:label "rejected" ;
+    .
+
+## ---- Required functions ----
+
+:Requirement rdf:type rdfs:Class ;
+     rdfs:comment "Requirements for a  particular test" .
+
+:Notable rdf:type rdfs:Class ;
+     rdfs:comment "Requirements for a  particular test" .
+
+
+:XsdDateOperations	rdf:type :Requirement ;
+    rdfs:comment "Tests that require xsd:date operations" .
+	
+:StringSimpleLiteralCmp	rdf:type :Requirement ;
+    rdfs:comment "Tests that require simple literal is the same value as an xsd:string of the same lexicial form" .
+    
+:KnownTypesDefault2Neq	rdf:type :Requirement ;
+    rdfs:comment "Values in disjoint value spaces are not equal" .
+    
+:LangTagAwareness	rdf:type :Requirement ;
+    rdfs:comment "Tests that require language tag handling in FILTERs" .
+
+## ---- Notable features ----
+
+:IllFormedLiterals	rdf:type :Notable ;
     rdfs:comment "Tests that involve lexical forms which are illegal for the datatype" .
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-manifest-1_1.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-manifest-1_1.ttl b/jena-arq/Vocabularies/test-manifest-1_1.ttl
index ee1b031..d171365 100644
--- a/jena-arq/Vocabularies/test-manifest-1_1.ttl
+++ b/jena-arq/Vocabularies/test-manifest-1_1.ttl
@@ -1,58 +1,58 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-
-## Extensions for SPARQL 1.1
-
-## A Manifest is typically a list (RDF Collection) of manifest entries.
-## The :entries property has an object of the list.
-## There may be more than one list per file.
-
-:   rdfs:comment     "Manifest vocabulary for test cases (SPARQL 1.1)" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "W3C SPARQL Working Group" ;
-    dc:title         "Test case manifest vocabulary" ;
-    dc:description   "Test case manifest vocabulary" ;
-    dc:date          "2010-05" ;
-    dc:format        "RDF" ;
-    dc:identifier    : ;
-    .
-
-## ---- Test Case Type ---
-
-:PositiveSyntaxTest11 rdf:type rdfs:Class ;
-    rdfs:label "Positive Syntax Test (SPARQL 1.1 specific)" ;
-    rdfs:comment """A type of test specifically for syntax testing for SPARQL 1.1.""" ;
-    .
-
-:NegativeSyntaxTest11 rdf:type rdfs:Class ;
-    rdfs:label "Negative Syntax Test (SPARQL 1.1 specific)" ;
-    rdfs:comment """A type of test specifically for syntax testing for SPARQL 1.1.""" ;
-    .
-
-:PositiveUpdateSyntaxTest11 rdf:type rdfs:Class ;
-      rdfs:label "Positive Update Syntax Test" ;
-      rdfs:comment """A type of test specifically for syntax testing of SPARQL Update. Syntax
-      tests are not required to have an associated result, only an
-      action.""" .
-
-:NegativeUpdateSyntaxTest11 rdf:type rdfs:Class ;
-      rdfs:label "Negative Update Syntax Test" ;
-      rdfs:comment """A type of test specifically for syntax testing of SPARQL Update. Syntax
-      tests are not required to have an associated result, only an
-      action. Negative syntax tests are tests of which the result should
-      be a parser error.""" .
-
-:UpdateEvaluationTest rdf:type rdfs:Class ;
-      rdfs:label "Query Evaluation Test" ;
-      rdfs:comment """A type of test specifically for query evaluation
-      testing. Query evaluation tests are required to have an associated
-      input dataset, a query, and an expected output dataset.""" .
-
-
-:CSVResultFormatTest  rdf:type rdfs:Class ;
-      rdfs:label "CSV Test" ;
-      rdfs:comment "CSV Test"
-      .
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+
+## Extensions for SPARQL 1.1
+
+## A Manifest is typically a list (RDF Collection) of manifest entries.
+## The :entries property has an object of the list.
+## There may be more than one list per file.
+
+:   rdfs:comment     "Manifest vocabulary for test cases (SPARQL 1.1)" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "W3C SPARQL Working Group" ;
+    dc:title         "Test case manifest vocabulary" ;
+    dc:description   "Test case manifest vocabulary" ;
+    dc:date          "2010-05" ;
+    dc:format        "RDF" ;
+    dc:identifier    : ;
+    .
+
+## ---- Test Case Type ---
+
+:PositiveSyntaxTest11 rdf:type rdfs:Class ;
+    rdfs:label "Positive Syntax Test (SPARQL 1.1 specific)" ;
+    rdfs:comment """A type of test specifically for syntax testing for SPARQL 1.1.""" ;
+    .
+
+:NegativeSyntaxTest11 rdf:type rdfs:Class ;
+    rdfs:label "Negative Syntax Test (SPARQL 1.1 specific)" ;
+    rdfs:comment """A type of test specifically for syntax testing for SPARQL 1.1.""" ;
+    .
+
+:PositiveUpdateSyntaxTest11 rdf:type rdfs:Class ;
+      rdfs:label "Positive Update Syntax Test" ;
+      rdfs:comment """A type of test specifically for syntax testing of SPARQL Update. Syntax
+      tests are not required to have an associated result, only an
+      action.""" .
+
+:NegativeUpdateSyntaxTest11 rdf:type rdfs:Class ;
+      rdfs:label "Negative Update Syntax Test" ;
+      rdfs:comment """A type of test specifically for syntax testing of SPARQL Update. Syntax
+      tests are not required to have an associated result, only an
+      action. Negative syntax tests are tests of which the result should
+      be a parser error.""" .
+
+:UpdateEvaluationTest rdf:type rdfs:Class ;
+      rdfs:label "Query Evaluation Test" ;
+      rdfs:comment """A type of test specifically for query evaluation
+      testing. Query evaluation tests are required to have an associated
+      input dataset, a query, and an expected output dataset.""" .
+
+
+:CSVResultFormatTest  rdf:type rdfs:Class ;
+      rdfs:label "CSV Test" ;
+      rdfs:comment "CSV Test"
+      .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-manifest-x.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-manifest-x.ttl b/jena-arq/Vocabularies/test-manifest-x.ttl
index dab85a6..b2162ae 100644
--- a/jena-arq/Vocabularies/test-manifest-x.ttl
+++ b/jena-arq/Vocabularies/test-manifest-x.ttl
@@ -1,67 +1,67 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix :       <http://jena.hpl.hp.com/2005/05/test-manifest-extra#> .
-@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-
-## Additional (non-DAWG) properties, classes and constants.
-
-:   rdfs:comment     "Manifest vocabulary for test cases (additions)" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "Hewlett-Packard Laboratories" ;
-    dc:title         "Test case manifest vocabulary (extra)" ;
-    dc:description   "Test case manifest vocabulary (extra)" ;
-    dc:date          "2005-04" ;
-    dc:format        "RDF" ;
-    dc:identifier    : ;
-    .
-
-## ---- Class declarations ----
-
-:TestQuery rdf:type rdfs:Class ;
-    rdfs:comment "The class of test that are Query tests (query, data, results)".
-
-:PositiveSyntaxTestARQ rdf:type rdfs:Class ;
-    rdfs:comment "Syntax tests (query)" .
-
-:NegativeSyntaxTestARQ rdf:type rdfs:Class ;
-    rdfs:subClassOf :TestSyntax ;
-    rdfs:comment "Syntax tests which expect a parse failure" .
-
-:TestSerialization rdf:type rdfs:Class ;
-    rdfs:comment "Query serialization tests" .
-
-:TestSurpressed    rdf:type rdfs:Class ;
-    rdfs:comment "Query test not to be run" .
-
-## ---- Property declarations ----
-
-:querySyntax rdf:type rdf:Property ;
-    rdfs:comment "Syntax of the query" ;
-    .
-
-:dataSyntax rdf:type rdf:Property ;
-    rdfs:comment "Syntax of the query" ;
-    .
-
-:textIndex rdf:type rdf:Property ;
-    rdfs:comment "Whether to create a text index" ;
-    .
-
-:include rdf:type rdf:Property ;
-    rdfs:comment "Include another manifest file." ;
-    .
-
-:defaultTestType rdf:type rdf:Property ;
-    rdfs:comment "Default type of a test" ;
-    rdfs:domain mf:Manifest ;
-    # Default default is a query test
-    .
-
-:option rdf:type rdf:Property ;
-    rdfs:comment "Option for an action" .
-
-
-## ---- Constants ----
-
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix :       <http://jena.hpl.hp.com/2005/05/test-manifest-extra#> .
+@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+
+## Additional (non-DAWG) properties, classes and constants.
+
+:   rdfs:comment     "Manifest vocabulary for test cases (additions)" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "Hewlett-Packard Laboratories" ;
+    dc:title         "Test case manifest vocabulary (extra)" ;
+    dc:description   "Test case manifest vocabulary (extra)" ;
+    dc:date          "2005-04" ;
+    dc:format        "RDF" ;
+    dc:identifier    : ;
+    .
+
+## ---- Class declarations ----
+
+:TestQuery rdf:type rdfs:Class ;
+    rdfs:comment "The class of test that are Query tests (query, data, results)".
+
+:PositiveSyntaxTestARQ rdf:type rdfs:Class ;
+    rdfs:comment "Syntax tests (query)" .
+
+:NegativeSyntaxTestARQ rdf:type rdfs:Class ;
+    rdfs:subClassOf :TestSyntax ;
+    rdfs:comment "Syntax tests which expect a parse failure" .
+
+:TestSerialization rdf:type rdfs:Class ;
+    rdfs:comment "Query serialization tests" .
+
+:TestSurpressed    rdf:type rdfs:Class ;
+    rdfs:comment "Query test not to be run" .
+
+## ---- Property declarations ----
+
+:querySyntax rdf:type rdf:Property ;
+    rdfs:comment "Syntax of the query" ;
+    .
+
+:dataSyntax rdf:type rdf:Property ;
+    rdfs:comment "Syntax of the query" ;
+    .
+
+:textIndex rdf:type rdf:Property ;
+    rdfs:comment "Whether to create a text index" ;
+    .
+
+:include rdf:type rdf:Property ;
+    rdfs:comment "Include another manifest file." ;
+    .
+
+:defaultTestType rdf:type rdf:Property ;
+    rdfs:comment "Default type of a test" ;
+    rdfs:domain mf:Manifest ;
+    # Default default is a query test
+    .
+
+:option rdf:type rdf:Property ;
+    rdfs:comment "Option for an action" .
+
+
+## ---- Constants ----
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-manifest.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-manifest.ttl b/jena-arq/Vocabularies/test-manifest.ttl
index 1d19ccf..d19ef26 100644
--- a/jena-arq/Vocabularies/test-manifest.ttl
+++ b/jena-arq/Vocabularies/test-manifest.ttl
@@ -1,154 +1,154 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-
-## A Manifest is typically a list (RDF Collection) of manifest entries.
-## The :entries property has an object of the list.
-## There may be more than one list per file.
-
-:   rdfs:comment     "Manifest vocabulary for test cases" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "W3C RDF Data Access Working Group" ;
-    dc:publisher     "W3C SPARQL Working Group" ;
-    dc:title         "Test case manifest vocabulary" ;
-    dc:description   "Test case manifest vocabulary" ;
-    dc:date          "2004-07" ;
-    dc:date          "2010-08" ;
-    dc:format        "RDF" ;
-    dc:identifier    : ;
-    .
-
-## ---- Class declarations ----
-
-:Manifest rdf:type rdfs:Class ;
-    rdfs:comment "The class of manifests" .
-
-:ManifestEntry rdf:type rdfs:Class ;
-    rdfs:comment "One entry in rdf:type list of entries" .
-
-## ---- Property declarations for the manifest ----
-
-:include rdf:type rdf:Property ;
-    rdfs:comment "Connects the manifest resource to rdf:type list of manifests" ;
-    rdfs:domain	 :Manifest ;
-    rdfs:range   rdf:List ;
-    .
-
-:entries rdf:type rdf:Property ;
-    rdfs:comment "Connects the manifest resource to rdf:type list of entries" ;
-    rdfs:domain	 :Manifest ;
-    rdfs:range   rdf:List ;
-    .
-	
-## ---- Property declarations for each test ----
-
-:name rdf:type rdf:Property ;
-    rdfs:comment "Optional name of this entry" ;
-    rdfs:domain	 :ManifestEntry ;
-    rdfs:range   rdfs:Literal ;
-    .	
-    
-:action rdf:type rdf:Property ;
-    rdfs:comment "Action to perform" ;
-    rdfs:domain	 :ManifestEntry ;
-    # rdfs:range   ?? ;
-    .	
-
-:result rdf:type rdf:Property ;
-    rdfs:comment "The expected outcome" ;
-    rdfs:domain	 :ManifestEntry ;
-    # rdfs:range   ?? ;
-    .	
-
-:result rdf:type rdf:Property ;
-    rdfs:comment "The test status" ;
-    rdfs:domain	 :ManifestEntry ;
-    rdfs:range   :TestStatus ;
-    .
-
-:requires rdf:type rdf:Property ;
-    rdfs:comment "Required functionality for execution of this test" ;
-    rdfs:domain :ManifestEntry ;
-    rdfs:range	:Requirement .
-
-:notable rdf:type rdf:Property ;
-    rdfs:comment "Notable feature of this test (advisory)" ;
-    rdfs:domain :ManifestEntry .
-
-## ---- Test Case Type ---
-
-:PositiveSyntaxTest rdf:type rdfs:Class ;
-      rdfs:label "Positive Syntax Test" ;
-      rdfs:comment """A type of test specifically for syntax testing. Syntax
-      tests are not required to have an associated result, only an
-      action.""" .
-
-:NegativeSyntaxTest rdf:type rdfs:Class ;
-      rdfs:label "Negative Syntax Test" ;
-      rdfs:comment """A type of test specifically for syntax testing. Syntax
-      tests are not required to have an associated result, only an
-      action. Negative syntax tests are tests of which the result should
-      be a parser error.""" .
-
-:QueryEvaluationTest rdf:type rdfs:Class ;
-      rdfs:label "Query Evaluation Test" ;
-      rdfs:comment """A type of test specifically for query evaluation
-      testing. Query evaluation tests are required to have an associated
-      input dataset, a query, and an expected output dataset.""" .
-
-:ReducedCardinalityTest  rdf:type rdfs:Class ;
-      rdfs:label "Query Evaluation Test (REDUCDED)" ;
-      rdfs:comment
-"""The given mf:result for a mf:ReducedCardinalityTest is the results as 
-if the REDUCED keyword were omitted. To pass a 
-mf:ReducedCardinalityTest, an implementation must produce a result set 
-with each solution in the expected results appearing at least once and 
-no more than the number of times it appears in the expected results. Of 
-course, there must also be no results produced that are not in the 
-expected results.""" .
-
-## ---- Test Statuses ----
-
-:TestStatus rdf:type rdfs:Class ;
-    rdfs:comment "Statuses a test can have" ;
-    .
-
-:proposed rdf:type :TestStatus ;
-    rdfs:label "proposed" ;
-    .
-
-:accepted rdf:type :TestStatus ;
-    rdfs:label "accepted" ;
-    .
-
-:rejected rdf:type :TestStatus ;
-    rdfs:label "rejected" ;
-    .
-
-## ---- Required functions ----
-
-:Requirement rdf:type rdfs:Class ;
-     rdfs:comment "Requirements for a  particular test" .
-
-:Notable rdf:type rdfs:Class ;
-     rdfs:comment "Requirements for a  particular test" .
-
-
-:XsdDateOperations	rdf:type :Requirement ;
-    rdfs:comment "Tests that require xsd:date operations" .
-	
-:StringSimpleLiteralCmp	rdf:type :Requirement ;
-    rdfs:comment "Tests that require simple literal is the same value as an xsd:string of the same lexicial form" .
-    
-:KnownTypesDefault2Neq	rdf:type :Requirement ;
-    rdfs:comment "Values in disjoint value spaces are not equal" .
-    
-:LangTagAwareness	rdf:type :Requirement ;
-    rdfs:comment "Tests that require language tag handling in FILTERs" .
-
-## ---- Notable features ----
-
-:IllFormedLiterals	rdf:type :Notable ;
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+
+## A Manifest is typically a list (RDF Collection) of manifest entries.
+## The :entries property has an object of the list.
+## There may be more than one list per file.
+
+:   rdfs:comment     "Manifest vocabulary for test cases" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "W3C RDF Data Access Working Group" ;
+    dc:publisher     "W3C SPARQL Working Group" ;
+    dc:title         "Test case manifest vocabulary" ;
+    dc:description   "Test case manifest vocabulary" ;
+    dc:date          "2004-07" ;
+    dc:date          "2010-08" ;
+    dc:format        "RDF" ;
+    dc:identifier    : ;
+    .
+
+## ---- Class declarations ----
+
+:Manifest rdf:type rdfs:Class ;
+    rdfs:comment "The class of manifests" .
+
+:ManifestEntry rdf:type rdfs:Class ;
+    rdfs:comment "One entry in rdf:type list of entries" .
+
+## ---- Property declarations for the manifest ----
+
+:include rdf:type rdf:Property ;
+    rdfs:comment "Connects the manifest resource to rdf:type list of manifests" ;
+    rdfs:domain	 :Manifest ;
+    rdfs:range   rdf:List ;
+    .
+
+:entries rdf:type rdf:Property ;
+    rdfs:comment "Connects the manifest resource to rdf:type list of entries" ;
+    rdfs:domain	 :Manifest ;
+    rdfs:range   rdf:List ;
+    .
+	
+## ---- Property declarations for each test ----
+
+:name rdf:type rdf:Property ;
+    rdfs:comment "Optional name of this entry" ;
+    rdfs:domain	 :ManifestEntry ;
+    rdfs:range   rdfs:Literal ;
+    .	
+    
+:action rdf:type rdf:Property ;
+    rdfs:comment "Action to perform" ;
+    rdfs:domain	 :ManifestEntry ;
+    # rdfs:range   ?? ;
+    .	
+
+:result rdf:type rdf:Property ;
+    rdfs:comment "The expected outcome" ;
+    rdfs:domain	 :ManifestEntry ;
+    # rdfs:range   ?? ;
+    .	
+
+:result rdf:type rdf:Property ;
+    rdfs:comment "The test status" ;
+    rdfs:domain	 :ManifestEntry ;
+    rdfs:range   :TestStatus ;
+    .
+
+:requires rdf:type rdf:Property ;
+    rdfs:comment "Required functionality for execution of this test" ;
+    rdfs:domain :ManifestEntry ;
+    rdfs:range	:Requirement .
+
+:notable rdf:type rdf:Property ;
+    rdfs:comment "Notable feature of this test (advisory)" ;
+    rdfs:domain :ManifestEntry .
+
+## ---- Test Case Type ---
+
+:PositiveSyntaxTest rdf:type rdfs:Class ;
+      rdfs:label "Positive Syntax Test" ;
+      rdfs:comment """A type of test specifically for syntax testing. Syntax
+      tests are not required to have an associated result, only an
+      action.""" .
+
+:NegativeSyntaxTest rdf:type rdfs:Class ;
+      rdfs:label "Negative Syntax Test" ;
+      rdfs:comment """A type of test specifically for syntax testing. Syntax
+      tests are not required to have an associated result, only an
+      action. Negative syntax tests are tests of which the result should
+      be a parser error.""" .
+
+:QueryEvaluationTest rdf:type rdfs:Class ;
+      rdfs:label "Query Evaluation Test" ;
+      rdfs:comment """A type of test specifically for query evaluation
+      testing. Query evaluation tests are required to have an associated
+      input dataset, a query, and an expected output dataset.""" .
+
+:ReducedCardinalityTest  rdf:type rdfs:Class ;
+      rdfs:label "Query Evaluation Test (REDUCDED)" ;
+      rdfs:comment
+"""The given mf:result for a mf:ReducedCardinalityTest is the results as 
+if the REDUCED keyword were omitted. To pass a 
+mf:ReducedCardinalityTest, an implementation must produce a result set 
+with each solution in the expected results appearing at least once and 
+no more than the number of times it appears in the expected results. Of 
+course, there must also be no results produced that are not in the 
+expected results.""" .
+
+## ---- Test Statuses ----
+
+:TestStatus rdf:type rdfs:Class ;
+    rdfs:comment "Statuses a test can have" ;
+    .
+
+:proposed rdf:type :TestStatus ;
+    rdfs:label "proposed" ;
+    .
+
+:accepted rdf:type :TestStatus ;
+    rdfs:label "accepted" ;
+    .
+
+:rejected rdf:type :TestStatus ;
+    rdfs:label "rejected" ;
+    .
+
+## ---- Required functions ----
+
+:Requirement rdf:type rdfs:Class ;
+     rdfs:comment "Requirements for a  particular test" .
+
+:Notable rdf:type rdfs:Class ;
+     rdfs:comment "Requirements for a  particular test" .
+
+
+:XsdDateOperations	rdf:type :Requirement ;
+    rdfs:comment "Tests that require xsd:date operations" .
+	
+:StringSimpleLiteralCmp	rdf:type :Requirement ;
+    rdfs:comment "Tests that require simple literal is the same value as an xsd:string of the same lexicial form" .
+    
+:KnownTypesDefault2Neq	rdf:type :Requirement ;
+    rdfs:comment "Values in disjoint value spaces are not equal" .
+    
+:LangTagAwareness	rdf:type :Requirement ;
+    rdfs:comment "Tests that require language tag handling in FILTERs" .
+
+## ---- Notable features ----
+
+:IllFormedLiterals	rdf:type :Notable ;
     rdfs:comment "Tests that involve lexical forms which are illegal for the datatype" .
\ No newline at end of file


[16/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileNodeTupleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileNodeTupleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileNodeTupleReader.java
index dd738d6..b0327f6 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileNodeTupleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileNodeTupleReader.java
@@ -1,328 +1,328 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.hadoop.io.compress.CompressionCodecFactory;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.lib.input.FileSplit;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.ReaderRIOT;
-import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.riot.lang.PipedRDFStream;
-import org.apache.jena.riot.system.ParserProfile;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * An abstract implementation for a record reader that reads records from whole
- * files i.e. the whole file must be kept together to allow tuples to be
- * successfully read. This only supports reading from file splits currently.
- * <p>
- * The keys produced are the approximate position in the file at which a tuple
- * was found and the values will be node tuples. Positions are approximate
- * because they are recorded after the point at which the most recent tuple was
- * parsed from the input thus they reflect the approximate position in the
- * stream immediately after which the triple was found.
- * </p>
- * <p>
- * You should also be aware that with whole file formats syntax compressions in
- * the format may mean that there are multiple triples produced with the same
- * position and thus key.
- * </p>
- * 
- * 
- * 
- * @param <TValue>
- *            Value type
- * @param <T>
- *            Tuple type
- */
-public abstract class AbstractWholeFileNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractLineBasedNodeTupleReader.class);
-    private CompressionCodec compressionCodecs;
-    private TrackedInputStream input;
-    private LongWritable key;
-    private long length;
-    private T tuple;
-    private TrackedPipedRDFStream<TValue> stream;
-    private PipedRDFIterator<TValue> iter;
-    private Thread parserThread;
-    private boolean finished = false;
-    private boolean ignoreBadTuples = true;
-    private boolean parserFinished = false;
-    private Throwable parserError = null;
-
-    @Override
-    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
-        LOG.debug("initialize({}, {})", genericSplit, context);
-
-        // Assuming file split
-        if (!(genericSplit instanceof FileSplit))
-            throw new IOException("This record reader only supports FileSplit inputs");
-        FileSplit split = (FileSplit) genericSplit;
-
-        // Configuration
-        Configuration config = context.getConfiguration();
-        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
-        if (this.ignoreBadTuples)
-            LOG.warn(
-                    "Configured to ignore bad tuples, parsing errors will be logged and further parsing aborted but no user visible errors will be thrown.  Consider setting {} to false to disable this behaviour",
-                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
-
-        // Figure out what portion of the file to read
-        if (split.getStart() > 0)
-            throw new IOException("This record reader requires a file split which covers the entire file");
-        final Path file = split.getPath();
-        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
-        CompressionCodecFactory factory = new CompressionCodecFactory(config);
-        this.compressionCodecs = factory.getCodec(file);
-
-        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { split.getStart(), split.getLength(),
-                totalLength }));
-
-        if (totalLength > split.getLength())
-            throw new IOException("This record reader requires a file split which covers the entire file");
-
-        // Open the file and prepare the input stream
-        FileSystem fs = file.getFileSystem(config);
-        FSDataInputStream fileIn = fs.open(file);
-        this.length = split.getLength();
-        if (this.compressionCodecs != null) {
-            // Compressed input
-            input = new TrackedInputStream(this.compressionCodecs.createInputStream(fileIn));
-        } else {
-            // Uncompressed input
-            input = new TrackedInputStream(fileIn);
-        }
-
-        // Set up background thread for parser
-        iter = this.getPipedIterator();
-        this.stream = this.getPipedStream(iter, this.input);
-        ParserProfile profile = RdfIOUtils.createParserProfile(context, file);
-        Runnable parserRunnable = this.createRunnable(this, this.input, stream, this.getRdfLanguage(), profile);
-        this.parserThread = new Thread(parserRunnable);
-        this.parserThread.setDaemon(true);
-        this.parserThread.start();
-    }
-
-    /**
-     * Gets the RDF iterator to use
-     * 
-     * @return Iterator
-     */
-    protected abstract PipedRDFIterator<TValue> getPipedIterator();
-
-    /**
-     * Gets the RDF stream to parse to
-     * 
-     * @param iterator
-     *            Iterator
-     * @return RDF stream
-     */
-    protected abstract TrackedPipedRDFStream<TValue> getPipedStream(PipedRDFIterator<TValue> iterator, TrackableInputStream input);
-
-    /**
-     * Gets the RDF language to use for parsing
-     * 
-     * @return
-     */
-    protected abstract Lang getRdfLanguage();
-
-    /**
-     * Creates the runnable upon which the parsing will run
-     * 
-     * @param input
-     *            Input
-     * @param stream
-     *            Stream
-     * @param lang
-     *            Language to use for parsing
-     * @return Parser runnable
-     */
-    private Runnable createRunnable(@SuppressWarnings("rawtypes") final AbstractWholeFileNodeTupleReader reader, final InputStream input,
-            final PipedRDFStream<TValue> stream, final Lang lang, final ParserProfile profile) {
-        return new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    ReaderRIOT riotReader = RDFDataMgr.createReader(lang);
-                    riotReader.setParserProfile(profile);
-                    riotReader.read(input, null, lang.getContentType(), stream, null);
-                    reader.setParserFinished(null);
-                } catch (Throwable e) {
-                    reader.setParserFinished(e);
-                }
-            }
-        };
-    }
-
-    /**
-     * Sets the parser thread finished state
-     * 
-     * @param e
-     *            Error (if any)
-     */
-    private void setParserFinished(Throwable e) {
-        synchronized (this.parserThread) {
-            this.parserError = e;
-            this.parserFinished = true;
-        }
-    }
-
-    /**
-     * Waits for the parser thread to have reported as finished
-     * 
-     * @throws InterruptedException
-     */
-    private void waitForParserFinished() throws InterruptedException {
-        do {
-            synchronized (this.parserThread) {
-                if (this.parserFinished)
-                    return;
-            }
-            Thread.sleep(50);
-        } while (true);
-    }
-
-    /**
-     * Creates an instance of a writable tuple from the given tuple value
-     * 
-     * @param tuple
-     *            Tuple value
-     * @return Writable tuple
-     */
-    protected abstract T createInstance(TValue tuple);
-
-    @Override
-    public boolean nextKeyValue() throws IOException {
-        // Reuse key for efficiency
-        if (key == null) {
-            key = new LongWritable();
-        }
-
-        if (this.finished)
-            return false;
-
-        try {
-            if (this.iter.hasNext()) {
-                Long l = this.stream.getPosition();
-                if (l != null) {
-                    this.key.set(l);
-                    // For compressed input the actual length from which we
-                    // calculate progress is likely less than the actual
-                    // uncompressed length so we may need to increment the
-                    // length as we go along
-                    // We always add 1 more than the current length because we
-                    // don't want to report 100% progress until we really have
-                    // finished
-                    if (this.compressionCodecs != null && l > this.length)
-                        this.length = l + 1;
-                }
-                this.tuple = this.createInstance(this.iter.next());
-                return true;
-            } else {
-                // Need to ensure that the parser thread has finished in order
-                // to determine whether we finished without error
-                this.waitForParserFinished();
-                if (this.parserError != null) {
-                    LOG.error("Error parsing whole file, aborting further parsing", this.parserError);
-                    if (!this.ignoreBadTuples)
-                        throw new IOException("Error parsing whole file at position " + this.input.getBytesRead() + ", aborting further parsing",
-                                this.parserError);
-
-                }
-
-                this.key = null;
-                this.tuple = null;
-                this.finished = true;
-                // This is necessary so that when compressed input is used we
-                // report 100% progress once we've reached the genuine end of
-                // the stream
-                if (this.compressionCodecs != null)
-                    this.length--;
-                return false;
-            }
-        } catch (Throwable e) {
-            // Failed to read the tuple on this line
-            LOG.error("Error parsing whole file, aborting further parsing", e);
-            if (!this.ignoreBadTuples) {
-                this.iter.close();
-                throw new IOException("Error parsing whole file at position " + this.input.getBytesRead() + ", aborting further parsing", e);
-            }
-            this.key = null;
-            this.tuple = null;
-            this.finished = true;
-            return false;
-        }
-    }
-
-    @Override
-    public LongWritable getCurrentKey() {
-        return this.key;
-    }
-
-    @Override
-    public T getCurrentValue() {
-        return this.tuple;
-    }
-
-    @Override
-    public float getProgress() {
-        float progress = 0.0f;
-        if (this.key == null) {
-            // We've either not started or we've finished
-            progress = (this.finished ? 1.0f : 0.0f);
-        } else if (this.key.get() == Long.MIN_VALUE) {
-            // We don't have a position so we've either in-progress or finished
-            progress = (this.finished ? 1.0f : 0.5f);
-        } else {
-            // We're some way through the file
-            progress = this.key.get() / (float) this.length;
-        }
-        LOG.debug("getProgress() --> {}", progress);
-        return progress;
-    }
-
-    @Override
-    public void close() throws IOException {
-        this.iter.close();
-        this.input.close();
-        this.finished = true;
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.io.compress.CompressionCodecFactory;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.util.RdfIOUtils;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.ReaderRIOT;
+import org.apache.jena.riot.lang.PipedRDFIterator;
+import org.apache.jena.riot.lang.PipedRDFStream;
+import org.apache.jena.riot.system.ParserProfile;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract implementation for a record reader that reads records from whole
+ * files i.e. the whole file must be kept together to allow tuples to be
+ * successfully read. This only supports reading from file splits currently.
+ * <p>
+ * The keys produced are the approximate position in the file at which a tuple
+ * was found and the values will be node tuples. Positions are approximate
+ * because they are recorded after the point at which the most recent tuple was
+ * parsed from the input thus they reflect the approximate position in the
+ * stream immediately after which the triple was found.
+ * </p>
+ * <p>
+ * You should also be aware that with whole file formats syntax compressions in
+ * the format may mean that there are multiple triples produced with the same
+ * position and thus key.
+ * </p>
+ * 
+ * 
+ * 
+ * @param <TValue>
+ *            Value type
+ * @param <T>
+ *            Tuple type
+ */
+public abstract class AbstractWholeFileNodeTupleReader<TValue, T extends AbstractNodeTupleWritable<TValue>> extends RecordReader<LongWritable, T> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractLineBasedNodeTupleReader.class);
+    private CompressionCodec compressionCodecs;
+    private TrackedInputStream input;
+    private LongWritable key;
+    private long length;
+    private T tuple;
+    private TrackedPipedRDFStream<TValue> stream;
+    private PipedRDFIterator<TValue> iter;
+    private Thread parserThread;
+    private boolean finished = false;
+    private boolean ignoreBadTuples = true;
+    private boolean parserFinished = false;
+    private Throwable parserError = null;
+
+    @Override
+    public void initialize(InputSplit genericSplit, TaskAttemptContext context) throws IOException {
+        LOG.debug("initialize({}, {})", genericSplit, context);
+
+        // Assuming file split
+        if (!(genericSplit instanceof FileSplit))
+            throw new IOException("This record reader only supports FileSplit inputs");
+        FileSplit split = (FileSplit) genericSplit;
+
+        // Configuration
+        Configuration config = context.getConfiguration();
+        this.ignoreBadTuples = config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true);
+        if (this.ignoreBadTuples)
+            LOG.warn(
+                    "Configured to ignore bad tuples, parsing errors will be logged and further parsing aborted but no user visible errors will be thrown.  Consider setting {} to false to disable this behaviour",
+                    RdfIOConstants.INPUT_IGNORE_BAD_TUPLES);
+
+        // Figure out what portion of the file to read
+        if (split.getStart() > 0)
+            throw new IOException("This record reader requires a file split which covers the entire file");
+        final Path file = split.getPath();
+        long totalLength = file.getFileSystem(context.getConfiguration()).getFileStatus(file).getLen();
+        CompressionCodecFactory factory = new CompressionCodecFactory(config);
+        this.compressionCodecs = factory.getCodec(file);
+
+        LOG.info(String.format("Got split with start %d and length %d for file with total length of %d", new Object[] { split.getStart(), split.getLength(),
+                totalLength }));
+
+        if (totalLength > split.getLength())
+            throw new IOException("This record reader requires a file split which covers the entire file");
+
+        // Open the file and prepare the input stream
+        FileSystem fs = file.getFileSystem(config);
+        FSDataInputStream fileIn = fs.open(file);
+        this.length = split.getLength();
+        if (this.compressionCodecs != null) {
+            // Compressed input
+            input = new TrackedInputStream(this.compressionCodecs.createInputStream(fileIn));
+        } else {
+            // Uncompressed input
+            input = new TrackedInputStream(fileIn);
+        }
+
+        // Set up background thread for parser
+        iter = this.getPipedIterator();
+        this.stream = this.getPipedStream(iter, this.input);
+        ParserProfile profile = RdfIOUtils.createParserProfile(context, file);
+        Runnable parserRunnable = this.createRunnable(this, this.input, stream, this.getRdfLanguage(), profile);
+        this.parserThread = new Thread(parserRunnable);
+        this.parserThread.setDaemon(true);
+        this.parserThread.start();
+    }
+
+    /**
+     * Gets the RDF iterator to use
+     * 
+     * @return Iterator
+     */
+    protected abstract PipedRDFIterator<TValue> getPipedIterator();
+
+    /**
+     * Gets the RDF stream to parse to
+     * 
+     * @param iterator
+     *            Iterator
+     * @return RDF stream
+     */
+    protected abstract TrackedPipedRDFStream<TValue> getPipedStream(PipedRDFIterator<TValue> iterator, TrackableInputStream input);
+
+    /**
+     * Gets the RDF language to use for parsing
+     * 
+     * @return
+     */
+    protected abstract Lang getRdfLanguage();
+
+    /**
+     * Creates the runnable upon which the parsing will run
+     * 
+     * @param input
+     *            Input
+     * @param stream
+     *            Stream
+     * @param lang
+     *            Language to use for parsing
+     * @return Parser runnable
+     */
+    private Runnable createRunnable(@SuppressWarnings("rawtypes") final AbstractWholeFileNodeTupleReader reader, final InputStream input,
+            final PipedRDFStream<TValue> stream, final Lang lang, final ParserProfile profile) {
+        return new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    ReaderRIOT riotReader = RDFDataMgr.createReader(lang);
+                    riotReader.setParserProfile(profile);
+                    riotReader.read(input, null, lang.getContentType(), stream, null);
+                    reader.setParserFinished(null);
+                } catch (Throwable e) {
+                    reader.setParserFinished(e);
+                }
+            }
+        };
+    }
+
+    /**
+     * Sets the parser thread finished state
+     * 
+     * @param e
+     *            Error (if any)
+     */
+    private void setParserFinished(Throwable e) {
+        synchronized (this.parserThread) {
+            this.parserError = e;
+            this.parserFinished = true;
+        }
+    }
+
+    /**
+     * Waits for the parser thread to have reported as finished
+     * 
+     * @throws InterruptedException
+     */
+    private void waitForParserFinished() throws InterruptedException {
+        do {
+            synchronized (this.parserThread) {
+                if (this.parserFinished)
+                    return;
+            }
+            Thread.sleep(50);
+        } while (true);
+    }
+
+    /**
+     * Creates an instance of a writable tuple from the given tuple value
+     * 
+     * @param tuple
+     *            Tuple value
+     * @return Writable tuple
+     */
+    protected abstract T createInstance(TValue tuple);
+
+    @Override
+    public boolean nextKeyValue() throws IOException {
+        // Reuse key for efficiency
+        if (key == null) {
+            key = new LongWritable();
+        }
+
+        if (this.finished)
+            return false;
+
+        try {
+            if (this.iter.hasNext()) {
+                Long l = this.stream.getPosition();
+                if (l != null) {
+                    this.key.set(l);
+                    // For compressed input the actual length from which we
+                    // calculate progress is likely less than the actual
+                    // uncompressed length so we may need to increment the
+                    // length as we go along
+                    // We always add 1 more than the current length because we
+                    // don't want to report 100% progress until we really have
+                    // finished
+                    if (this.compressionCodecs != null && l > this.length)
+                        this.length = l + 1;
+                }
+                this.tuple = this.createInstance(this.iter.next());
+                return true;
+            } else {
+                // Need to ensure that the parser thread has finished in order
+                // to determine whether we finished without error
+                this.waitForParserFinished();
+                if (this.parserError != null) {
+                    LOG.error("Error parsing whole file, aborting further parsing", this.parserError);
+                    if (!this.ignoreBadTuples)
+                        throw new IOException("Error parsing whole file at position " + this.input.getBytesRead() + ", aborting further parsing",
+                                this.parserError);
+
+                }
+
+                this.key = null;
+                this.tuple = null;
+                this.finished = true;
+                // This is necessary so that when compressed input is used we
+                // report 100% progress once we've reached the genuine end of
+                // the stream
+                if (this.compressionCodecs != null)
+                    this.length--;
+                return false;
+            }
+        } catch (Throwable e) {
+            // Failed to read the tuple on this line
+            LOG.error("Error parsing whole file, aborting further parsing", e);
+            if (!this.ignoreBadTuples) {
+                this.iter.close();
+                throw new IOException("Error parsing whole file at position " + this.input.getBytesRead() + ", aborting further parsing", e);
+            }
+            this.key = null;
+            this.tuple = null;
+            this.finished = true;
+            return false;
+        }
+    }
+
+    @Override
+    public LongWritable getCurrentKey() {
+        return this.key;
+    }
+
+    @Override
+    public T getCurrentValue() {
+        return this.tuple;
+    }
+
+    @Override
+    public float getProgress() {
+        float progress = 0.0f;
+        if (this.key == null) {
+            // We've either not started or we've finished
+            progress = (this.finished ? 1.0f : 0.0f);
+        } else if (this.key.get() == Long.MIN_VALUE) {
+            // We don't have a position so we've either in-progress or finished
+            progress = (this.finished ? 1.0f : 0.5f);
+        } else {
+            // We're some way through the file
+            progress = this.key.get() / (float) this.length;
+        }
+        LOG.debug("getProgress() --> {}", progress);
+        return progress;
+    }
+
+    @Override
+    public void close() throws IOException {
+        this.iter.close();
+        this.input.close();
+        this.finished = true;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileQuadReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileQuadReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileQuadReader.java
index 9e62c1e..8097d52 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileQuadReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileQuadReader.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedQuadsStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedQuadsStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.lang.PipedRDFIterator;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract record reader for whole file triple formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileTripleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileTripleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileTripleReader.java
index 384f456..1f56b07 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileTripleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/AbstractWholeFileTripleReader.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedTriplesStream;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedRDFStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedPipedTriplesStream;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.lang.PipedRDFIterator;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/QuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/QuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/QuadsReader.java
index 61f2236..ecd930a 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/QuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/QuadsReader.java
@@ -1,48 +1,48 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * A record reader that reads triples from any RDF quads format
- */
-public class QuadsReader extends AbstractRdfReader<Quad, QuadWritable> {
-
-    @Override
-    protected RecordReader<LongWritable, QuadWritable> selectRecordReader(Lang lang) throws IOException {
-        if (!RDFLanguages.isQuads(lang))
-            throw new IOException(
-                    lang.getLabel()
-                            + " is not a RDF quads format, perhaps you wanted TriplesInputFormat or TriplesOrQuadsInputFormat instead?");
-
-        // This will throw an appropriate error if the language does not support
-        // triples
-        return HadoopRdfIORegistry.createQuadReader(lang);
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * A record reader that reads triples from any RDF quads format
+ */
+public class QuadsReader extends AbstractRdfReader<Quad, QuadWritable> {
+
+    @Override
+    protected RecordReader<LongWritable, QuadWritable> selectRecordReader(Lang lang) throws IOException {
+        if (!RDFLanguages.isQuads(lang))
+            throw new IOException(
+                    lang.getLabel()
+                            + " is not a RDF quads format, perhaps you wanted TriplesInputFormat or TriplesOrQuadsInputFormat instead?");
+
+        // This will throw an appropriate error if the language does not support
+        // triples
+        return HadoopRdfIORegistry.createQuadReader(lang);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesOrQuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesOrQuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesOrQuadsReader.java
index 308d915..9d78266 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesOrQuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesOrQuadsReader.java
@@ -1,71 +1,71 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * A record reader that reads RDF from any triples/quads format. Triples are
- * converted into quads in the default graph. This behaviour can be changed by
- * deriving from this class and overriding the {@link #getGraphNode()} method
- * 
- * 
- * 
- */
-@SuppressWarnings("javadoc")
-public class TriplesOrQuadsReader extends AbstractRdfReader<Quad, QuadWritable> {
-
-    @Override
-    protected RecordReader<LongWritable, QuadWritable> selectRecordReader(Lang lang) throws IOException {
-        if (!RDFLanguages.isQuads(lang) && !RDFLanguages.isTriples(lang))
-            throw new IOException(lang.getLabel() + " is not a RDF triples/quads format");
-
-        if (HadoopRdfIORegistry.hasQuadReader(lang)) {
-            // Supports quads directly
-            return HadoopRdfIORegistry.createQuadReader(lang);
-        } else {
-            // Try to create a triples reader and wrap upwards into quads
-            // This will throw an error if a triple reader is not available
-            return new TriplesToQuadsReader(HadoopRdfIORegistry.createTripleReader(lang));
-        }
-    }
-
-    /**
-     * Gets the graph node which represents the graph into which triples will be
-     * indicated to belong to when they are converting into quads.
-     * <p>
-     * Defaults to {@link Quad#defaultGraphNodeGenerated} which represents the
-     * default graph
-     * </p>
-     * 
-     * @return Graph node
-     */
-    protected Node getGraphNode() {
-        return Quad.defaultGraphNodeGenerated;
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * A record reader that reads RDF from any triples/quads format. Triples are
+ * converted into quads in the default graph. This behaviour can be changed by
+ * deriving from this class and overriding the {@link #getGraphNode()} method
+ * 
+ * 
+ * 
+ */
+@SuppressWarnings("javadoc")
+public class TriplesOrQuadsReader extends AbstractRdfReader<Quad, QuadWritable> {
+
+    @Override
+    protected RecordReader<LongWritable, QuadWritable> selectRecordReader(Lang lang) throws IOException {
+        if (!RDFLanguages.isQuads(lang) && !RDFLanguages.isTriples(lang))
+            throw new IOException(lang.getLabel() + " is not a RDF triples/quads format");
+
+        if (HadoopRdfIORegistry.hasQuadReader(lang)) {
+            // Supports quads directly
+            return HadoopRdfIORegistry.createQuadReader(lang);
+        } else {
+            // Try to create a triples reader and wrap upwards into quads
+            // This will throw an error if a triple reader is not available
+            return new TriplesToQuadsReader(HadoopRdfIORegistry.createTripleReader(lang));
+        }
+    }
+
+    /**
+     * Gets the graph node which represents the graph into which triples will be
+     * indicated to belong to when they are converting into quads.
+     * <p>
+     * Defaults to {@link Quad#defaultGraphNodeGenerated} which represents the
+     * default graph
+     * </p>
+     * 
+     * @return Graph node
+     */
+    protected Node getGraphNode() {
+        return Quad.defaultGraphNodeGenerated;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesReader.java
index 9fe930c..0467b5c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesReader.java
@@ -1,48 +1,48 @@
-/*
- * 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.hadoop.rdf.io.input.readers;
-
-import java.io.IOException;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-
-/**
- * A record reader that reads triples from any RDF triples format
- */
-public class TriplesReader extends AbstractRdfReader<Triple, TripleWritable> {
-
-    @Override
-    protected RecordReader<LongWritable, TripleWritable> selectRecordReader(Lang lang) throws IOException {
-        if (!RDFLanguages.isTriples(lang))
-            throw new IOException(
-                    lang.getLabel()
-                            + " is not a RDF triples format, perhaps you wanted QuadsInputFormat or TriplesOrQuadsInputFormat instead?");
-
-        // This will throw an appropriate error if the language does not support
-        // triples
-        return HadoopRdfIORegistry.createTripleReader(lang);
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input.readers;
+
+import java.io.IOException;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.registry.HadoopRdfIORegistry;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+/**
+ * A record reader that reads triples from any RDF triples format
+ */
+public class TriplesReader extends AbstractRdfReader<Triple, TripleWritable> {
+
+    @Override
+    protected RecordReader<LongWritable, TripleWritable> selectRecordReader(Lang lang) throws IOException {
+        if (!RDFLanguages.isTriples(lang))
+            throw new IOException(
+                    lang.getLabel()
+                            + " is not a RDF triples format, perhaps you wanted QuadsInputFormat or TriplesOrQuadsInputFormat instead?");
+
+        // This will throw an appropriate error if the language does not support
+        // triples
+        return HadoopRdfIORegistry.createTripleReader(lang);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesToQuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesToQuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesToQuadsReader.java
index 14d6c6e..e4de126 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesToQuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/TriplesToQuadsReader.java
@@ -1,33 +1,33 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A record reader that converts triples into quads by wrapping a

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/BlockedNQuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/BlockedNQuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/BlockedNQuadsReader.java
index cef8ef1..ad46cde 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/BlockedNQuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/BlockedNQuadsReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.nquads;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractBlockBasedQuadReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractBlockBasedQuadReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/NQuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/NQuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/NQuadsReader.java
index 437b43f..356cd94 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/NQuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/NQuadsReader.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.nquads;
 
 import java.util.Iterator;
-
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractLineBasedQuadReader;
+
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractLineBasedQuadReader;
 import org.apache.jena.riot.lang.LangNQuads;
 import org.apache.jena.riot.system.ParserProfile;
 import org.apache.jena.riot.tokens.Tokenizer;
 import org.apache.jena.riot.tokens.TokenizerFactory;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A record reader for NQuads

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/WholeFileNQuadsReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/WholeFileNQuadsReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/WholeFileNQuadsReader.java
index 96e6f80..b96d458 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/WholeFileNQuadsReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/nquads/WholeFileNQuadsReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.nquads;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/BlockedNTriplesReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/BlockedNTriplesReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/BlockedNTriplesReader.java
index 7268d5a..ee6ee22 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/BlockedNTriplesReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/BlockedNTriplesReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.ntriples;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractBlockBasedTripleReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractBlockBasedTripleReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/NTriplesReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/NTriplesReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/NTriplesReader.java
index 97a9bf4..e38166f 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/NTriplesReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/NTriplesReader.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.ntriples;
 
 import java.util.Iterator;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractLineBasedTripleReader;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractLineBasedTripleReader;
 import org.apache.jena.riot.lang.LangNTriples;
 import org.apache.jena.riot.system.ParserProfile;
 import org.apache.jena.riot.tokens.Tokenizer;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/WholeFileNTriplesReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/WholeFileNTriplesReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/WholeFileNTriplesReader.java
index c200d93..b01c3df 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/WholeFileNTriplesReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/ntriples/WholeFileNTriplesReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.ntriples;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfjson/RdfJsonReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfjson/RdfJsonReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfjson/RdfJsonReader.java
index 009024b..6cab094 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfjson/RdfJsonReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfjson/RdfJsonReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.rdfjson;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfxml/RdfXmlReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfxml/RdfXmlReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfxml/RdfXmlReader.java
index 9c374c6..b5e943f 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfxml/RdfXmlReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/rdfxml/RdfXmlReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.rdfxml;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trig/TriGReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trig/TriGReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trig/TriGReader.java
index b1b0c3c..237c9c1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trig/TriGReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trig/TriGReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.trig;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trix/TriXReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trix/TriXReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trix/TriXReader.java
index 6873c64..5087370 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trix/TriXReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/trix/TriXReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.trix;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileQuadReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/turtle/TurtleReader.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/turtle/TurtleReader.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/turtle/TurtleReader.java
index b3fb377..b0417f6 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/turtle/TurtleReader.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/readers/turtle/TurtleReader.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.readers.turtle;
 
-import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
+import org.apache.jena.hadoop.rdf.io.input.readers.AbstractWholeFileTripleReader;
 import org.apache.jena.riot.Lang;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputFormat.java
index e9785ea..e4b4c40 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.trig;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.trig.TriGReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.trig.TriGReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**


[21/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
index 7e5e5b5..b538173 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
@@ -1,200 +1,200 @@
-/*
- * 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.propertytable.graph;
-
-import java.util.ArrayList ;
-import java.util.Locale ;
-import java.util.function.Predicate;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.graph.impl.GraphBase ;
-import org.apache.jena.propertytable.Column ;
-import org.apache.jena.propertytable.PropertyTable ;
-import org.apache.jena.propertytable.Row ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.NullIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
-
-/**
- * GraphPropertyTable implements the Graph interface (read-only) over a PropertyTable.
- * This is subclass from GraphBase and implements find().
- * The graphBaseFind()(for matching a Triple) and propertyTableBaseFind()(for matching a whole Row) methods can choose the access route based on the find arguments.
- * GraphPropertyTable holds/wraps an reference of the PropertyTable instance, so that such a Graph can be treated in a more table-like fashion.
- *
- */
-public class GraphPropertyTable extends GraphBase {
-
-	private PropertyTable pt;
-
-	public GraphPropertyTable(PropertyTable pt) {
-		this.pt = pt;
-	}
-
-	public PropertyTable getPropertyTable() {
-		return pt;
-	}
-
-	@Override
-	protected ExtendedIterator<Triple> graphBaseFind(Triple triple) {
-		//System.out.println(m);
-
-		if (this.pt == null) {
-			return NullIterator.instance();
-		}
-
-		ExtendedIterator<Triple> iter = null;
-
-		Node s = triple.getMatchSubject();
-		Node p = triple.getMatchPredicate();
-		Node o = triple.getMatchObject();
-
-		if (isConcrete(p) && isConcrete(o)) {
-			//System.out.println("1");
-			iter = pt.getTripleIterator(pt.getColumn(p), o);
-		} else if (isConcrete(p)) {
-			//System.out.println("2");
-			Column column = this.pt.getColumn(p);
-			if (column != null) {
-				iter = pt.getTripleIterator(column);
-			} else {
-				return NullIterator.instance();
-			}
-		} else if (isConcrete(o)) {
-			//System.out.println("3");
-			iter = pt.getTripleIterator(o);
-		} else{
-			//System.out.println("4");
-			iter = pt.getTripleIterator();
-		}
-
-		return iter.filterKeep(new TripleMatchFilterEquality(triple));
-
-	}
-	
-	protected ExtendedIterator<Row> propertyTableBaseFind(RowMatch m) {
-		
-		if (this.pt == null) {
-			return NullIterator.instance();
-		}
-		
-		ExtendedIterator<Row> iter = null;
-
-		Node s = m.getMatchSubject();
-
-		if ( isConcrete(s) ){
-			Row row= pt.getRow(s);
-			if (row == null){
-				return NullIterator.instance();
-			} else {
-				ArrayList<Row> rows = new ArrayList<Row>();
-				rows.add(row);
-				return WrappedIterator.create(rows.iterator());
-			}
-		} else {
-			iter = WrappedIterator.create(pt.getAllRows().iterator());
-		}
-		
-		return iter.filterKeep(new RowMatchFilterEquality( m ));
-		
-	}
-	
-	static class RowMatchFilterEquality implements Predicate<Row> {
-		final protected RowMatch rMatch;
-
-		public RowMatchFilterEquality(RowMatch rMatch) {
-			this.rMatch = rMatch;
-		}
-
-		@Override
-		public boolean test(Row r) {
-			return rowContained(rMatch, r);
-		}
-
-	}
-	
-	static boolean rowContained(RowMatch rMatch, Row row) {
-			
-		boolean contained = equalNode(rMatch.getSubject(), row.getRowKey());
-		if(contained){
-			BasicPattern pattern =rMatch.getBasicPattern();
-			for(Triple triple: pattern ){
-				contained = equalNode(triple.getObject(), row.getValue( triple.getPredicate()) );
-				if (! contained){
-					break;
-				}
-			}
-		} 
-		return contained;
-	}
-	
-
-	static class TripleMatchFilterEquality implements Predicate<Triple> {
-		final protected Triple tMatch;
-
-		/** Creates new TripleMatchFilter */
-		public TripleMatchFilterEquality(Triple tMatch) {
-			this.tMatch = tMatch;
-		}
-
-		@Override
-		public boolean test(Triple t) {
-			return tripleContained(tMatch, t);
-		}
-
-	}
-
-	static boolean tripleContained(Triple patternTriple, Triple dataTriple) {
-		return equalNode(patternTriple.getSubject(), dataTriple.getSubject())
-				&& equalNode(patternTriple.getPredicate(),
-						dataTriple.getPredicate())
-				&& equalNode(patternTriple.getObject(), dataTriple.getObject());
-	}
-
-	private static boolean equalNode(Node m, Node n) {
-		// m should not be null unless .getMatchXXXX used to get the node.
-		// Language tag canonicalization
-		n = fixupNode(n);
-		m = fixupNode(m);
-		return (m == null) || (m == Node.ANY) || m.equals(n);
-	}
-
-	private static Node fixupNode(Node node) {
-		if (node == null || node == Node.ANY)
-			return node;
-
-		// RDF says ... language tags should be canonicalized to lower case.
-		if (node.isLiteral()) {
-			String lang = node.getLiteralLanguage();
-			if (lang != null && !lang.equals(""))
-				node = NodeFactory.createLiteral(node.getLiteralLexicalForm(),
-						lang.toLowerCase(Locale.ROOT),
-						node.getLiteralDatatype());
-		}
-		return node;
-	}
-
-	private boolean isConcrete(Node node) {
-		boolean wild = (node == null || node == Node.ANY);
-		return !wild;
-	}
-
-}
+/*
+ * 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.propertytable.graph;
+
+import java.util.ArrayList ;
+import java.util.Locale ;
+import java.util.function.Predicate;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.impl.GraphBase ;
+import org.apache.jena.propertytable.Column ;
+import org.apache.jena.propertytable.PropertyTable ;
+import org.apache.jena.propertytable.Row ;
+import org.apache.jena.sparql.core.BasicPattern ;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.NullIterator ;
+import org.apache.jena.util.iterator.WrappedIterator ;
+
+/**
+ * GraphPropertyTable implements the Graph interface (read-only) over a PropertyTable.
+ * This is subclass from GraphBase and implements find().
+ * The graphBaseFind()(for matching a Triple) and propertyTableBaseFind()(for matching a whole Row) methods can choose the access route based on the find arguments.
+ * GraphPropertyTable holds/wraps an reference of the PropertyTable instance, so that such a Graph can be treated in a more table-like fashion.
+ *
+ */
+public class GraphPropertyTable extends GraphBase {
+
+	private PropertyTable pt;
+
+	public GraphPropertyTable(PropertyTable pt) {
+		this.pt = pt;
+	}
+
+	public PropertyTable getPropertyTable() {
+		return pt;
+	}
+
+	@Override
+	protected ExtendedIterator<Triple> graphBaseFind(Triple triple) {
+		//System.out.println(m);
+
+		if (this.pt == null) {
+			return NullIterator.instance();
+		}
+
+		ExtendedIterator<Triple> iter = null;
+
+		Node s = triple.getMatchSubject();
+		Node p = triple.getMatchPredicate();
+		Node o = triple.getMatchObject();
+
+		if (isConcrete(p) && isConcrete(o)) {
+			//System.out.println("1");
+			iter = pt.getTripleIterator(pt.getColumn(p), o);
+		} else if (isConcrete(p)) {
+			//System.out.println("2");
+			Column column = this.pt.getColumn(p);
+			if (column != null) {
+				iter = pt.getTripleIterator(column);
+			} else {
+				return NullIterator.instance();
+			}
+		} else if (isConcrete(o)) {
+			//System.out.println("3");
+			iter = pt.getTripleIterator(o);
+		} else{
+			//System.out.println("4");
+			iter = pt.getTripleIterator();
+		}
+
+		return iter.filterKeep(new TripleMatchFilterEquality(triple));
+
+	}
+	
+	protected ExtendedIterator<Row> propertyTableBaseFind(RowMatch m) {
+		
+		if (this.pt == null) {
+			return NullIterator.instance();
+		}
+		
+		ExtendedIterator<Row> iter = null;
+
+		Node s = m.getMatchSubject();
+
+		if ( isConcrete(s) ){
+			Row row= pt.getRow(s);
+			if (row == null){
+				return NullIterator.instance();
+			} else {
+				ArrayList<Row> rows = new ArrayList<Row>();
+				rows.add(row);
+				return WrappedIterator.create(rows.iterator());
+			}
+		} else {
+			iter = WrappedIterator.create(pt.getAllRows().iterator());
+		}
+		
+		return iter.filterKeep(new RowMatchFilterEquality( m ));
+		
+	}
+	
+	static class RowMatchFilterEquality implements Predicate<Row> {
+		final protected RowMatch rMatch;
+
+		public RowMatchFilterEquality(RowMatch rMatch) {
+			this.rMatch = rMatch;
+		}
+
+		@Override
+		public boolean test(Row r) {
+			return rowContained(rMatch, r);
+		}
+
+	}
+	
+	static boolean rowContained(RowMatch rMatch, Row row) {
+			
+		boolean contained = equalNode(rMatch.getSubject(), row.getRowKey());
+		if(contained){
+			BasicPattern pattern =rMatch.getBasicPattern();
+			for(Triple triple: pattern ){
+				contained = equalNode(triple.getObject(), row.getValue( triple.getPredicate()) );
+				if (! contained){
+					break;
+				}
+			}
+		} 
+		return contained;
+	}
+	
+
+	static class TripleMatchFilterEquality implements Predicate<Triple> {
+		final protected Triple tMatch;
+
+		/** Creates new TripleMatchFilter */
+		public TripleMatchFilterEquality(Triple tMatch) {
+			this.tMatch = tMatch;
+		}
+
+		@Override
+		public boolean test(Triple t) {
+			return tripleContained(tMatch, t);
+		}
+
+	}
+
+	static boolean tripleContained(Triple patternTriple, Triple dataTriple) {
+		return equalNode(patternTriple.getSubject(), dataTriple.getSubject())
+				&& equalNode(patternTriple.getPredicate(),
+						dataTriple.getPredicate())
+				&& equalNode(patternTriple.getObject(), dataTriple.getObject());
+	}
+
+	private static boolean equalNode(Node m, Node n) {
+		// m should not be null unless .getMatchXXXX used to get the node.
+		// Language tag canonicalization
+		n = fixupNode(n);
+		m = fixupNode(m);
+		return (m == null) || (m == Node.ANY) || m.equals(n);
+	}
+
+	private static Node fixupNode(Node node) {
+		if (node == null || node == Node.ANY)
+			return node;
+
+		// RDF says ... language tags should be canonicalized to lower case.
+		if (node.isLiteral()) {
+			String lang = node.getLiteralLanguage();
+			if (lang != null && !lang.equals(""))
+				node = NodeFactory.createLiteral(node.getLiteralLexicalForm(),
+						lang.toLowerCase(Locale.ROOT),
+						node.getLiteralDatatype());
+		}
+		return node;
+	}
+
+	private boolean isConcrete(Node node) {
+		boolean wild = (node == null || node == Node.ANY);
+		return !wild;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTable.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTable.java
index 8ebfa72..4349623 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTable.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTable.java
@@ -1,114 +1,114 @@
-/*
- * 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.propertytable.graph;
-
-import java.util.ArrayList ;
-import java.util.Collection ;
-import java.util.HashMap ;
-import java.util.List ;
-
-import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.iterator.QueryIter1 ;
-import org.apache.jena.sparql.serializer.SerializationContext ;
-import org.apache.jena.sparql.util.FmtUtils ;
-
-/**
- * Split the incoming BasicPattern by subjects, (i.e. it becomes multiple sub BasicPatterns grouped by the same subjects.
- *
- */
-public class QueryIterPropertyTable extends QueryIter1 {
-	
-	private BasicPattern pattern;
-	private Graph graph;
-	private QueryIterator output;
-
-	public static QueryIterator create(QueryIterator input,
-			BasicPattern pattern, ExecutionContext execContext) {
-		return new QueryIterPropertyTable(input, pattern, execContext);
-	}
-
-	private QueryIterPropertyTable(QueryIterator input, BasicPattern pattern,
-			ExecutionContext execContext) {
-		super(input, execContext);
-		this.pattern = pattern;
-		graph = execContext.getActiveGraph();
-		// Create a chain of triple iterators.
-		QueryIterator chain = getInput();
-		Collection<BasicPattern> patterns = sort(pattern);
-		for (BasicPattern p : patterns)
-			chain = new QueryIterPropertyTableRow(chain, p, execContext);
-		output = chain;
-	}
-
-	private Collection<BasicPattern> sort(BasicPattern pattern) {
-		HashMap<Node, BasicPattern> map = new HashMap<Node, BasicPattern>();
-		for (Triple triple : pattern.getList()) {
-			Node subject = triple.getSubject();
-			if (!map.containsKey(subject)) {
-				List<Triple> triples = new ArrayList<Triple>();
-				BasicPattern p = BasicPattern.wrap(triples);
-				map.put(subject, p);
-				p.add(triple);
-			} else {
-				map.get(subject).add(triple);
-			}
-		}
-		return map.values();
-	}
-
-	@Override
-	protected boolean hasNextBinding() {
-		return output.hasNext();
-	}
-
-	@Override
-	protected Binding moveToNextBinding() {
-		return output.nextBinding();
-	}
-
-	@Override
-	protected void closeSubIterator() {
-		if (output != null)
-			output.close();
-		output = null;
-	}
-
-	@Override
-	protected void requestSubCancel() {
-		if (output != null)
-			output.cancel();
-	}
-
-	@Override
-	protected void details(IndentedWriter out, SerializationContext sCxt) {
-		out.print(Lib.className(this));
-		out.println();
-		out.incIndent();
-		FmtUtils.formatPattern(out, pattern, sCxt);
-		out.decIndent();
-	}
-}
+/*
+ * 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.propertytable.graph;
+
+import java.util.ArrayList ;
+import java.util.Collection ;
+import java.util.HashMap ;
+import java.util.List ;
+
+import org.apache.jena.atlas.io.IndentedWriter ;
+import org.apache.jena.atlas.lib.Lib ;
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.sparql.core.BasicPattern ;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.engine.iterator.QueryIter1 ;
+import org.apache.jena.sparql.serializer.SerializationContext ;
+import org.apache.jena.sparql.util.FmtUtils ;
+
+/**
+ * Split the incoming BasicPattern by subjects, (i.e. it becomes multiple sub BasicPatterns grouped by the same subjects.
+ *
+ */
+public class QueryIterPropertyTable extends QueryIter1 {
+	
+	private BasicPattern pattern;
+	private Graph graph;
+	private QueryIterator output;
+
+	public static QueryIterator create(QueryIterator input,
+			BasicPattern pattern, ExecutionContext execContext) {
+		return new QueryIterPropertyTable(input, pattern, execContext);
+	}
+
+	private QueryIterPropertyTable(QueryIterator input, BasicPattern pattern,
+			ExecutionContext execContext) {
+		super(input, execContext);
+		this.pattern = pattern;
+		graph = execContext.getActiveGraph();
+		// Create a chain of triple iterators.
+		QueryIterator chain = getInput();
+		Collection<BasicPattern> patterns = sort(pattern);
+		for (BasicPattern p : patterns)
+			chain = new QueryIterPropertyTableRow(chain, p, execContext);
+		output = chain;
+	}
+
+	private Collection<BasicPattern> sort(BasicPattern pattern) {
+		HashMap<Node, BasicPattern> map = new HashMap<Node, BasicPattern>();
+		for (Triple triple : pattern.getList()) {
+			Node subject = triple.getSubject();
+			if (!map.containsKey(subject)) {
+				List<Triple> triples = new ArrayList<Triple>();
+				BasicPattern p = BasicPattern.wrap(triples);
+				map.put(subject, p);
+				p.add(triple);
+			} else {
+				map.get(subject).add(triple);
+			}
+		}
+		return map.values();
+	}
+
+	@Override
+	protected boolean hasNextBinding() {
+		return output.hasNext();
+	}
+
+	@Override
+	protected Binding moveToNextBinding() {
+		return output.nextBinding();
+	}
+
+	@Override
+	protected void closeSubIterator() {
+		if (output != null)
+			output.close();
+		output = null;
+	}
+
+	@Override
+	protected void requestSubCancel() {
+		if (output != null)
+			output.cancel();
+	}
+
+	@Override
+	protected void details(IndentedWriter out, SerializationContext sCxt) {
+		out.print(Lib.className(this));
+		out.println();
+		out.incIndent();
+		FmtUtils.formatPattern(out, pattern, sCxt);
+		out.decIndent();
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTableRow.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTableRow.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTableRow.java
index 8aeec57..3b28f24 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTableRow.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/QueryIterPropertyTableRow.java
@@ -1,243 +1,243 @@
-/*
- * 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.propertytable.graph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.propertytable.PropertyTable;
-import org.apache.jena.propertytable.Row;
-
-
-import org.apache.jena.sparql.ARQInternalErrorException ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingFactory ;
-import org.apache.jena.sparql.engine.binding.BindingMap ;
-import org.apache.jena.sparql.engine.iterator.QueryIter ;
-import org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply ;
-import org.apache.jena.util.iterator.ClosableIterator ;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.NiceIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
-
-/**
- * If the triple size within a BasicePattern is greater than 1 (i.e. at least 2 triples), it's turned into a row querying.
- *
- */
-public class QueryIterPropertyTableRow  extends QueryIterRepeatApply{
-	
-	
-    private final BasicPattern pattern ;
-    
-    public QueryIterPropertyTableRow( QueryIterator input,
-                                   BasicPattern pattern , 
-                                   ExecutionContext cxt)
-    {
-        super(input, cxt) ;
-        this.pattern = pattern ;
-    }
-
-    @Override
-    protected QueryIterator nextStage(Binding binding)
-    {
-        return new RowMapper(binding, pattern, getExecContext()) ;
-    }
-    
-    static int countMapper = 0 ; 
-    static class RowMapper extends QueryIter
-    {   
-    	private PropertyTable table;
-    	
-    	private BasicPattern pattern;
-        private Binding binding ;
-        private ClosableIterator<Row> graphIter ;
-        private Binding slot = null ;
-        private boolean finished = false ;
-        private volatile boolean cancelled = false ;
-
-        RowMapper(Binding binding, BasicPattern pattern, ExecutionContext cxt)
-        {
-            super(cxt) ;
-            GraphPropertyTable graph = (GraphPropertyTable)cxt.getActiveGraph() ;
-            
-            this.pattern = substitute(pattern, binding);
-            this.binding = binding ;
-            BasicPattern pattern2 = tripleNode(pattern);
-            
-            ExtendedIterator<Row> iter = graph.propertyTableBaseFind( new RowMatch( pattern2) );
-            
-            if ( false )
-            {
-                // Materialize the results now. Debugging only.
-                List<Row> x = iter.toList() ;
-                this.graphIter = WrappedIterator.create(x.iterator()) ;
-                iter.close();
-            }
-            else
-                // Stream.
-                this.graphIter = iter ;
-        }
-
-        private static Node tripleNode(Node node)
-        {
-            if ( node.isVariable() )
-                return Node.ANY ;
-            return node ;
-        }
-        
-        private static BasicPattern tripleNode(BasicPattern pattern)
-        {
-        	List<Triple> triples = new ArrayList<Triple>();
-        	for (Triple triple: pattern){
-        		triples.add( tripleNode(triple) );
-        	}
-        	return BasicPattern.wrap(triples);
-        }
-        
-        private static Triple tripleNode(Triple triple){
-            Node s = tripleNode(triple.getSubject()) ;
-            Node p = tripleNode(triple.getPredicate()) ;
-            Node o = tripleNode(triple.getObject()) ;
-            return Triple.create(s, p, o);
-        }
-
-        private static Node substitute(Node node, Binding binding)
-        {
-            if ( Var.isVar(node) )
-            {
-                Node x = binding.get(Var.alloc(node)) ;
-                if ( x != null )
-                    return x ;
-            }
-            return node ;
-        }
-        
-        private static Triple substitute(Triple triple, Binding binding){
-            Node s = substitute(triple.getSubject(), binding) ;
-            Node p = substitute(triple.getPredicate(), binding) ;
-            Node o = substitute(triple.getObject(), binding) ;
-            return Triple.create(s, p, o);
-        }
-        
-        private static BasicPattern substitute(BasicPattern pattern , Binding binding)
-        {
-        	List<Triple> triples = new ArrayList<Triple>();
-        	for (Triple triple: pattern){
-        		triples.add( substitute(triple,binding) );
-        	}
-        	return BasicPattern.wrap(triples);
-        }
-        
-        private Binding mapper(Row r)
-        {
-            BindingMap results = BindingFactory.create(binding) ;
-
-            if ( ! insert(pattern, r, results) )
-                return null ; 
-            return results ;
-        }
-        
-        private static boolean insert(BasicPattern input, Row output, BindingMap results)
-        {	
-        	for (Triple triple: input){
-        		if (! insert(triple, output, results) ){
-        			return false;
-        		}
-        	}
-        	return true;
-        }
-        
-        private static boolean insert(Triple input, Row output, BindingMap results){
-        	if ( ! insert(input.getSubject(), output.getRowKey(), results) )
-                return false ;
-//        	if ( ! insert(input.getPredicate(), output.get, results) )
-//                return false ;
-            if ( ! insert(input.getObject(), output.getValue( input.getPredicate() ), results) )
-                return false ;
-            return true;
-        }
-
-        private static boolean insert(Node inputNode, Node outputNode, BindingMap results)
-        {
-            if ( ! Var.isVar(inputNode) )
-                return true ;
-            
-            Var v = Var.alloc(inputNode) ;
-            Node x = results.get(v) ;
-            if ( x != null )
-                return outputNode.equals(x) ;
-            
-            results.add(v, outputNode) ;
-            return true ;
-        }
-        
-        @Override
-        protected boolean hasNextBinding()
-        {
-            if ( finished ) return false ;
-            if ( slot != null ) return true ;
-            if ( cancelled )
-            {
-                graphIter.close() ;
-                finished = true ;
-                return false ;
-            }
-
-            while(graphIter.hasNext() && slot == null )
-            {
-                Row r = graphIter.next() ;
-                slot = mapper(r) ;
-            }
-            if ( slot == null )
-                finished = true ;
-            return slot != null ;
-        }
-
-        @Override
-        protected Binding moveToNextBinding()
-        {
-            if ( ! hasNextBinding() ) 
-                throw new ARQInternalErrorException() ;
-            Binding r = slot ;
-            slot = null ;
-            return r ;
-        }
-
-        @Override
-        protected void closeIterator()
-        {
-            if ( graphIter != null )
-                NiceIterator.close(graphIter) ;
-            graphIter = null ;
-        }
-        
-        @Override
-        protected void requestCancel()
-        {
-            // The QueryIteratorBase machinary will do the real work.
-            cancelled = true ;
-        }
-    }
-}
+/*
+ * 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.propertytable.graph;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.propertytable.PropertyTable;
+import org.apache.jena.propertytable.Row;
+
+
+import org.apache.jena.sparql.ARQInternalErrorException ;
+import org.apache.jena.sparql.core.BasicPattern ;
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.engine.binding.BindingFactory ;
+import org.apache.jena.sparql.engine.binding.BindingMap ;
+import org.apache.jena.sparql.engine.iterator.QueryIter ;
+import org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply ;
+import org.apache.jena.util.iterator.ClosableIterator ;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.NiceIterator ;
+import org.apache.jena.util.iterator.WrappedIterator ;
+
+/**
+ * If the triple size within a BasicePattern is greater than 1 (i.e. at least 2 triples), it's turned into a row querying.
+ *
+ */
+public class QueryIterPropertyTableRow  extends QueryIterRepeatApply{
+	
+	
+    private final BasicPattern pattern ;
+    
+    public QueryIterPropertyTableRow( QueryIterator input,
+                                   BasicPattern pattern , 
+                                   ExecutionContext cxt)
+    {
+        super(input, cxt) ;
+        this.pattern = pattern ;
+    }
+
+    @Override
+    protected QueryIterator nextStage(Binding binding)
+    {
+        return new RowMapper(binding, pattern, getExecContext()) ;
+    }
+    
+    static int countMapper = 0 ; 
+    static class RowMapper extends QueryIter
+    {   
+    	private PropertyTable table;
+    	
+    	private BasicPattern pattern;
+        private Binding binding ;
+        private ClosableIterator<Row> graphIter ;
+        private Binding slot = null ;
+        private boolean finished = false ;
+        private volatile boolean cancelled = false ;
+
+        RowMapper(Binding binding, BasicPattern pattern, ExecutionContext cxt)
+        {
+            super(cxt) ;
+            GraphPropertyTable graph = (GraphPropertyTable)cxt.getActiveGraph() ;
+            
+            this.pattern = substitute(pattern, binding);
+            this.binding = binding ;
+            BasicPattern pattern2 = tripleNode(pattern);
+            
+            ExtendedIterator<Row> iter = graph.propertyTableBaseFind( new RowMatch( pattern2) );
+            
+            if ( false )
+            {
+                // Materialize the results now. Debugging only.
+                List<Row> x = iter.toList() ;
+                this.graphIter = WrappedIterator.create(x.iterator()) ;
+                iter.close();
+            }
+            else
+                // Stream.
+                this.graphIter = iter ;
+        }
+
+        private static Node tripleNode(Node node)
+        {
+            if ( node.isVariable() )
+                return Node.ANY ;
+            return node ;
+        }
+        
+        private static BasicPattern tripleNode(BasicPattern pattern)
+        {
+        	List<Triple> triples = new ArrayList<Triple>();
+        	for (Triple triple: pattern){
+        		triples.add( tripleNode(triple) );
+        	}
+        	return BasicPattern.wrap(triples);
+        }
+        
+        private static Triple tripleNode(Triple triple){
+            Node s = tripleNode(triple.getSubject()) ;
+            Node p = tripleNode(triple.getPredicate()) ;
+            Node o = tripleNode(triple.getObject()) ;
+            return Triple.create(s, p, o);
+        }
+
+        private static Node substitute(Node node, Binding binding)
+        {
+            if ( Var.isVar(node) )
+            {
+                Node x = binding.get(Var.alloc(node)) ;
+                if ( x != null )
+                    return x ;
+            }
+            return node ;
+        }
+        
+        private static Triple substitute(Triple triple, Binding binding){
+            Node s = substitute(triple.getSubject(), binding) ;
+            Node p = substitute(triple.getPredicate(), binding) ;
+            Node o = substitute(triple.getObject(), binding) ;
+            return Triple.create(s, p, o);
+        }
+        
+        private static BasicPattern substitute(BasicPattern pattern , Binding binding)
+        {
+        	List<Triple> triples = new ArrayList<Triple>();
+        	for (Triple triple: pattern){
+        		triples.add( substitute(triple,binding) );
+        	}
+        	return BasicPattern.wrap(triples);
+        }
+        
+        private Binding mapper(Row r)
+        {
+            BindingMap results = BindingFactory.create(binding) ;
+
+            if ( ! insert(pattern, r, results) )
+                return null ; 
+            return results ;
+        }
+        
+        private static boolean insert(BasicPattern input, Row output, BindingMap results)
+        {	
+        	for (Triple triple: input){
+        		if (! insert(triple, output, results) ){
+        			return false;
+        		}
+        	}
+        	return true;
+        }
+        
+        private static boolean insert(Triple input, Row output, BindingMap results){
+        	if ( ! insert(input.getSubject(), output.getRowKey(), results) )
+                return false ;
+//        	if ( ! insert(input.getPredicate(), output.get, results) )
+//                return false ;
+            if ( ! insert(input.getObject(), output.getValue( input.getPredicate() ), results) )
+                return false ;
+            return true;
+        }
+
+        private static boolean insert(Node inputNode, Node outputNode, BindingMap results)
+        {
+            if ( ! Var.isVar(inputNode) )
+                return true ;
+            
+            Var v = Var.alloc(inputNode) ;
+            Node x = results.get(v) ;
+            if ( x != null )
+                return outputNode.equals(x) ;
+            
+            results.add(v, outputNode) ;
+            return true ;
+        }
+        
+        @Override
+        protected boolean hasNextBinding()
+        {
+            if ( finished ) return false ;
+            if ( slot != null ) return true ;
+            if ( cancelled )
+            {
+                graphIter.close() ;
+                finished = true ;
+                return false ;
+            }
+
+            while(graphIter.hasNext() && slot == null )
+            {
+                Row r = graphIter.next() ;
+                slot = mapper(r) ;
+            }
+            if ( slot == null )
+                finished = true ;
+            return slot != null ;
+        }
+
+        @Override
+        protected Binding moveToNextBinding()
+        {
+            if ( ! hasNextBinding() ) 
+                throw new ARQInternalErrorException() ;
+            Binding r = slot ;
+            slot = null ;
+            return r ;
+        }
+
+        @Override
+        protected void closeIterator()
+        {
+            if ( graphIter != null )
+                NiceIterator.close(graphIter) ;
+            graphIter = null ;
+        }
+        
+        @Override
+        protected void requestCancel()
+        {
+            // The QueryIteratorBase machinary will do the real work.
+            cancelled = true ;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/RowMatch.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/RowMatch.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/RowMatch.java
index 971438b..f5b9c18 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/RowMatch.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/RowMatch.java
@@ -1,48 +1,48 @@
-/*
- * 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.propertytable.graph;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.core.BasicPattern ;
-
-/**
- * The data structure for matching a Row
- *
- */
-public class RowMatch {
-	
-	private BasicPattern pattern;
-	
-	public RowMatch( BasicPattern pattern ){		
-		this.pattern=pattern;
-	}
-
-	public Node getMatchSubject(){
-		return pattern.get(0).getMatchSubject();
-	}
-	
-	public Node getSubject(){
-		return pattern.get(0).getSubject();
-	}
-	
-	public BasicPattern getBasicPattern(){
-		return pattern;
-	}
-
-}
+/*
+ * 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.propertytable.graph;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.sparql.core.BasicPattern ;
+
+/**
+ * The data structure for matching a Row
+ *
+ */
+public class RowMatch {
+	
+	private BasicPattern pattern;
+	
+	public RowMatch( BasicPattern pattern ){		
+		this.pattern=pattern;
+	}
+
+	public Node getMatchSubject(){
+		return pattern.get(0).getMatchSubject();
+	}
+	
+	public Node getSubject(){
+		return pattern.get(0).getSubject();
+	}
+	
+	public BasicPattern getBasicPattern(){
+		return pattern;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/StageGeneratorPropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/StageGeneratorPropertyTable.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/StageGeneratorPropertyTable.java
index 53df0c9..4692472 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/StageGeneratorPropertyTable.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/StageGeneratorPropertyTable.java
@@ -1,57 +1,57 @@
-/*
- * 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.propertytable.graph;
-
-
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.main.StageGenerator ;
-
-/**
- *  The extension of StageGenerator for querying a Row.
- *
- */
-public class StageGeneratorPropertyTable implements StageGenerator {
-
-    // Using OpExecutor is preferred.
-    StageGenerator above = null ;
-    
-    public StageGeneratorPropertyTable(StageGenerator original)
-    {
-        above = original ;
-    }
-    
-    @Override
-    public QueryIterator execute(BasicPattern pattern, QueryIterator input, ExecutionContext execCxt)
-    {
-        // --- In case this isn't for GraphPropertyTable
-        Graph g = execCxt.getActiveGraph() ;
-        
-        if ( ! ( g instanceof GraphPropertyTable ) )
-            return above.execute(pattern, input, execCxt) ;
-        if (pattern.size() <= 1){
-        	return above.execute(pattern, input, execCxt) ;
-        }
-        return QueryIterPropertyTable.create(input, pattern, execCxt);
-    }
-    
-
-}
+/*
+ * 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.propertytable.graph;
+
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.sparql.core.BasicPattern ;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.main.StageGenerator ;
+
+/**
+ *  The extension of StageGenerator for querying a Row.
+ *
+ */
+public class StageGeneratorPropertyTable implements StageGenerator {
+
+    // Using OpExecutor is preferred.
+    StageGenerator above = null ;
+    
+    public StageGeneratorPropertyTable(StageGenerator original)
+    {
+        above = original ;
+    }
+    
+    @Override
+    public QueryIterator execute(BasicPattern pattern, QueryIterator input, ExecutionContext execCxt)
+    {
+        // --- In case this isn't for GraphPropertyTable
+        Graph g = execCxt.getActiveGraph() ;
+        
+        if ( ! ( g instanceof GraphPropertyTable ) )
+            return above.execute(pattern, input, execCxt) ;
+        if (pattern.size() <= 1){
+        	return above.execute(pattern, input, execCxt) ;
+        }
+        return QueryIterPropertyTable.create(input, pattern, execCxt);
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/impl/ColumnImpl.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/ColumnImpl.java b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/ColumnImpl.java
index 808441a..ce456f9 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/ColumnImpl.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/ColumnImpl.java
@@ -1,57 +1,57 @@
-/*
- * 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.propertytable.impl;
-
-
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.propertytable.Column;
-import org.apache.jena.propertytable.PropertyTable;
-
-/**
- * The simple implementation of Column
- *
- */
-public class ColumnImpl implements Column {
-	
-	
-	private final PropertyTable table;
-	private Node p;
-
-	ColumnImpl(PropertyTable table, Node p) {
-		this.table = table;
-		this.p = p;
-	}
-
-	@Override
-	public PropertyTable getTable() {
-		return table;
-	}
-
-	@Override
-	public Node getColumnKey() {
-		return p;
-	}
-
-	@Override
-	public List<Node> getValues() {
-		return table.getColumnValues(this);
-	}
-}
+/*
+ * 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.propertytable.impl;
+
+
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.propertytable.Column;
+import org.apache.jena.propertytable.PropertyTable;
+
+/**
+ * The simple implementation of Column
+ *
+ */
+public class ColumnImpl implements Column {
+	
+	
+	private final PropertyTable table;
+	private Node p;
+
+	ColumnImpl(PropertyTable table, Node p) {
+		this.table = table;
+		this.p = p;
+	}
+
+	@Override
+	public PropertyTable getTable() {
+		return table;
+	}
+
+	@Override
+	public Node getColumnKey() {
+		return p;
+	}
+
+	@Override
+	public List<Node> getValues() {
+		return table.getColumnValues(this);
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableArrayImpl.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableArrayImpl.java b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableArrayImpl.java
index 6b8bd6e..1920045 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableArrayImpl.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableArrayImpl.java
@@ -1,345 +1,345 @@
-/*
- * 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.propertytable.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.iterator.IteratorConcat;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.propertytable.Column;
-import org.apache.jena.propertytable.PropertyTable;
-import org.apache.jena.propertytable.Row;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
-
-/**
- * A PropertyTable Implementation using a two dimension array.
- * It contains SPO and PSO indexes.
- * 
- */
-public class PropertyTableArrayImpl implements PropertyTable {
-	
-	private final List<Node> rowList;
-	private final List<Node> columnList;
-
-	private final Map<Node, Integer> rowKeyToIndex;
-	private final Map<Node, Integer> columnKeyToIndex;
-	private final Node[][] array;
-	private final int rowNum;
-	private final int columnNum;
-	
-	public PropertyTableArrayImpl(int rowNum, int columnNum){
-		rowList = new ArrayList<Node>(rowNum);
-		columnList = new ArrayList<Node>(columnNum);
-		rowKeyToIndex = new HashMap<Node, Integer>();
-		columnKeyToIndex = new HashMap<Node, Integer>();
-		this.rowNum = rowNum;
-		this.columnNum = columnNum;
-		array = new Node [rowNum][columnNum];
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Column column, Node value) {
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		if (value == null){
-			throw new NullPointerException("value is null");
-		}
-		
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-		
-		Node p = column.getColumnKey();
-		Integer columnIndex = this.columnKeyToIndex.get(p);
-		if (columnIndex != null){
-			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
-				if ( value.equals( this.get(rowIndex, columnIndex))){
-					triples.add(Triple.create(rowList.get(rowIndex), p, value));
-				}
-			}
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Column column) {
-		
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-		
-		Node p = column.getColumnKey();
-		Integer columnIndex = this.columnKeyToIndex.get(p);
-		if (columnIndex != null){
-			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
-				if(this.get(rowIndex, columnIndex)!=null){
-					triples.add(Triple.create(rowList.get(rowIndex), p, this.get(rowIndex, columnIndex)));
-				}
-			}
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Node value) {
-		if (value == null)
-			throw new NullPointerException("value is null");
-		
-		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
-		for (Column column : this.getColumns()) {
-			ExtendedIterator<Triple> eIter = getTripleIterator(column,value);
-			iter.add(eIter);
-		}
-		return WrappedIterator.create(Iter.distinct(iter));
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Row row) {
-		if (row == null || row.getRowKey() == null)
-			throw new NullPointerException("row is null");
-		
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-	    Integer rowIndex = this.rowKeyToIndex.get(row.getRowKey());
-
-		if (rowIndex != null){
-			for(int columnIndex=0; columnIndex < columnList.size(); columnIndex++){
-				triples.add(Triple.create( row.getRowKey(), columnList.get(columnIndex), this.get(rowIndex, columnIndex)));
-			}
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator() {
-
-		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
-		for (Column column : getColumns()) {
-			iter.add(getTripleIterator(column));
-		}
-		return WrappedIterator.create(Iter.distinct(iter));
-	}
-
-	@Override
-	public Collection<Column> getColumns() {
-		Collection<Column> columns = new ArrayList<Column>();
-		for(Node p: columnKeyToIndex.keySet() ){
-			columns.add(new ColumnImpl(this, p));
-		}
-		return columns;
-	}
-
-	@Override
-	public Column getColumn(Node p) {
-		if (p == null)
-			throw new NullPointerException("column name is null");
-	    Integer columnIndex = columnKeyToIndex.get(p);
-	    return (columnIndex == null)
-	        ? null : new ColumnImpl(this, p);
-	}
-
-	@Override
-	public Column createColumn(Node p) {
-		if (p == null)
-			throw new NullPointerException("column name is null");
-
-		if (columnKeyToIndex.containsKey(p))
-			throw new IllegalArgumentException("column already exists: '"
-					+ p.toString());
-		
-		if (columnList.size()>= columnNum)
-			throw new IllegalArgumentException("cannot create new column for max column count: " + columnNum);
-		
-		columnList.add(p);
-		columnKeyToIndex.put(p, columnList.indexOf(p));
-		return getColumn(p);
-	}
-
-	@Override
-	public Row getRow(Node s) {
-		if (s == null)
-			throw new NullPointerException("subject node is null");
-		
-		Integer rowIndex = rowKeyToIndex.get(s);
-		return (rowIndex == null) ? null : new InternalRow(rowIndex);
-	}
-
-	@Override
-	public Row createRow(Node s) {
-		Row row = this.getRow(s);
-		if (row != null)
-			return row;
-
-		if (rowList.size()>= rowNum)
-			throw new IllegalArgumentException("cannot create new row for max row count: " + rowNum);
-		
-		rowList.add(s);
-		int rowIndex = rowList.indexOf(s);
-		rowKeyToIndex.put(s, rowIndex);		
-		
-		return new InternalRow(rowIndex);
-	}
-	
-	private void set(int rowIndex, int columnIndex, Node value) {
-		
-		if (rowIndex >= rowList.size())
-			throw new IllegalArgumentException("row index out of bound: " + rowList.size());
-		if (columnIndex >= columnList.size())
-			throw new IllegalArgumentException("column index out of bound: " + columnList.size());
-		array[rowIndex][columnIndex] = value;
-	}
-	
-	public Node get(int rowIndex, int columnIndex) {
-	    if (rowIndex >= rowList.size())
-			throw new IllegalArgumentException("row index out of bound: " + rowList.size());
-		if (columnIndex >= columnList.size())
-			throw new IllegalArgumentException("column index out of bound: " + columnList.size());
-		return array[rowIndex][columnIndex];
-    }
-
-	@Override
-	public List<Row> getAllRows() {
-		ArrayList<Row> rows = new ArrayList<Row>();
-		for (int rowIndex=0;rowIndex<rowList.size();rowIndex++){
-			rows.add( new InternalRow(rowIndex));
-		}
-		return rows;
-	}
-
-	@Override
-	public List<Node> getColumnValues(Column column) {
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		Node p = column.getColumnKey();
-		Integer columnIndex = this.columnKeyToIndex.get(p);
-		
-		List<Node> list = new ArrayList<Node>();
-		
-		if (columnIndex != null){
-			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
-				if(this.get(rowIndex, columnIndex)!=null){
-					list.add(this.get(rowIndex, columnIndex));
-				}
-			}
-		}
-		return list;
-	}
-	
-
-	@Override
-	public Collection<Row> getMatchingRows(Column column, Node value) {
-		
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		if (value == null){
-			throw new NullPointerException("value is null");
-		}
-		
-		final ArrayList<Row> matchingRows = new ArrayList<Row>();
-		
-		Node p = column.getColumnKey();
-		Integer columnIndex = this.columnKeyToIndex.get(p);
-		if (columnIndex != null){
-			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
-				if ( value.equals( this.get(rowIndex, columnIndex))){
-					matchingRows.add( this.getRow( rowList.get(rowIndex) ));
-				}
-			}
-		}
-		return matchingRows;
-	}
-	
-	private final class InternalRow implements Row {
-
-	    final int rowIndex;
-
-	    InternalRow(int rowIndex) {
-	      this.rowIndex = rowIndex;
-	    }
-		
-		@Override
-		public PropertyTable getTable() {
-			return PropertyTableArrayImpl.this;
-		}
-
-		@Override
-		public void setValue(Column column, Node value) {
-			if (column == null || column.getColumnKey() == null)
-				throw new NullPointerException("column is null");
-			
-		    Integer columnIndex = columnKeyToIndex.get(column.getColumnKey());
-		    if (columnIndex == null)
-		    	throw new IllegalArgumentException("column index does not exist: " + column.getColumnKey());
-
-		    set(rowIndex, columnIndex, value);
-			
-		}
-
-		@Override
-		public Node getValue(Column column) {
-			if (column == null)
-				throw new NullPointerException("column is null");
-			return this.getValue(column.getColumnKey());
-		}
-
-		@Override
-		public Node getValue(Node columnKey) {
-			if (columnKey == null)
-				throw new NullPointerException("column key is null");
-			
-		    Integer columnIndex = columnKeyToIndex.get(columnKey);
-		    if (columnIndex == null)
-		    	throw new IllegalArgumentException("column index does not exist: " + columnKey);
-		    
-		    return get(rowIndex, columnIndex);
-		}
-
-		@Override
-		public Node getRowKey() {
-			return rowList.get(rowIndex);
-		}
-
-		@Override
-		public ExtendedIterator<Triple> getTripleIterator() {
-			ArrayList<Triple> triples = new ArrayList<Triple>();
-			for (int columnIndex=0;columnIndex<columnList.size();columnIndex++) {
-				triples.add(Triple.create(getRowKey(), columnList.get(columnIndex), get(rowIndex, columnIndex)));
-			}
-			return WrappedIterator.create(triples.iterator());
-		}
-
-		@Override
-		public Collection<Column> getColumns() {
-			return PropertyTableArrayImpl.this.getColumns();
-		}
-		
-	}
-
-
-
-
-}
+/*
+ * 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.propertytable.impl;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.jena.atlas.iterator.Iter;
+import org.apache.jena.atlas.iterator.IteratorConcat;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.propertytable.Column;
+import org.apache.jena.propertytable.PropertyTable;
+import org.apache.jena.propertytable.Row;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.WrappedIterator ;
+
+/**
+ * A PropertyTable Implementation using a two dimension array.
+ * It contains SPO and PSO indexes.
+ * 
+ */
+public class PropertyTableArrayImpl implements PropertyTable {
+	
+	private final List<Node> rowList;
+	private final List<Node> columnList;
+
+	private final Map<Node, Integer> rowKeyToIndex;
+	private final Map<Node, Integer> columnKeyToIndex;
+	private final Node[][] array;
+	private final int rowNum;
+	private final int columnNum;
+	
+	public PropertyTableArrayImpl(int rowNum, int columnNum){
+		rowList = new ArrayList<Node>(rowNum);
+		columnList = new ArrayList<Node>(columnNum);
+		rowKeyToIndex = new HashMap<Node, Integer>();
+		columnKeyToIndex = new HashMap<Node, Integer>();
+		this.rowNum = rowNum;
+		this.columnNum = columnNum;
+		array = new Node [rowNum][columnNum];
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Column column, Node value) {
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		if (value == null){
+			throw new NullPointerException("value is null");
+		}
+		
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+		
+		Node p = column.getColumnKey();
+		Integer columnIndex = this.columnKeyToIndex.get(p);
+		if (columnIndex != null){
+			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
+				if ( value.equals( this.get(rowIndex, columnIndex))){
+					triples.add(Triple.create(rowList.get(rowIndex), p, value));
+				}
+			}
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Column column) {
+		
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+		
+		Node p = column.getColumnKey();
+		Integer columnIndex = this.columnKeyToIndex.get(p);
+		if (columnIndex != null){
+			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
+				if(this.get(rowIndex, columnIndex)!=null){
+					triples.add(Triple.create(rowList.get(rowIndex), p, this.get(rowIndex, columnIndex)));
+				}
+			}
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Node value) {
+		if (value == null)
+			throw new NullPointerException("value is null");
+		
+		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
+		for (Column column : this.getColumns()) {
+			ExtendedIterator<Triple> eIter = getTripleIterator(column,value);
+			iter.add(eIter);
+		}
+		return WrappedIterator.create(Iter.distinct(iter));
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Row row) {
+		if (row == null || row.getRowKey() == null)
+			throw new NullPointerException("row is null");
+		
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+	    Integer rowIndex = this.rowKeyToIndex.get(row.getRowKey());
+
+		if (rowIndex != null){
+			for(int columnIndex=0; columnIndex < columnList.size(); columnIndex++){
+				triples.add(Triple.create( row.getRowKey(), columnList.get(columnIndex), this.get(rowIndex, columnIndex)));
+			}
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator() {
+
+		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
+		for (Column column : getColumns()) {
+			iter.add(getTripleIterator(column));
+		}
+		return WrappedIterator.create(Iter.distinct(iter));
+	}
+
+	@Override
+	public Collection<Column> getColumns() {
+		Collection<Column> columns = new ArrayList<Column>();
+		for(Node p: columnKeyToIndex.keySet() ){
+			columns.add(new ColumnImpl(this, p));
+		}
+		return columns;
+	}
+
+	@Override
+	public Column getColumn(Node p) {
+		if (p == null)
+			throw new NullPointerException("column name is null");
+	    Integer columnIndex = columnKeyToIndex.get(p);
+	    return (columnIndex == null)
+	        ? null : new ColumnImpl(this, p);
+	}
+
+	@Override
+	public Column createColumn(Node p) {
+		if (p == null)
+			throw new NullPointerException("column name is null");
+
+		if (columnKeyToIndex.containsKey(p))
+			throw new IllegalArgumentException("column already exists: '"
+					+ p.toString());
+		
+		if (columnList.size()>= columnNum)
+			throw new IllegalArgumentException("cannot create new column for max column count: " + columnNum);
+		
+		columnList.add(p);
+		columnKeyToIndex.put(p, columnList.indexOf(p));
+		return getColumn(p);
+	}
+
+	@Override
+	public Row getRow(Node s) {
+		if (s == null)
+			throw new NullPointerException("subject node is null");
+		
+		Integer rowIndex = rowKeyToIndex.get(s);
+		return (rowIndex == null) ? null : new InternalRow(rowIndex);
+	}
+
+	@Override
+	public Row createRow(Node s) {
+		Row row = this.getRow(s);
+		if (row != null)
+			return row;
+
+		if (rowList.size()>= rowNum)
+			throw new IllegalArgumentException("cannot create new row for max row count: " + rowNum);
+		
+		rowList.add(s);
+		int rowIndex = rowList.indexOf(s);
+		rowKeyToIndex.put(s, rowIndex);		
+		
+		return new InternalRow(rowIndex);
+	}
+	
+	private void set(int rowIndex, int columnIndex, Node value) {
+		
+		if (rowIndex >= rowList.size())
+			throw new IllegalArgumentException("row index out of bound: " + rowList.size());
+		if (columnIndex >= columnList.size())
+			throw new IllegalArgumentException("column index out of bound: " + columnList.size());
+		array[rowIndex][columnIndex] = value;
+	}
+	
+	public Node get(int rowIndex, int columnIndex) {
+	    if (rowIndex >= rowList.size())
+			throw new IllegalArgumentException("row index out of bound: " + rowList.size());
+		if (columnIndex >= columnList.size())
+			throw new IllegalArgumentException("column index out of bound: " + columnList.size());
+		return array[rowIndex][columnIndex];
+    }
+
+	@Override
+	public List<Row> getAllRows() {
+		ArrayList<Row> rows = new ArrayList<Row>();
+		for (int rowIndex=0;rowIndex<rowList.size();rowIndex++){
+			rows.add( new InternalRow(rowIndex));
+		}
+		return rows;
+	}
+
+	@Override
+	public List<Node> getColumnValues(Column column) {
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		Node p = column.getColumnKey();
+		Integer columnIndex = this.columnKeyToIndex.get(p);
+		
+		List<Node> list = new ArrayList<Node>();
+		
+		if (columnIndex != null){
+			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
+				if(this.get(rowIndex, columnIndex)!=null){
+					list.add(this.get(rowIndex, columnIndex));
+				}
+			}
+		}
+		return list;
+	}
+	
+
+	@Override
+	public Collection<Row> getMatchingRows(Column column, Node value) {
+		
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		if (value == null){
+			throw new NullPointerException("value is null");
+		}
+		
+		final ArrayList<Row> matchingRows = new ArrayList<Row>();
+		
+		Node p = column.getColumnKey();
+		Integer columnIndex = this.columnKeyToIndex.get(p);
+		if (columnIndex != null){
+			for(int rowIndex=0; rowIndex< rowList.size();rowIndex++){
+				if ( value.equals( this.get(rowIndex, columnIndex))){
+					matchingRows.add( this.getRow( rowList.get(rowIndex) ));
+				}
+			}
+		}
+		return matchingRows;
+	}
+	
+	private final class InternalRow implements Row {
+
+	    final int rowIndex;
+
+	    InternalRow(int rowIndex) {
+	      this.rowIndex = rowIndex;
+	    }
+		
+		@Override
+		public PropertyTable getTable() {
+			return PropertyTableArrayImpl.this;
+		}
+
+		@Override
+		public void setValue(Column column, Node value) {
+			if (column == null || column.getColumnKey() == null)
+				throw new NullPointerException("column is null");
+			
+		    Integer columnIndex = columnKeyToIndex.get(column.getColumnKey());
+		    if (columnIndex == null)
+		    	throw new IllegalArgumentException("column index does not exist: " + column.getColumnKey());
+
+		    set(rowIndex, columnIndex, value);
+			
+		}
+
+		@Override
+		public Node getValue(Column column) {
+			if (column == null)
+				throw new NullPointerException("column is null");
+			return this.getValue(column.getColumnKey());
+		}
+
+		@Override
+		public Node getValue(Node columnKey) {
+			if (columnKey == null)
+				throw new NullPointerException("column key is null");
+			
+		    Integer columnIndex = columnKeyToIndex.get(columnKey);
+		    if (columnIndex == null)
+		    	throw new IllegalArgumentException("column index does not exist: " + columnKey);
+		    
+		    return get(rowIndex, columnIndex);
+		}
+
+		@Override
+		public Node getRowKey() {
+			return rowList.get(rowIndex);
+		}
+
+		@Override
+		public ExtendedIterator<Triple> getTripleIterator() {
+			ArrayList<Triple> triples = new ArrayList<Triple>();
+			for (int columnIndex=0;columnIndex<columnList.size();columnIndex++) {
+				triples.add(Triple.create(getRowKey(), columnList.get(columnIndex), get(rowIndex, columnIndex)));
+			}
+			return WrappedIterator.create(triples.iterator());
+		}
+
+		@Override
+		public Collection<Column> getColumns() {
+			return PropertyTableArrayImpl.this.getColumns();
+		}
+		
+	}
+
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableBuilder.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableBuilder.java b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableBuilder.java
index 0532dc9..a0c5af1 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableBuilder.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableBuilder.java
@@ -1,135 +1,135 @@
-/*
- * 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.propertytable.impl;
-
-import java.io.InputStream ;
-import java.util.ArrayList ;
-import java.util.Iterator ;
-import java.util.List ;
-
-import org.apache.jena.atlas.csv.CSVParser ;
-import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.propertytable.PropertyTable ;
-import org.apache.jena.propertytable.Row ;
-import org.apache.jena.propertytable.lang.LangCSV ;
-import org.apache.jena.riot.system.IRIResolver ;
-
-
-/**
- * A tool for constructing PropertyTable from a file (e.g., a CSV file).
- * 
- *
- */
-public class PropertyTableBuilder {
-	
-	public static Node CSV_ROW_NODE = NodeFactory.createURI(LangCSV.CSV_ROW);
-	
-	public static PropertyTable buildPropetyTableHashMapImplFromCsv(String csvFilePath) {		
-		PropertyTable table = new PropertyTableHashMapImpl();
-		return fillPropertyTable(table, csvFilePath);
-	}
-	
-	public static PropertyTable buildPropetyTableArrayImplFromCsv(String csvFilePath) {
-		PropertyTable table = createEmptyPropertyTableArrayImpl(csvFilePath);
-		return fillPropertyTable(table, csvFilePath);
-	}
-	
-	private static PropertyTable createEmptyPropertyTableArrayImpl (String csvFilePath) {
-		CSVParser parser = CSVParser.create(csvFilePath);
-		List<String> rowLine = null;
-		int rowNum = 0;
-		int columnNum = 0;
-		
-		while ((rowLine = parser.parse1()) != null) {
-			if (rowNum == 0) {
-				columnNum = rowLine.size();
-			}
-			rowNum++;
-		}
-		if (rowNum!=0 && columnNum!=0){
-			return new PropertyTableArrayImpl(rowNum, columnNum+1);
-		} else {
-			return null;
-		}
-	}
-
-	protected static PropertyTable fillPropertyTable(PropertyTable table, String csvFilePath ){
-		InputStream input = IO.openFile(csvFilePath) ;
-		CSVParser iterator = CSVParser.create(input) ;
-		return fillPropertyTable(table, iterator, csvFilePath);
-	}
-	
-	protected static PropertyTable fillPropertyTable(PropertyTable table, CSVParser parser, String csvFilePath){
-		if (table == null){
-			return null;
-		}
-		ArrayList<Node> predicates = new ArrayList<Node>();
-		int rowNum = 0;
-		
-		Iterator<List<String>> iter = parser.iterator() ;
-		if ( ! iter.hasNext() )
-		    return table ;
-		List<String> row1 = iter.next() ;
-		table.createColumn(CSV_ROW_NODE);
-        for (String column : row1) {
-            String uri = createColumnKeyURI(csvFilePath, column);
-            Node p = NodeFactory.createURI(uri);
-            predicates.add(p);
-            table.createColumn(p);
-        }
-        
-        rowNum++ ;
-        while(iter.hasNext()) {
-            List<String> rowLine = iter.next();
-            Node subject = LangCSV.caculateSubject(rowNum, csvFilePath);
-            Row row = table.createRow(subject);
-
-            row.setValue(table.getColumn(CSV_ROW_NODE), 
-                         NodeFactory.createLiteral((rowNum + ""), XSDDatatype.XSDinteger));
-
-            for (int col = 0; col < rowLine.size() && col<predicates.size(); col++) {
-
-                String columnValue = rowLine.get(col).trim();
-                if("".equals(columnValue)){
-                    continue;
-                }
-                Node o;
-                try {
-                    // Try for a double.
-                    double d = Double.parseDouble(columnValue);
-                    o = NodeFactory.createLiteral(columnValue,
-                                                  XSDDatatype.XSDdouble);
-                } catch (Exception e) {
-                    o = NodeFactory.createLiteral(columnValue);
-                }
-                row.setValue(table.getColumn(predicates.get(col)), o);
-            }
-            rowNum++ ;
-        }
-        return table;
-	}
-	
-	protected static String createColumnKeyURI(String csvFilePath, String column){
-		String uri = IRIResolver.resolveString(csvFilePath) + "#" + LangCSV.toSafeLocalname(column);
-		return uri;
-	}
-}
+/*
+ * 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.propertytable.impl;
+
+import java.io.InputStream ;
+import java.util.ArrayList ;
+import java.util.Iterator ;
+import java.util.List ;
+
+import org.apache.jena.atlas.csv.CSVParser ;
+import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.propertytable.PropertyTable ;
+import org.apache.jena.propertytable.Row ;
+import org.apache.jena.propertytable.lang.LangCSV ;
+import org.apache.jena.riot.system.IRIResolver ;
+
+
+/**
+ * A tool for constructing PropertyTable from a file (e.g., a CSV file).
+ * 
+ *
+ */
+public class PropertyTableBuilder {
+	
+	public static Node CSV_ROW_NODE = NodeFactory.createURI(LangCSV.CSV_ROW);
+	
+	public static PropertyTable buildPropetyTableHashMapImplFromCsv(String csvFilePath) {		
+		PropertyTable table = new PropertyTableHashMapImpl();
+		return fillPropertyTable(table, csvFilePath);
+	}
+	
+	public static PropertyTable buildPropetyTableArrayImplFromCsv(String csvFilePath) {
+		PropertyTable table = createEmptyPropertyTableArrayImpl(csvFilePath);
+		return fillPropertyTable(table, csvFilePath);
+	}
+	
+	private static PropertyTable createEmptyPropertyTableArrayImpl (String csvFilePath) {
+		CSVParser parser = CSVParser.create(csvFilePath);
+		List<String> rowLine = null;
+		int rowNum = 0;
+		int columnNum = 0;
+		
+		while ((rowLine = parser.parse1()) != null) {
+			if (rowNum == 0) {
+				columnNum = rowLine.size();
+			}
+			rowNum++;
+		}
+		if (rowNum!=0 && columnNum!=0){
+			return new PropertyTableArrayImpl(rowNum, columnNum+1);
+		} else {
+			return null;
+		}
+	}
+
+	protected static PropertyTable fillPropertyTable(PropertyTable table, String csvFilePath ){
+		InputStream input = IO.openFile(csvFilePath) ;
+		CSVParser iterator = CSVParser.create(input) ;
+		return fillPropertyTable(table, iterator, csvFilePath);
+	}
+	
+	protected static PropertyTable fillPropertyTable(PropertyTable table, CSVParser parser, String csvFilePath){
+		if (table == null){
+			return null;
+		}
+		ArrayList<Node> predicates = new ArrayList<Node>();
+		int rowNum = 0;
+		
+		Iterator<List<String>> iter = parser.iterator() ;
+		if ( ! iter.hasNext() )
+		    return table ;
+		List<String> row1 = iter.next() ;
+		table.createColumn(CSV_ROW_NODE);
+        for (String column : row1) {
+            String uri = createColumnKeyURI(csvFilePath, column);
+            Node p = NodeFactory.createURI(uri);
+            predicates.add(p);
+            table.createColumn(p);
+        }
+        
+        rowNum++ ;
+        while(iter.hasNext()) {
+            List<String> rowLine = iter.next();
+            Node subject = LangCSV.caculateSubject(rowNum, csvFilePath);
+            Row row = table.createRow(subject);
+
+            row.setValue(table.getColumn(CSV_ROW_NODE), 
+                         NodeFactory.createLiteral((rowNum + ""), XSDDatatype.XSDinteger));
+
+            for (int col = 0; col < rowLine.size() && col<predicates.size(); col++) {
+
+                String columnValue = rowLine.get(col).trim();
+                if("".equals(columnValue)){
+                    continue;
+                }
+                Node o;
+                try {
+                    // Try for a double.
+                    double d = Double.parseDouble(columnValue);
+                    o = NodeFactory.createLiteral(columnValue,
+                                                  XSDDatatype.XSDdouble);
+                } catch (Exception e) {
+                    o = NodeFactory.createLiteral(columnValue);
+                }
+                row.setValue(table.getColumn(predicates.get(col)), o);
+            }
+            rowNum++ ;
+        }
+        return table;
+	}
+	
+	protected static String createColumnKeyURI(String csvFilePath, String column){
+		String uri = IRIResolver.resolveString(csvFilePath) + "#" + LangCSV.toSafeLocalname(column);
+		return uri;
+	}
+}


[31/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/owl/list-syntax/test-proptypes.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/owl/list-syntax/test-proptypes.rdf b/jena-core/testing/ontology/owl/list-syntax/test-proptypes.rdf
index 81c009b..102ec46 100644
--- a/jena-core/testing/ontology/owl/list-syntax/test-proptypes.rdf
+++ b/jena-core/testing/ontology/owl/list-syntax/test-proptypes.rdf
@@ -1,32 +1,32 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
-]>
-
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/testing/ontology#"
-  xml:base  ="http://jena.hpl.hp.com/testing/ontology"
->
-
-<owl:Ontology rdf:about="">
-	<owl:versionInfo>CVS $Id: test.rdf,v 1.1 2003/04/02 20:33:33 ian_dickinson Exp $</owl:versionInfo>
-</owl:Ontology>
-
-<owl:FunctionalProperty rdf:ID="fp">
-</owl:FunctionalProperty>
-
-<owl:TransitiveProperty rdf:ID="tp">
-</owl:TransitiveProperty>
-
-<owl:SymmetricProperty rdf:ID="sp">
-</owl:SymmetricProperty>
-
-<owl:InverseFunctionalProperty rdf:ID="ifp">
-</owl:InverseFunctionalProperty>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
+]>
+
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/testing/ontology#"
+  xml:base  ="http://jena.hpl.hp.com/testing/ontology"
+>
+
+<owl:Ontology rdf:about="">
+	<owl:versionInfo>CVS $Id: test.rdf,v 1.1 2003/04/02 20:33:33 ian_dickinson Exp $</owl:versionInfo>
+</owl:Ontology>
+
+<owl:FunctionalProperty rdf:ID="fp">
+</owl:FunctionalProperty>
+
+<owl:TransitiveProperty rdf:ID="tp">
+</owl:TransitiveProperty>
+
+<owl:SymmetricProperty rdf:ID="sp">
+</owl:SymmetricProperty>
+
+<owl:InverseFunctionalProperty rdf:ID="ifp">
+</owl:InverseFunctionalProperty>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/relativenames.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/relativenames.rdf b/jena-core/testing/ontology/relativenames.rdf
index c37038d..dfe86de 100644
--- a/jena-core/testing/ontology/relativenames.rdf
+++ b/jena-core/testing/ontology/relativenames.rdf
@@ -1,22 +1,22 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<!-- Note: no xml:base -->
-<!-- we pretend document is being served from http://jena.hpl.hp.com/testing/ontology/relativenames -->
-
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/testing/ontology/relativenames#"
->
-
-<owl:Class rdf:ID="A">
-</owl:Class>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<!-- Note: no xml:base -->
+<!-- we pretend document is being served from http://jena.hpl.hp.com/testing/ontology/relativenames -->
+
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/testing/ontology/relativenames#"
+>
+
+<owl:Class rdf:ID="A">
+</owl:Class>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport1/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport1/a.owl b/jena-core/testing/ontology/testImport1/a.owl
index 39a75d7..ff192b8 100644
--- a/jena-core/testing/ontology/testImport1/a.owl
+++ b/jena-core/testing/ontology/testImport1/a.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport1/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport1/readme b/jena-core/testing/ontology/testImport1/readme
index cdfaa78..897c9a9 100644
--- a/jena-core/testing/ontology/testImport1/readme
+++ b/jena-core/testing/ontology/testImport1/readme
@@ -1 +1 @@
-zero stages of import
+zero stages of import

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport2/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport2/a.owl b/jena-core/testing/ontology/testImport2/a.owl
index bd8f090..0e6fc25 100644
--- a/jena-core/testing/ontology/testImport2/a.owl
+++ b/jena-core/testing/ontology/testImport2/a.owl
@@ -1,15 +1,15 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport2/b.owl" />
-</owl:Ontology>
-
-<Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport2/b.owl" />
+</owl:Ontology>
+
+<Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport2/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport2/b.owl b/jena-core/testing/ontology/testImport2/b.owl
index db320a2..f6696ab 100644
--- a/jena-core/testing/ontology/testImport2/b.owl
+++ b/jena-core/testing/ontology/testImport2/b.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<Marker rdf:ID="b0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<Marker rdf:ID="b0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport2/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport2/readme b/jena-core/testing/ontology/testImport2/readme
index dd8fd17..86c0690 100644
--- a/jena-core/testing/ontology/testImport2/readme
+++ b/jena-core/testing/ontology/testImport2/readme
@@ -1 +1 @@
-one stage of imports
+one stage of imports

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport3/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport3/a.owl b/jena-core/testing/ontology/testImport3/a.owl
index be945bf..80a5d7a 100644
--- a/jena-core/testing/ontology/testImport3/a.owl
+++ b/jena-core/testing/ontology/testImport3/a.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport3/b.owl" />
-</owl:Ontology>
-
-<mark:Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport3/b.owl" />
+</owl:Ontology>
+
+<mark:Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport3/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport3/b.owl b/jena-core/testing/ontology/testImport3/b.owl
index d9dc27f..f72b216 100644
--- a/jena-core/testing/ontology/testImport3/b.owl
+++ b/jena-core/testing/ontology/testImport3/b.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport3/c.owl" />
-</owl:Ontology>
-
-<mark:Marker rdf:ID="b0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport3/c.owl" />
+</owl:Ontology>
+
+<mark:Marker rdf:ID="b0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport3/c.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport3/c.owl b/jena-core/testing/ontology/testImport3/c.owl
index f528bfe..fb48fe7 100644
--- a/jena-core/testing/ontology/testImport3/c.owl
+++ b/jena-core/testing/ontology/testImport3/c.owl
@@ -1,13 +1,13 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<mark:Marker rdf:ID="c0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns:mark="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<mark:Marker rdf:ID="c0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport3/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport3/readme b/jena-core/testing/ontology/testImport3/readme
index 0f7085f..afd524b 100644
--- a/jena-core/testing/ontology/testImport3/readme
+++ b/jena-core/testing/ontology/testImport3/readme
@@ -1 +1 @@
-two stages of imports
+two stages of imports

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport4/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport4/a.owl b/jena-core/testing/ontology/testImport4/a.owl
index b528c26..0251bfd 100644
--- a/jena-core/testing/ontology/testImport4/a.owl
+++ b/jena-core/testing/ontology/testImport4/a.owl
@@ -1,15 +1,15 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport4/b.owl" />
-</owl:Ontology>
-
-<Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport4/b.owl" />
+</owl:Ontology>
+
+<Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport4/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport4/b.owl b/jena-core/testing/ontology/testImport4/b.owl
index d21ea84..0a28a81 100644
--- a/jena-core/testing/ontology/testImport4/b.owl
+++ b/jena-core/testing/ontology/testImport4/b.owl
@@ -1,16 +1,16 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-    <!-- circularity -->
-    <owl:imports rdf:resource="file:testing/ontology/testImport4/a.owl" />
-</owl:Ontology>
-
-<Marker rdf:ID="b0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+    <!-- circularity -->
+    <owl:imports rdf:resource="file:testing/ontology/testImport4/a.owl" />
+</owl:Ontology>
+
+<Marker rdf:ID="b0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport4/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport4/readme b/jena-core/testing/ontology/testImport4/readme
index b73e4dc..9849482 100644
--- a/jena-core/testing/ontology/testImport4/readme
+++ b/jena-core/testing/ontology/testImport4/readme
@@ -1 +1 @@
-circular imports
+circular imports

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport5/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport5/a.owl b/jena-core/testing/ontology/testImport5/a.owl
index 007f8c2..fcf0956 100644
--- a/jena-core/testing/ontology/testImport5/a.owl
+++ b/jena-core/testing/ontology/testImport5/a.owl
@@ -1,15 +1,15 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="http://example.org/foo/bar/b.owl" />
-</owl:Ontology>
-
-<Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="http://example.org/foo/bar/b.owl" />
+</owl:Ontology>
+
+<Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport5/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport5/b.owl b/jena-core/testing/ontology/testImport5/b.owl
index db320a2..f6696ab 100644
--- a/jena-core/testing/ontology/testImport5/b.owl
+++ b/jena-core/testing/ontology/testImport5/b.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
-  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<Marker rdf:ID="b0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/2003/03/testont#"
+  xml:base  ="http://jena.hpl.hp.com/2003/03/testont"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<Marker rdf:ID="b0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport5/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport5/readme b/jena-core/testing/ontology/testImport5/readme
index 9cbbe50..b5fb4b5 100644
--- a/jena-core/testing/ontology/testImport5/readme
+++ b/jena-core/testing/ontology/testImport5/readme
@@ -1,2 +1,2 @@
-use of local alternative specified in config
-
+use of local alternative specified in config
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport6/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport6/a.owl b/jena-core/testing/ontology/testImport6/a.owl
index 53d8b4d..57d573d 100644
--- a/jena-core/testing/ontology/testImport6/a.owl
+++ b/jena-core/testing/ontology/testImport6/a.owl
@@ -1,16 +1,16 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
-  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport6/b.owl" />
-    <owl:imports rdf:resource="file:testing/ontology/testImport6/d.owl" />
-</owl:Ontology>
-
-<mark:Marker rdf:ID="a0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
+  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport6/b.owl" />
+    <owl:imports rdf:resource="file:testing/ontology/testImport6/d.owl" />
+</owl:Ontology>
+
+<mark:Marker rdf:ID="a0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport6/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport6/b.owl b/jena-core/testing/ontology/testImport6/b.owl
index f2064a6..a762119 100644
--- a/jena-core/testing/ontology/testImport6/b.owl
+++ b/jena-core/testing/ontology/testImport6/b.owl
@@ -1,15 +1,15 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
-  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport6/c.owl" />
-</owl:Ontology>
-
-<mark:Marker rdf:ID="b0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
+  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport6/c.owl" />
+</owl:Ontology>
+
+<mark:Marker rdf:ID="b0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport6/c.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport6/c.owl b/jena-core/testing/ontology/testImport6/c.owl
index 25b0f4f..880f02c 100644
--- a/jena-core/testing/ontology/testImport6/c.owl
+++ b/jena-core/testing/ontology/testImport6/c.owl
@@ -1,14 +1,14 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
-  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<mark:Marker rdf:ID="c0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
+  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<mark:Marker rdf:ID="c0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport6/d.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport6/d.owl b/jena-core/testing/ontology/testImport6/d.owl
index caa52f0..c3d44bf 100644
--- a/jena-core/testing/ontology/testImport6/d.owl
+++ b/jena-core/testing/ontology/testImport6/d.owl
@@ -1,15 +1,15 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
-  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport6/c.owl" />
-</owl:Ontology>
-
-<mark:Marker rdf:ID="d0" />
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
+  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport6/c.owl" />
+</owl:Ontology>
+
+<mark:Marker rdf:ID="d0" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport6/readme
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport6/readme b/jena-core/testing/ontology/testImport6/readme
index 5676f74..f1feeb1 100644
--- a/jena-core/testing/ontology/testImport6/readme
+++ b/jena-core/testing/ontology/testImport6/readme
@@ -1,3 +1,3 @@
-imports graph a -> b -> c
-              a -> d -> c
-
+imports graph a -> b -> c
+              a -> d -> c
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport7/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport7/a.owl b/jena-core/testing/ontology/testImport7/a.owl
index ff8458d..92ddd70 100644
--- a/jena-core/testing/ontology/testImport7/a.owl
+++ b/jena-core/testing/ontology/testImport7/a.owl
@@ -1,11 +1,11 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
-  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
->
-
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns ="http://jena.hpl.hp.com/2003/03/testont"
+  xmlns:mark  ="http://jena.hpl.hp.com/2003/03/testont#"
+>
+
 <owl:Class rdf:about="#A">
 </owl:Class>
 
@@ -17,5 +17,5 @@
     <rdfs:subClassOf rdf:resource="#B" />
 </owl:Class>
 
-
-</rdf:RDF>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport8/a.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport8/a.owl b/jena-core/testing/ontology/testImport8/a.owl
index 231ea3f..35a7f66 100644
--- a/jena-core/testing/ontology/testImport8/a.owl
+++ b/jena-core/testing/ontology/testImport8/a.owl
@@ -1,25 +1,25 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://incubator.apache.org/jena/2011/10/testont/a#"
-  xml:base  ="http://incubator.apache.org/jena/2011/10/testont/a"
->
-
-<owl:Ontology rdf:about="">
-    <owl:imports rdf:resource="file:testing/ontology/testImport8/b.owl" />
-</owl:Ontology>
-
-<owl:Class rdf:ID="A">
-    <owl:intersectionOf rdf:parseType="Collection">
-        <rdf:Description rdf:ID="x0" />
-        <rdf:Description rdf:ID="x1" />
-    </owl:intersectionOf>
-</owl:Class>
-
-<owl:Property rdf:ID="p">
-  <rdfs:domain rdf:resource="#x0" />
-  <rdfs:domain rdf:resource="#x1" />
-</owl:Property>
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://incubator.apache.org/jena/2011/10/testont/a#"
+  xml:base  ="http://incubator.apache.org/jena/2011/10/testont/a"
+>
+
+<owl:Ontology rdf:about="">
+    <owl:imports rdf:resource="file:testing/ontology/testImport8/b.owl" />
+</owl:Ontology>
+
+<owl:Class rdf:ID="A">
+    <owl:intersectionOf rdf:parseType="Collection">
+        <rdf:Description rdf:ID="x0" />
+        <rdf:Description rdf:ID="x1" />
+    </owl:intersectionOf>
+</owl:Class>
+
+<owl:Property rdf:ID="p">
+  <rdfs:domain rdf:resource="#x0" />
+  <rdfs:domain rdf:resource="#x1" />
+</owl:Property>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/testImport8/b.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/testImport8/b.owl b/jena-core/testing/ontology/testImport8/b.owl
index 547b19f..dad8a8f 100644
--- a/jena-core/testing/ontology/testImport8/b.owl
+++ b/jena-core/testing/ontology/testImport8/b.owl
@@ -1,19 +1,19 @@
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://incubator.apache.org/jena/2011/10/testont/b#"
-  xml:base  ="http://incubator.apache.org/jena/2011/10/testont/b"
->
-
-<owl:Ontology rdf:about="">
-</owl:Ontology>
-
-<owl:Class rdf:ID="B">
-    <owl:intersectionOf rdf:parseType="Collection">
-        <rdf:Description rdf:ID="y0" />
-        <rdf:Description rdf:ID="y1" />
-    </owl:intersectionOf>
-</owl:Class>
-
-</rdf:RDF>
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://incubator.apache.org/jena/2011/10/testont/b#"
+  xml:base  ="http://incubator.apache.org/jena/2011/10/testont/b"
+>
+
+<owl:Ontology rdf:about="">
+</owl:Ontology>
+
+<owl:Class rdf:ID="B">
+    <owl:intersectionOf rdf:parseType="Collection">
+        <rdf:Description rdf:ID="y0" />
+        <rdf:Description rdf:ID="y1" />
+    </owl:intersectionOf>
+</owl:Class>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/bugs/sbug.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/bugs/sbug.owl b/jena-core/testing/reasoners/bugs/sbug.owl
index f37ae99..61001a8 100644
--- a/jena-core/testing/reasoners/bugs/sbug.owl
+++ b/jena-core/testing/reasoners/bugs/sbug.owl
@@ -1,40 +1,40 @@
-<?xml version="1.0"?>
-<!DOCTYPE owl [
-     <!ENTITY rdf  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-     <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
-     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
-     <!ENTITY base  "http://jena.hpl.hp.com/test" >
-   ]>
-
-<rdf:RDF
-  xmlns:owl ="&owl;"
-  xmlns:rdf ="&rdf;"
-  xmlns:rdfs="&rdfs;"
-  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
-  xmlns     ="&base;#"
-  xml:base  ="&base;"
-    >
-    
-    
-<owl:Class rdf:ID="Topic">
-  <rdfs:subClassOf rdf:resource="&owl;Class"/>
-  <rdfs:subClassOf>
-   <owl:Restriction>
-      <owl:onProperty rdf:resource="#CreatedBy"/>
-      <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
-    </owl:Restriction>
-  </rdfs:subClassOf>
-</owl:Class>
-
-<owl:ObjectProperty rdf:ID="CreatedBy">
-<rdfs:domain rdf:resource="#Topic"/>
-<rdfs:range rdf:resource="#InformationPrincipal"/>
-</owl:ObjectProperty>
-
-<owl:DatatypeProperty rdf:ID="hasCreationDate">
-<rdfs:domain rdf:resource="#InformationFragment"/>
-<rdfs:range rdf:resource="&xsd;dateTime"/>
-</owl:DatatypeProperty>
-   
-</rdf:RDF>
+<?xml version="1.0"?>
+<!DOCTYPE owl [
+     <!ENTITY rdf  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+     <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
+     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
+     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
+     <!ENTITY base  "http://jena.hpl.hp.com/test" >
+   ]>
+
+<rdf:RDF
+  xmlns:owl ="&owl;"
+  xmlns:rdf ="&rdf;"
+  xmlns:rdfs="&rdfs;"
+  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
+  xmlns     ="&base;#"
+  xml:base  ="&base;"
+    >
+    
+    
+<owl:Class rdf:ID="Topic">
+  <rdfs:subClassOf rdf:resource="&owl;Class"/>
+  <rdfs:subClassOf>
+   <owl:Restriction>
+      <owl:onProperty rdf:resource="#CreatedBy"/>
+      <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+    </owl:Restriction>
+  </rdfs:subClassOf>
+</owl:Class>
+
+<owl:ObjectProperty rdf:ID="CreatedBy">
+<rdfs:domain rdf:resource="#Topic"/>
+<rdfs:range rdf:resource="#InformationPrincipal"/>
+</owl:ObjectProperty>
+
+<owl:DatatypeProperty rdf:ID="hasCreationDate">
+<rdfs:domain rdf:resource="#InformationFragment"/>
+<rdfs:range rdf:resource="&xsd;dateTime"/>
+</owl:DatatypeProperty>
+   
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/bugs/sbug.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/bugs/sbug.rdf b/jena-core/testing/reasoners/bugs/sbug.rdf
index 62ce491..d5d0b10 100644
--- a/jena-core/testing/reasoners/bugs/sbug.rdf
+++ b/jena-core/testing/reasoners/bugs/sbug.rdf
@@ -1,25 +1,25 @@
-<?xml version="1.0"?>
-<!DOCTYPE owl [
-     <!ENTITY rdf  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-     <!ENTITY rdfs  "http://www.w3.org/2000/01/rdf-schema#" >
-     <!ENTITY base  "http://jena.hpl.hp.com/test" >
-     <!ENTITY clavin  "http://jena.hpl.hp.com/test" >
-     <!ENTITY abc  "http://jena.hpl.hp.com/test" >
-   ]>
-
-<rdf:RDF
-  xmlns     ="&base;#"
-  xml:base  ="&base;"
-  xmlns:rdf ="&rdf;"
-  xmlns:rdfs="&rdfs;"
-  xmlns:clavin="&base;#"
->
-
-<rdf:Description rdf:about="jason6">
-<rdf:type rdf:resource="&clavin;Topic"/>
-<clavin:CreatedBy>jason</clavin:CreatedBy>
-<clavin:CreatedBy>jason2</clavin:CreatedBy>
-<clavin:hasCreationDate>2000-03-04T20:00:00Z</clavin:hasCreationDate>
-</rdf:Description>
-
+<?xml version="1.0"?>
+<!DOCTYPE owl [
+     <!ENTITY rdf  "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+     <!ENTITY rdfs  "http://www.w3.org/2000/01/rdf-schema#" >
+     <!ENTITY base  "http://jena.hpl.hp.com/test" >
+     <!ENTITY clavin  "http://jena.hpl.hp.com/test" >
+     <!ENTITY abc  "http://jena.hpl.hp.com/test" >
+   ]>
+
+<rdf:RDF
+  xmlns     ="&base;#"
+  xml:base  ="&base;"
+  xmlns:rdf ="&rdf;"
+  xmlns:rdfs="&rdfs;"
+  xmlns:clavin="&base;#"
+>
+
+<rdf:Description rdf:about="jason6">
+<rdf:type rdf:resource="&clavin;Topic"/>
+<clavin:CreatedBy>jason</clavin:CreatedBy>
+<clavin:CreatedBy>jason2</clavin:CreatedBy>
+<clavin:hasCreationDate>2000-03-04T20:00:00Z</clavin:hasCreationDate>
+</rdf:Description>
+
 </rdf:RDF>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/bugs/userDatatypes.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/bugs/userDatatypes.owl b/jena-core/testing/reasoners/bugs/userDatatypes.owl
index 0de3da9..b7d735c 100644
--- a/jena-core/testing/reasoners/bugs/userDatatypes.owl
+++ b/jena-core/testing/reasoners/bugs/userDatatypes.owl
@@ -1,49 +1,49 @@
-<rdf:RDF
-    xmlns:eg="http://jena.hpl.hp.com/eg#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-    xmlns:dt="http://www.daml.org/2001/03/daml+oil-ex-dt#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#">
-    
-  <rdfs:Datatype rdf:about="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"/>
-  
-  <owl:Class rdf:about="http://jena.hpl.hp.com/eg#Test">
-    <owl:equivalentClass>
-      <owl:Restriction>
-        <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#decimal"/>
-        <owl:onProperty>
-          <owl:DatatypeProperty rdf:about="http://jena.hpl.hp.com/eg#hasValue"/>
-        </owl:onProperty>
-      </owl:Restriction>
-    </owl:equivalentClass>
-  </owl:Class>
-  
-  <owl:Class rdf:about="http://jena.hpl.hp.com/eg#Test2">
-    <owl:equivalentClass>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://jena.hpl.hp.com/eg#hasValue"/>
-        <owl:someValuesFrom rdf:resource="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"/>
-      </owl:Restriction>
-    </owl:equivalentClass>
-  </owl:Class>
-
-  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me2">
-    <eg:hasValue rdf:datatype="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"
-    >42</eg:hasValue>
-  </rdf:Description>
-
-<!--  
-  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me2">
-    <eg:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
-    >42</eg:hasValue>
-  </rdf:Description>
--->
-  
-  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me">
-    <eg:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
-    >42</eg:hasValue>
-  </rdf:Description>
-  
-</rdf:RDF>
-
+<rdf:RDF
+    xmlns:eg="http://jena.hpl.hp.com/eg#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+    xmlns:dt="http://www.daml.org/2001/03/daml+oil-ex-dt#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#">
+    
+  <rdfs:Datatype rdf:about="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"/>
+  
+  <owl:Class rdf:about="http://jena.hpl.hp.com/eg#Test">
+    <owl:equivalentClass>
+      <owl:Restriction>
+        <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#decimal"/>
+        <owl:onProperty>
+          <owl:DatatypeProperty rdf:about="http://jena.hpl.hp.com/eg#hasValue"/>
+        </owl:onProperty>
+      </owl:Restriction>
+    </owl:equivalentClass>
+  </owl:Class>
+  
+  <owl:Class rdf:about="http://jena.hpl.hp.com/eg#Test2">
+    <owl:equivalentClass>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://jena.hpl.hp.com/eg#hasValue"/>
+        <owl:someValuesFrom rdf:resource="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"/>
+      </owl:Restriction>
+    </owl:equivalentClass>
+  </owl:Class>
+
+  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me2">
+    <eg:hasValue rdf:datatype="http://www.daml.org/2001/03/daml+oil-ex-dt#over12"
+    >42</eg:hasValue>
+  </rdf:Description>
+
+<!--  
+  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me2">
+    <eg:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
+    >42</eg:hasValue>
+  </rdf:Description>
+-->
+  
+  <rdf:Description rdf:about="http://jena.hpl.hp.com/eg#me">
+    <eg:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
+    >42</eg:hasValue>
+  </rdf:Description>
+  
+</rdf:RDF>
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/include.rules
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/include.rules b/jena-core/testing/reasoners/include.rules
index 5cfe69c..af90a5a 100644
--- a/jena-core/testing/reasoners/include.rules
+++ b/jena-core/testing/reasoners/include.rules
@@ -1,5 +1,5 @@
-// Define an axiomatic rule to include in the rule parser test
-
-@prefix p: <http://jena.hpl.hp.com/newprefix3#>
-
--> (p:a p:a p:a).
+// Define an axiomatic rule to include in the rule parser test
+
+@prefix p: <http://jena.hpl.hp.com/newprefix3#>
+
+-> (p:a p:a p:a).

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/owl/inconsistent7.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/owl/inconsistent7.rdf b/jena-core/testing/reasoners/owl/inconsistent7.rdf
index 15706b5..40ab708 100644
--- a/jena-core/testing/reasoners/owl/inconsistent7.rdf
+++ b/jena-core/testing/reasoners/owl/inconsistent7.rdf
@@ -1,29 +1,29 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
-]>
-
-<!--
-	Two distinct literal values for a functional property, via a sameAs
-  -->
-
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/testing/reasoners/owl#"
-  xml:base  ="http://jena.hpl.hp.com/testing/reasoners/owl"
->
-
-    <A rdf:ID="ia">
-    	<dfp rdf:datatype="&xsd;int">3</dfp>
-    </A>
-	
-    <A rdf:ID="ib">
-    	<dfp rdf:datatype="&xsd;int">-1</dfp>
-    	<owl:sameAs rdf:resource="#ia" />
-    </A>
-	
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
+]>
+
+<!--
+	Two distinct literal values for a functional property, via a sameAs
+  -->
+
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/testing/reasoners/owl#"
+  xml:base  ="http://jena.hpl.hp.com/testing/reasoners/owl"
+>
+
+    <A rdf:ID="ia">
+    	<dfp rdf:datatype="&xsd;int">3</dfp>
+    </A>
+	
+    <A rdf:ID="ib">
+    	<dfp rdf:datatype="&xsd;int">-1</dfp>
+    	<owl:sameAs rdf:resource="#ia" />
+    </A>
+	
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/owl/nondetbug.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/owl/nondetbug.rdf b/jena-core/testing/reasoners/owl/nondetbug.rdf
index 33ce19f..a4a677d 100644
--- a/jena-core/testing/reasoners/owl/nondetbug.rdf
+++ b/jena-core/testing/reasoners/owl/nondetbug.rdf
@@ -1,32 +1,32 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
-]>
-
-<rdf:RDF
-  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
-  xmlns:owl ="http://www.w3.org/2002/07/owl#"
-  xmlns     ="http://jena.hpl.hp.com/testing/reasoners/owl#"
-  xml:base  ="http://jena.hpl.hp.com/testing/reasoners/owl"
->
-	<owl:Class rdf:ID="A">
-
-        <owl:disjointWith>
-           <rdf:Description rdf:about="#B"/>
-        </owl:disjointWith>
-
-	</owl:Class>
-	
-	<owl:Class rdf:ID="B" >
-	</owl:Class>
-
-    <A rdf:ID="ia">
-    </A>
-    
-    <B rdf:about="#ia" />
-        
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
+]>
+
+<rdf:RDF
+  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:dc  ="http://purl.org/dc/elements/1.1/"
+  xmlns:owl ="http://www.w3.org/2002/07/owl#"
+  xmlns     ="http://jena.hpl.hp.com/testing/reasoners/owl#"
+  xml:base  ="http://jena.hpl.hp.com/testing/reasoners/owl"
+>
+	<owl:Class rdf:ID="A">
+
+        <owl:disjointWith>
+           <rdf:Description rdf:about="#B"/>
+        </owl:disjointWith>
+
+	</owl:Class>
+	
+	<owl:Class rdf:ID="B" >
+	</owl:Class>
+
+    <A rdf:ID="ia">
+    </A>
+    
+    <B rdf:about="#ia" />
+        
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/owl/nondetbug.rules
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/owl/nondetbug.rules b/jena-core/testing/reasoners/owl/nondetbug.rules
index 8fabf5a..fd38aee 100644
--- a/jena-core/testing/reasoners/owl/nondetbug.rules
+++ b/jena-core/testing/reasoners/owl/nondetbug.rules
@@ -1,20 +1,20 @@
-#------------------------------------------------------------------
-# Tracking down non-deterministic bug.
-#
-# $Id: owl-fb.rules,v 1.45 2004/03/02 13:38:53 der Exp $
-#------------------------------------------------------------------
-
--> table(rdf:type).
-
-[rdfs9-alt:  (?a rdf:type ?y) <- (?a rdf:type ?x) (?x rdfs:subClassOf ?y) ] 
-
-[distinct1: (?X owl:differentFrom ?Y) <- 
-    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
-
-[validationIndiv0: (?X rb:violation 'dummy1') 
-				<- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y) ]
-				
-[validationIndiv: (?I rb:violation 'found')
-				<- (?I rdf:type http://jena.hpl.hp.com/testing/reasoners/owl#A), 
-				   (?I rdf:type http://jena.hpl.hp.com/testing/reasoners/owl#B)]
+#------------------------------------------------------------------
+# Tracking down non-deterministic bug.
+#
+# $Id: owl-fb.rules,v 1.45 2004/03/02 13:38:53 der Exp $
+#------------------------------------------------------------------
+
+-> table(rdf:type).
+
+[rdfs9-alt:  (?a rdf:type ?y) <- (?a rdf:type ?x) (?x rdfs:subClassOf ?y) ] 
+
+[distinct1: (?X owl:differentFrom ?Y) <- 
+    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
+
+[validationIndiv0: (?X rb:violation 'dummy1') 
+				<- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y) ]
+				
+[validationIndiv: (?I rb:violation 'found')
+				<- (?I rdf:type http://jena.hpl.hp.com/testing/reasoners/owl#A), 
+				   (?I rdf:type http://jena.hpl.hp.com/testing/reasoners/owl#B)]
 				
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/data1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/data1.rdf b/jena-core/testing/reasoners/rdfs/data1.rdf
index f0fe82a..a43bf1b 100644
--- a/jena-core/testing/reasoners/rdfs/data1.rdf
+++ b/jena-core/testing/reasoners/rdfs/data1.rdf
@@ -1,18 +1,18 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <r rdf:resource="&eg;b"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <r rdf:resource="&eg;d"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <r rdf:resource="&eg;b"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <r rdf:resource="&eg;d"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/data2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/data2.rdf b/jena-core/testing/reasoners/rdfs/data2.rdf
index fe84c10..aba9be2 100644
--- a/jena-core/testing/reasoners/rdfs/data2.rdf
+++ b/jena-core/testing/reasoners/rdfs/data2.rdf
@@ -1,19 +1,19 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <fubar>Hello world</fubar>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <fubar>Hello world</fubar>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/data3.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/data3.rdf b/jena-core/testing/reasoners/rdfs/data3.rdf
index 356ad78..4f114f1 100644
--- a/jena-core/testing/reasoners/rdfs/data3.rdf
+++ b/jena-core/testing/reasoners/rdfs/data3.rdf
@@ -1,27 +1,27 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <fubar>Hello world</fubar>
-  </rdf:Description>
-
- 
-   <rdf:Description rdf:about="&eg;course">
-      <students>
-         <rdf:Bag>
-            <rdf:li rdf:resource="eg;Amy"/>
-            <rdf:li rdf:resource="eg;Tim"/>
-            <rdf:li rdf:resource="eg;John"/>
-         </rdf:Bag>
-      </students>
-   </rdf:Description>
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <fubar>Hello world</fubar>
+  </rdf:Description>
+
+ 
+   <rdf:Description rdf:about="&eg;course">
+      <students>
+         <rdf:Bag>
+            <rdf:li rdf:resource="eg;Amy"/>
+            <rdf:li rdf:resource="eg;Tim"/>
+            <rdf:li rdf:resource="eg;John"/>
+         </rdf:Bag>
+      </students>
+   </rdf:Description>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/dttest1.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/dttest1.nt b/jena-core/testing/reasoners/rdfs/dttest1.nt
index 8922b1a..693c571 100644
--- a/jena-core/testing/reasoners/rdfs/dttest1.nt
+++ b/jena-core/testing/reasoners/rdfs/dttest1.nt
@@ -1,2 +1,2 @@
-<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25" .
-<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .
+<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25" .
+<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/dttest2.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/dttest2.nt b/jena-core/testing/reasoners/rdfs/dttest2.nt
index ff3c232..91fe3eb 100644
--- a/jena-core/testing/reasoners/rdfs/dttest2.nt
+++ b/jena-core/testing/reasoners/rdfs/dttest2.nt
@@ -1,2 +1,2 @@
-<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25.5"^^<http://www.w3.org/2001/XMLSchema#decimal> .
-<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .
+<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25.5"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/dttest3.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/dttest3.nt b/jena-core/testing/reasoners/rdfs/dttest3.nt
index f822506..ce1331a 100644
--- a/jena-core/testing/reasoners/rdfs/dttest3.nt
+++ b/jena-core/testing/reasoners/rdfs/dttest3.nt
@@ -1,2 +1,2 @@
-<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25"^^<http://www.w3.org/2001/XMLSchema#decimal> .
-<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .
+<http://www.hpl.hp.com/semweb/2003/eg#foo> <http://www.hpl.hp.com/semweb/2003/eg#bar> "25"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://www.hpl.hp.com/semweb/2003/eg#bar> <http://www.w3.org/2000/01/rdf-schema#range> <http://www.w3.org/2001/XMLSchema#integer> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/manifest-nodirect.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/manifest-nodirect.rdf b/jena-core/testing/reasoners/rdfs/manifest-nodirect.rdf
index 9de273c..29d2d17 100644
--- a/jena-core/testing/reasoners/rdfs/manifest-nodirect.rdf
+++ b/jena-core/testing/reasoners/rdfs/manifest-nodirect.rdf
@@ -1,175 +1,175 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
-
-  <Test rdf:about="test1">
-    <description>RDFS reasoner: range test, wildcard</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data1.rdf</data>
-    <query>rdfs/query-res.nt</query>
-    <result>rdfs/result1.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test2">
-    <description>RDFS reasoner: range test, ground</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data1.rdf</data>
-    <query>rdfs/query2.nt</query>
-    <result>rdfs/result2.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test3">
-    <description>RDFS reasoner: simple subProp case, wildcard</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query3.nt</query>
-    <result>rdfs/result3.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test4">
-    <description>RDFS reasoner: simple subProp case, ground subject</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query4.nt</query>
-    <result>rdfs/result4.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test5">
-    <description>RDFS reasoner: simple subProp case, ground object</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query5.nt</query>
-    <result>rdfs/result4.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test6">
-    <description>RDFS reasoner: range test, ground, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query2.nt</query>
-    <result>rdfs/result2.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test7">
-    <description>RDFS reasoner: domain test, ground, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query7.nt</query>
-    <result>rdfs/result7.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test8">
-    <description>RDFS reasoner: domain test, wildcard, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query8.nt</query>
-    <result>rdfs/result8.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test9">
-    <description>RDFS reasoner: range test, ground, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query9.nt</query>
-    <result>rdfs/result9.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test10">
-    <description>RDFS reasoner: range test, wildcard, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query10.nt</query>
-    <result>rdfs/result10.rdf</result>
-  </Test>
-  
-  <Test rdf:about="test11">
-    <description>RDFS reasoner: wildcard type, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query11.nt</query>
-    <result>rdfs/result11.rdf</result>
-  </Test>
-
-  <Test rdf:about="test12">
-    <description>RDFS reasoner: list all Resources</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query12.nt</query>
-    <result>rdfs/result12.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test13">
-    <description>RDFS reasoner: list all Properties</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query13.nt</query>
-    <result>rdfs/result13.rdf</result>
-  </Test>
-
-  <Test rdf:about="test14">
-    <description>RDFS reasoner: ground case of type Resource test</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query14.nt</query>
-    <result>rdfs/result14.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test15">
-    <description>RDFS reasoner: ground case of type Property test</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query15.nt</query>
-    <result>rdfs/result15.rdf</result>
-  </Test>
-
-   
-  <Test rdf:about="test16">
-    <description>RDFS reasoner: enumerate all Classes</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query16.nt</query>
-    <result>rdfs/result16.rdf</result>
-  </Test>
-   
-<!-- skip for now   - rule reasoner doesn't support membership properties
-  <Test rdf:about="test17">
-    <description>RDFS reasoner: container property rules</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data3.rdf</data>
-    <query>rdfs/query17.nt</query>
-    <result>rdfs/result17.rdf</result>
-  </Test>
--->
-   
-  <Test rdf:about="test18">
-    <description>RDFS reasoner: wildcard predicate, ground subject in query</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query18.nt</query>
-    <result>rdfs/result18.rdf</result>
-  </Test>
-
-<!-- skip for now  - code works, test is wrong result19-nodirect needs to get a whole lot bigger 
-  <Test rdf:about="test19">
-    <description>RDFS reasoner: list everything</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query19.nt</query>
-    <result>rdfs/result19-nodirect.rdf</result>
-  </Test>
--->
-
-  <Test rdf:about="test20">
-    <description>RDFS reasoner: wildcard predicate, ground Class subject</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query20.nt</query>
-    <result>rdfs/result20-nodirect.rdf</result>
-  </Test>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
+
+  <Test rdf:about="test1">
+    <description>RDFS reasoner: range test, wildcard</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data1.rdf</data>
+    <query>rdfs/query-res.nt</query>
+    <result>rdfs/result1.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test2">
+    <description>RDFS reasoner: range test, ground</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data1.rdf</data>
+    <query>rdfs/query2.nt</query>
+    <result>rdfs/result2.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test3">
+    <description>RDFS reasoner: simple subProp case, wildcard</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query3.nt</query>
+    <result>rdfs/result3.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test4">
+    <description>RDFS reasoner: simple subProp case, ground subject</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query4.nt</query>
+    <result>rdfs/result4.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test5">
+    <description>RDFS reasoner: simple subProp case, ground object</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query5.nt</query>
+    <result>rdfs/result4.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test6">
+    <description>RDFS reasoner: range test, ground, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query2.nt</query>
+    <result>rdfs/result2.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test7">
+    <description>RDFS reasoner: domain test, ground, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query7.nt</query>
+    <result>rdfs/result7.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test8">
+    <description>RDFS reasoner: domain test, wildcard, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query8.nt</query>
+    <result>rdfs/result8.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test9">
+    <description>RDFS reasoner: range test, ground, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query9.nt</query>
+    <result>rdfs/result9.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test10">
+    <description>RDFS reasoner: range test, wildcard, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query10.nt</query>
+    <result>rdfs/result10.rdf</result>
+  </Test>
+  
+  <Test rdf:about="test11">
+    <description>RDFS reasoner: wildcard type, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query11.nt</query>
+    <result>rdfs/result11.rdf</result>
+  </Test>
+
+  <Test rdf:about="test12">
+    <description>RDFS reasoner: list all Resources</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query12.nt</query>
+    <result>rdfs/result12.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test13">
+    <description>RDFS reasoner: list all Properties</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query13.nt</query>
+    <result>rdfs/result13.rdf</result>
+  </Test>
+
+  <Test rdf:about="test14">
+    <description>RDFS reasoner: ground case of type Resource test</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query14.nt</query>
+    <result>rdfs/result14.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test15">
+    <description>RDFS reasoner: ground case of type Property test</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query15.nt</query>
+    <result>rdfs/result15.rdf</result>
+  </Test>
+
+   
+  <Test rdf:about="test16">
+    <description>RDFS reasoner: enumerate all Classes</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query16.nt</query>
+    <result>rdfs/result16.rdf</result>
+  </Test>
+   
+<!-- skip for now   - rule reasoner doesn't support membership properties
+  <Test rdf:about="test17">
+    <description>RDFS reasoner: container property rules</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data3.rdf</data>
+    <query>rdfs/query17.nt</query>
+    <result>rdfs/result17.rdf</result>
+  </Test>
+-->
+   
+  <Test rdf:about="test18">
+    <description>RDFS reasoner: wildcard predicate, ground subject in query</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query18.nt</query>
+    <result>rdfs/result18.rdf</result>
+  </Test>
+
+<!-- skip for now  - code works, test is wrong result19-nodirect needs to get a whole lot bigger 
+  <Test rdf:about="test19">
+    <description>RDFS reasoner: list everything</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query19.nt</query>
+    <result>rdfs/result19-nodirect.rdf</result>
+  </Test>
+-->
+
+  <Test rdf:about="test20">
+    <description>RDFS reasoner: wildcard predicate, ground Class subject</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query20.nt</query>
+    <result>rdfs/result20-nodirect.rdf</result>
+  </Test>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/manifest.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/manifest.rdf b/jena-core/testing/reasoners/rdfs/manifest.rdf
index 78930ea..a957af6 100644
--- a/jena-core/testing/reasoners/rdfs/manifest.rdf
+++ b/jena-core/testing/reasoners/rdfs/manifest.rdf
@@ -1,189 +1,189 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
-
-  <Test rdf:about="test1">
-    <description>RDFS reasoner: range test, wildcard</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data1.rdf</data>
-    <query>rdfs/query-res.nt</query>
-    <result>rdfs/result1.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test2">
-    <description>RDFS reasoner: range test, ground</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data1.rdf</data>
-    <query>rdfs/query2.nt</query>
-    <result>rdfs/result2.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test3">
-    <description>RDFS reasoner: simple subProp case, wildcard</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query3.nt</query>
-    <result>rdfs/result3.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test4">
-    <description>RDFS reasoner: simple subProp case, ground subject</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query4.nt</query>
-    <result>rdfs/result4.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test5">
-    <description>RDFS reasoner: simple subProp case, ground object</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query5.nt</query>
-    <result>rdfs/result4.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test6">
-    <description>RDFS reasoner: range test, ground, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query2.nt</query>
-    <result>rdfs/result2.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test7">
-    <description>RDFS reasoner: domain test, ground, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query7.nt</query>
-    <result>rdfs/result7.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test8">
-    <description>RDFS reasoner: domain test, wildcard, with subProp</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query8.nt</query>
-    <result>rdfs/result8.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test9">
-    <description>RDFS reasoner: range test, ground, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query9.nt</query>
-    <result>rdfs/result9.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test10">
-    <description>RDFS reasoner: range test, wildcard, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query10.nt</query>
-    <result>rdfs/result10.rdf</result>
-  </Test>
-  
-  <Test rdf:about="test11">
-    <description>RDFS reasoner: wildcard type, with subProp and subClass</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query11.nt</query>
-    <result>rdfs/result11.rdf</result>
-  </Test>
-
-  <Test rdf:about="test12">
-    <description>RDFS reasoner: list all Resources</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query12.nt</query>
-    <result>rdfs/result12.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test13">
-    <description>RDFS reasoner: list all Properties</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query13.nt</query>
-    <result>rdfs/result13.rdf</result>
-  </Test>
-
-  <Test rdf:about="test14">
-    <description>RDFS reasoner: ground case of type Resource test</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query14.nt</query>
-    <result>rdfs/result14.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test15">
-    <description>RDFS reasoner: ground case of type Property test</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query15.nt</query>
-    <result>rdfs/result15.rdf</result>
-  </Test>
-
-   
-  <Test rdf:about="test16">
-    <description>RDFS reasoner: enumerate all Classes</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query16.nt</query>
-    <result>rdfs/result16.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test17">
-    <description>RDFS reasoner: container property rules</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data3.rdf</data>
-    <query>rdfs/query17.nt</query>
-    <result>rdfs/result17.rdf</result>
-  </Test>
-   
-  <Test rdf:about="test18">
-    <description>RDFS reasoner: wildcard predicate, ground subject in query</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query18.nt</query>
-    <result>rdfs/result18.rdf</result>
-  </Test>
-   
-<!-- skip for now - test result set is wrong
-  <Test rdf:about="test19">
-    <description>RDFS reasoner: list everything</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query19.nt</query>
-    <result>rdfs/result19-nodirect.rdf</result>
-  </Test>
--->
-
-  <Test rdf:about="test20">
-    <description>RDFS reasoner: wildcard predicate, ground Class subject</description>
-    <tbox>rdfs/tbox1.rdf</tbox>
-    <data>rdfs/data2.rdf</data>
-    <query>rdfs/query20.nt</query>
-    <result>rdfs/result20-nodirect.rdf</result>
-  </Test>
-
-  <Test rdf:about="test21">
-    <description>RDFS reasoner - owl full axioms for domain  on empty model</description>
-    <tbox>rdfs/empty.rdf</tbox>
-    <data>rdfs/empty.rdf</data>
-    <query>rdfs/query21.nt</query>
-    <result>rdfs/result21.rdf</result>
-  </Test>
-
-  <Test rdf:about="test22">
-    <description>RDFS reasoner - owl full axioms for range on empty model</description>
-    <tbox>rdfs/empty.rdf</tbox>
-    <data>rdfs/empty.rdf</data>
-    <query>rdfs/query22.nt</query>
-    <result>rdfs/result22.rdf</result>
-  </Test>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
+
+  <Test rdf:about="test1">
+    <description>RDFS reasoner: range test, wildcard</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data1.rdf</data>
+    <query>rdfs/query-res.nt</query>
+    <result>rdfs/result1.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test2">
+    <description>RDFS reasoner: range test, ground</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data1.rdf</data>
+    <query>rdfs/query2.nt</query>
+    <result>rdfs/result2.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test3">
+    <description>RDFS reasoner: simple subProp case, wildcard</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query3.nt</query>
+    <result>rdfs/result3.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test4">
+    <description>RDFS reasoner: simple subProp case, ground subject</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query4.nt</query>
+    <result>rdfs/result4.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test5">
+    <description>RDFS reasoner: simple subProp case, ground object</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query5.nt</query>
+    <result>rdfs/result4.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test6">
+    <description>RDFS reasoner: range test, ground, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query2.nt</query>
+    <result>rdfs/result2.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test7">
+    <description>RDFS reasoner: domain test, ground, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query7.nt</query>
+    <result>rdfs/result7.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test8">
+    <description>RDFS reasoner: domain test, wildcard, with subProp</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query8.nt</query>
+    <result>rdfs/result8.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test9">
+    <description>RDFS reasoner: range test, ground, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query9.nt</query>
+    <result>rdfs/result9.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test10">
+    <description>RDFS reasoner: range test, wildcard, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query10.nt</query>
+    <result>rdfs/result10.rdf</result>
+  </Test>
+  
+  <Test rdf:about="test11">
+    <description>RDFS reasoner: wildcard type, with subProp and subClass</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query11.nt</query>
+    <result>rdfs/result11.rdf</result>
+  </Test>
+
+  <Test rdf:about="test12">
+    <description>RDFS reasoner: list all Resources</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query12.nt</query>
+    <result>rdfs/result12.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test13">
+    <description>RDFS reasoner: list all Properties</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query13.nt</query>
+    <result>rdfs/result13.rdf</result>
+  </Test>
+
+  <Test rdf:about="test14">
+    <description>RDFS reasoner: ground case of type Resource test</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query14.nt</query>
+    <result>rdfs/result14.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test15">
+    <description>RDFS reasoner: ground case of type Property test</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query15.nt</query>
+    <result>rdfs/result15.rdf</result>
+  </Test>
+
+   
+  <Test rdf:about="test16">
+    <description>RDFS reasoner: enumerate all Classes</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query16.nt</query>
+    <result>rdfs/result16.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test17">
+    <description>RDFS reasoner: container property rules</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data3.rdf</data>
+    <query>rdfs/query17.nt</query>
+    <result>rdfs/result17.rdf</result>
+  </Test>
+   
+  <Test rdf:about="test18">
+    <description>RDFS reasoner: wildcard predicate, ground subject in query</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query18.nt</query>
+    <result>rdfs/result18.rdf</result>
+  </Test>
+   
+<!-- skip for now - test result set is wrong
+  <Test rdf:about="test19">
+    <description>RDFS reasoner: list everything</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query19.nt</query>
+    <result>rdfs/result19-nodirect.rdf</result>
+  </Test>
+-->
+
+  <Test rdf:about="test20">
+    <description>RDFS reasoner: wildcard predicate, ground Class subject</description>
+    <tbox>rdfs/tbox1.rdf</tbox>
+    <data>rdfs/data2.rdf</data>
+    <query>rdfs/query20.nt</query>
+    <result>rdfs/result20-nodirect.rdf</result>
+  </Test>
+
+  <Test rdf:about="test21">
+    <description>RDFS reasoner - owl full axioms for domain  on empty model</description>
+    <tbox>rdfs/empty.rdf</tbox>
+    <data>rdfs/empty.rdf</data>
+    <query>rdfs/query21.nt</query>
+    <result>rdfs/result21.rdf</result>
+  </Test>
+
+  <Test rdf:about="test22">
+    <description>RDFS reasoner - owl full axioms for range on empty model</description>
+    <tbox>rdfs/empty.rdf</tbox>
+    <data>rdfs/empty.rdf</data>
+    <query>rdfs/query22.nt</query>
+    <result>rdfs/result22.rdf</result>
+  </Test>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query-res.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query-res.nt b/jena-core/testing/reasoners/rdfs/query-res.nt
index 6abdccd..36f3d04 100644
--- a/jena-core/testing/reasoners/rdfs/query-res.nt
+++ b/jena-core/testing/reasoners/rdfs/query-res.nt
@@ -1,4 +1,4 @@
-# Test query for rdfs reasoner
-# List (*,type,C1)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C1> .
+# Test query for rdfs reasoner
+# List (*,type,C1)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C1> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query10.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query10.nt b/jena-core/testing/reasoners/rdfs/query10.nt
index 2082f14..10a6eb8 100644
--- a/jena-core/testing/reasoners/rdfs/query10.nt
+++ b/jena-core/testing/reasoners/rdfs/query10.nt
@@ -1,3 +1,3 @@
-# List (b,type,*)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <var:x> .
+# List (b,type,*)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <var:x> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query11.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query11.nt b/jena-core/testing/reasoners/rdfs/query11.nt
index 5d41a99..8e3f576 100644
--- a/jena-core/testing/reasoners/rdfs/query11.nt
+++ b/jena-core/testing/reasoners/rdfs/query11.nt
@@ -1,3 +1,3 @@
-# List (*,type,*)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <var:y> .
+# List (*,type,*)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <var:y> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query12.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query12.nt b/jena-core/testing/reasoners/rdfs/query12.nt
index 9857119..8000100 100644
--- a/jena-core/testing/reasoners/rdfs/query12.nt
+++ b/jena-core/testing/reasoners/rdfs/query12.nt
@@ -1,3 +1,3 @@
-# List (*,type,Resource)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .
+# List (*,type,Resource)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query13.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query13.nt b/jena-core/testing/reasoners/rdfs/query13.nt
index 10fceb5..250d651 100644
--- a/jena-core/testing/reasoners/rdfs/query13.nt
+++ b/jena-core/testing/reasoners/rdfs/query13.nt
@@ -1,3 +1,3 @@
-# List (*,type,Property)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .
+# List (*,type,Property)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query14.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query14.nt b/jena-core/testing/reasoners/rdfs/query14.nt
index 1bb3e6e..cedb011 100644
--- a/jena-core/testing/reasoners/rdfs/query14.nt
+++ b/jena-core/testing/reasoners/rdfs/query14.nt
@@ -1,3 +1,3 @@
-# List (a,type,Resource)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .
+# List (a,type,Resource)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Resource> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query15.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query15.nt b/jena-core/testing/reasoners/rdfs/query15.nt
index 01517f0..6cb2618 100644
--- a/jena-core/testing/reasoners/rdfs/query15.nt
+++ b/jena-core/testing/reasoners/rdfs/query15.nt
@@ -1,3 +1,3 @@
-# List (p,type,Property)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .
+# List (p,type,Property)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query16.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query16.nt b/jena-core/testing/reasoners/rdfs/query16.nt
index 69f907a..95be21f 100644
--- a/jena-core/testing/reasoners/rdfs/query16.nt
+++ b/jena-core/testing/reasoners/rdfs/query16.nt
@@ -1,3 +1,3 @@
-# List (*,type,Class)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
+# List (*,type,Class)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query17.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query17.nt b/jena-core/testing/reasoners/rdfs/query17.nt
index f1f7cb8..f942844 100644
--- a/jena-core/testing/reasoners/rdfs/query17.nt
+++ b/jena-core/testing/reasoners/rdfs/query17.nt
@@ -1,5 +1,5 @@
-# List (*,type,ContainerMembershipProperty)
-#     + (*,subPropertyOf member)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty> .
-<var:y> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.w3.org/2000/01/rdf-schema#member> .
+# List (*,type,ContainerMembershipProperty)
+#     + (*,subPropertyOf member)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty> .
+<var:y> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.w3.org/2000/01/rdf-schema#member> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query18.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query18.nt b/jena-core/testing/reasoners/rdfs/query18.nt
index 9ce3c16..831a8d4 100644
--- a/jena-core/testing/reasoners/rdfs/query18.nt
+++ b/jena-core/testing/reasoners/rdfs/query18.nt
@@ -1,4 +1,4 @@
-# List (a, * , *)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#a> <var:x> <var:y> .
-
+# List (a, * , *)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#a> <var:x> <var:y> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query19.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query19.nt b/jena-core/testing/reasoners/rdfs/query19.nt
index 070add5..52b1939 100644
--- a/jena-core/testing/reasoners/rdfs/query19.nt
+++ b/jena-core/testing/reasoners/rdfs/query19.nt
@@ -1,5 +1,5 @@
-# List (*,*,*)
-####################################
-<var:x> <var:y> <var:z> .
-
-
+# List (*,*,*)
+####################################
+<var:x> <var:y> <var:z> .
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query2.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query2.nt b/jena-core/testing/reasoners/rdfs/query2.nt
index b236eaa..07fe471 100644
--- a/jena-core/testing/reasoners/rdfs/query2.nt
+++ b/jena-core/testing/reasoners/rdfs/query2.nt
@@ -1,4 +1,4 @@
-# List (b,type,C1)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C1> .
-
+# List (b,type,C1)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C1> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query20.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query20.nt b/jena-core/testing/reasoners/rdfs/query20.nt
index 79692b6..5798caf 100644
--- a/jena-core/testing/reasoners/rdfs/query20.nt
+++ b/jena-core/testing/reasoners/rdfs/query20.nt
@@ -1,4 +1,4 @@
-# List (C1, * , *)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#C1> <var:x> <var:y> .
-
+# List (C1, * , *)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#C1> <var:x> <var:y> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query21.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query21.nt b/jena-core/testing/reasoners/rdfs/query21.nt
index f476df1..4d78a19 100644
--- a/jena-core/testing/reasoners/rdfs/query21.nt
+++ b/jena-core/testing/reasoners/rdfs/query21.nt
@@ -1,3 +1,3 @@
-# List (*, rdfs:domain, *)
-####################################
-<var:x> <http://www.w3.org/2000/01/rdf-schema#domain> <var:y> .
+# List (*, rdfs:domain, *)
+####################################
+<var:x> <http://www.w3.org/2000/01/rdf-schema#domain> <var:y> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query22.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query22.nt b/jena-core/testing/reasoners/rdfs/query22.nt
index 11d21e2..2df0ca5 100644
--- a/jena-core/testing/reasoners/rdfs/query22.nt
+++ b/jena-core/testing/reasoners/rdfs/query22.nt
@@ -1,3 +1,3 @@
-# List (*, rdfs:range, *)
-####################################
-<var:x> <http://www.w3.org/2000/01/rdf-schema#range> <var:y> .
+# List (*, rdfs:range, *)
+####################################
+<var:x> <http://www.w3.org/2000/01/rdf-schema#range> <var:y> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query3.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query3.nt b/jena-core/testing/reasoners/rdfs/query3.nt
index 5133686..ec9be42 100644
--- a/jena-core/testing/reasoners/rdfs/query3.nt
+++ b/jena-core/testing/reasoners/rdfs/query3.nt
@@ -1,4 +1,4 @@
-# List (*, r, *)
-####################################
-<var:x> <http://www.hpl.hp.com/semweb/2003/eg#r> <var:y> .
-
+# List (*, r, *)
+####################################
+<var:x> <http://www.hpl.hp.com/semweb/2003/eg#r> <var:y> .
+


[25/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/LangCSV.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangCSV.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangCSV.java
index db1cf03..a5c9bfc 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangCSV.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangCSV.java
@@ -1,152 +1,152 @@
-/**
- * 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.lang;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.jena.atlas.csv.CSVParser;
-import org.apache.jena.atlas.lib.IRILib ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-import org.apache.jena.riot.system.ErrorHandler;
-import org.apache.jena.riot.system.IRIResolver;
-import org.apache.jena.riot.system.ParserProfile;
-import org.apache.jena.riot.system.RiotLib;
-import org.apache.jena.riot.system.StreamRDF;
-
-public class LangCSV implements LangRIOT {
-
-	public static final String CSV_PREFIX = "http://w3c/future-csv-vocab/";
-	public static final String CSV_ROW = CSV_PREFIX + "row";
-
-	private InputStream input = null;
-	private Reader reader = null;
-	private String base;
-	private String filename;
-	private StreamRDF sink;
-	private ParserProfile profile; // Warning - we don't use all of this.
-
-	@Override
-	public Lang getLang() {
-		return RDFLanguages.CSV;
-
-	}
-
-	@Override
-	public ParserProfile getProfile() {
-		return profile;
-	}
-
-	@Override
-	public void setProfile(ParserProfile profile) {
-		this.profile = profile;
-	}
-
-	public LangCSV(Reader reader, String base, String filename,
-			ErrorHandler errorHandler, StreamRDF sink) {
-		this.reader = reader;
-		this.base = base;
-		this.filename = filename;
-		this.sink = sink;
-		this.profile = RiotLib.profile(getLang(), base, errorHandler);
-	}
-
-	public LangCSV(InputStream in, String base, String filename,
-			ErrorHandler errorHandler, StreamRDF sink) {
-		this.input = in;
-		this.base = base;
-		this.filename = filename;
-		this.sink = sink;
-		this.profile = RiotLib.profile(getLang(), base, errorHandler);
-	}
-
-	@Override
-	public void parse() {
-		sink.start();
-		CSVParser parser = (input != null) ? CSVParser.create(input)
-				: CSVParser.create(reader);
-		ArrayList<Node> predicates = new ArrayList<Node>();
-		int rowNum = 0;
-		for (List<String> row : parser) {
-			
-			if (rowNum == 0) {
-				for (String column : row) {
-					String uri = IRIResolver.resolveString(filename) + "#"
-							+ toSafeLocalname(column);
-					Node predicate = this.profile.createURI(uri, rowNum, 0);
-					predicates.add(predicate);
-				}
-			} else {
-				//Node subject = this.profile.createBlankNode(null, -1, -1);
-				Node subject = caculateSubject(rowNum, filename);
-				Node predicateRow = this.profile.createURI(CSV_ROW, -1, -1);
-				Node objectRow = this.profile
-						.createTypedLiteral((rowNum + ""),
-								XSDDatatype.XSDinteger, rowNum, 0);
-				sink.triple(this.profile.createTriple(subject, predicateRow,
-						objectRow, rowNum, 0));
-				for (int col = 0; col < row.size() && col<predicates.size(); col++) {
-					Node predicate = predicates.get(col);
-					String columnValue = row.get(col).trim();
-					if("".equals(columnValue)){
-						continue;
-					}					
-					Node o;
-					try {
-						// Try for a double.
-						Double.parseDouble(columnValue);
-						o = NodeFactory.createLiteral(columnValue,
-								XSDDatatype.XSDdouble);
-					} catch (Exception e) {
-						o = NodeFactory.createLiteral(columnValue);
-					}
-					sink.triple(this.profile.createTriple(subject, predicate,
-							o, rowNum, col));
-				}
-
-			}
-			rowNum++;
-		}
-		sink.finish();
-
-	}
-
-	public static String toSafeLocalname(String raw) {
-		String ret = raw.trim();
-		return encodeURIComponent(ret);
-		
-	}
-	
-	public static String encodeURIComponent(String s) {
-	    return IRILib.encodeUriComponent(s);
-	}
-	
-	public static Node caculateSubject(int rowNum, String filename){
-		Node subject = NodeFactory.createBlankNode();
-//		String uri = IRIResolver.resolveString(filename) + "#Row_" + rowNum; 
-//		Node subject =  NodeFactory.createURI(uri);
-		return subject;
-	}
-}
+/**
+ * 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.lang;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.jena.atlas.csv.CSVParser;
+import org.apache.jena.atlas.lib.IRILib ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.riot.system.ErrorHandler;
+import org.apache.jena.riot.system.IRIResolver;
+import org.apache.jena.riot.system.ParserProfile;
+import org.apache.jena.riot.system.RiotLib;
+import org.apache.jena.riot.system.StreamRDF;
+
+public class LangCSV implements LangRIOT {
+
+	public static final String CSV_PREFIX = "http://w3c/future-csv-vocab/";
+	public static final String CSV_ROW = CSV_PREFIX + "row";
+
+	private InputStream input = null;
+	private Reader reader = null;
+	private String base;
+	private String filename;
+	private StreamRDF sink;
+	private ParserProfile profile; // Warning - we don't use all of this.
+
+	@Override
+	public Lang getLang() {
+		return RDFLanguages.CSV;
+
+	}
+
+	@Override
+	public ParserProfile getProfile() {
+		return profile;
+	}
+
+	@Override
+	public void setProfile(ParserProfile profile) {
+		this.profile = profile;
+	}
+
+	public LangCSV(Reader reader, String base, String filename,
+			ErrorHandler errorHandler, StreamRDF sink) {
+		this.reader = reader;
+		this.base = base;
+		this.filename = filename;
+		this.sink = sink;
+		this.profile = RiotLib.profile(getLang(), base, errorHandler);
+	}
+
+	public LangCSV(InputStream in, String base, String filename,
+			ErrorHandler errorHandler, StreamRDF sink) {
+		this.input = in;
+		this.base = base;
+		this.filename = filename;
+		this.sink = sink;
+		this.profile = RiotLib.profile(getLang(), base, errorHandler);
+	}
+
+	@Override
+	public void parse() {
+		sink.start();
+		CSVParser parser = (input != null) ? CSVParser.create(input)
+				: CSVParser.create(reader);
+		ArrayList<Node> predicates = new ArrayList<Node>();
+		int rowNum = 0;
+		for (List<String> row : parser) {
+			
+			if (rowNum == 0) {
+				for (String column : row) {
+					String uri = IRIResolver.resolveString(filename) + "#"
+							+ toSafeLocalname(column);
+					Node predicate = this.profile.createURI(uri, rowNum, 0);
+					predicates.add(predicate);
+				}
+			} else {
+				//Node subject = this.profile.createBlankNode(null, -1, -1);
+				Node subject = caculateSubject(rowNum, filename);
+				Node predicateRow = this.profile.createURI(CSV_ROW, -1, -1);
+				Node objectRow = this.profile
+						.createTypedLiteral((rowNum + ""),
+								XSDDatatype.XSDinteger, rowNum, 0);
+				sink.triple(this.profile.createTriple(subject, predicateRow,
+						objectRow, rowNum, 0));
+				for (int col = 0; col < row.size() && col<predicates.size(); col++) {
+					Node predicate = predicates.get(col);
+					String columnValue = row.get(col).trim();
+					if("".equals(columnValue)){
+						continue;
+					}					
+					Node o;
+					try {
+						// Try for a double.
+						Double.parseDouble(columnValue);
+						o = NodeFactory.createLiteral(columnValue,
+								XSDDatatype.XSDdouble);
+					} catch (Exception e) {
+						o = NodeFactory.createLiteral(columnValue);
+					}
+					sink.triple(this.profile.createTriple(subject, predicate,
+							o, rowNum, col));
+				}
+
+			}
+			rowNum++;
+		}
+		sink.finish();
+
+	}
+
+	public static String toSafeLocalname(String raw) {
+		String ret = raw.trim();
+		return encodeURIComponent(ret);
+		
+	}
+	
+	public static String encodeURIComponent(String s) {
+	    return IRILib.encodeUriComponent(s);
+	}
+	
+	public static Node caculateSubject(int rowNum, String filename){
+		Node subject = NodeFactory.createBlankNode();
+//		String uri = IRIResolver.resolveString(filename) + "#Row_" + rowNum; 
+//		Node subject =  NodeFactory.createURI(uri);
+		return subject;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedQuadsStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedQuadsStream.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedQuadsStream.java
index 5f9d6a6..ff9ba63 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedQuadsStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedQuadsStream.java
@@ -1,53 +1,53 @@
-/*
- * 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.lang ;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * Implementation of a producer class that sends Quads; must be connected to a {@code PipedRDFIterator<Quad>}. 
- */
-public class PipedQuadsStream extends PipedRDFStream<Quad> implements StreamRDF
-{
-    /**
-     * Creates a piped quads stream connected to the specified piped 
-     * RDF iterator.  Quads written to this stream will then be 
-     * available as input from <code>sink</code>.
-     *
-     * @param sink The piped RDF iterator to connect to.
-     */
-    public PipedQuadsStream(PipedRDFIterator<Quad> sink)
-    {
-        super(sink) ;
-    }
-
-    @Override
-    public void triple(Triple triple)
-    {
-        // Triples are discarded
-    }
-
-    @Override
-    public void quad(Quad quad)
-    {
-        receive(quad) ;
-    }
-}
+/*
+ * 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.lang ;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * Implementation of a producer class that sends Quads; must be connected to a {@code PipedRDFIterator<Quad>}. 
+ */
+public class PipedQuadsStream extends PipedRDFStream<Quad> implements StreamRDF
+{
+    /**
+     * Creates a piped quads stream connected to the specified piped 
+     * RDF iterator.  Quads written to this stream will then be 
+     * available as input from <code>sink</code>.
+     *
+     * @param sink The piped RDF iterator to connect to.
+     */
+    public PipedQuadsStream(PipedRDFIterator<Quad> sink)
+    {
+        super(sink) ;
+    }
+
+    @Override
+    public void triple(Triple triple)
+    {
+        // Triples are discarded
+    }
+
+    @Override
+    public void quad(Quad quad)
+    {
+        receive(quad) ;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFIterator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFIterator.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFIterator.java
index 3259b9d..a79ae6f 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFIterator.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFIterator.java
@@ -1,392 +1,392 @@
-/*
- * 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.lang;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.jena.atlas.lib.Closeable;
-import org.apache.jena.riot.RiotException;
-import org.apache.jena.riot.system.PrefixMap;
-import org.apache.jena.riot.system.PrefixMapFactory;
-
-/**
- * <p>
- * A {@code PipedRDFIterator} should be connected to a {@link PipedRDFStream}
- * implementation; the piped iterator then provides whatever RDF primitives are
- * written to the {@code PipedRDFStream}
- * </p>
- * <p>
- * Typically, data is read from a {@code PipedRDFIterator} by one thread (the
- * consumer) and data is written to the corresponding {@code PipedRDFStream} by
- * some other thread (the producer). Attempting to use both objects from a
- * single thread is not recommended, as it may deadlock the thread. The
- * {@code PipedRDFIterator} contains a buffer, decoupling read operations from
- * write operations, within limits.
- * </p>
- * <p>
- * Inspired by Java's {@link java.io.PipedInputStream} and
- * {@link java.io.PipedOutputStream}
- * </p>
- * 
- * @param <T>
- *            The type of the RDF primitive, should be one of {@code Triple},
- *            {@code Quad}, or {@code Tuple<Node>}
- * 
- * @see PipedTriplesStream
- * @see PipedQuadsStream
- * @see PipedTuplesStream
- */
-public class PipedRDFIterator<T> implements Iterator<T>, Closeable {
-    /**
-     * Constant for default buffer size
-     */
-    public static final int DEFAULT_BUFFER_SIZE = 10000;
-
-    /**
-     * Constant for default poll timeout in milliseconds, used to stop the
-     * consumer deadlocking in certain circumstances
-     */
-    public static final int DEFAULT_POLL_TIMEOUT = 1000; // one second
-    /**
-     * Constant for max number of failed poll attempts before the producer will
-     * be declared as dead
-     */
-    public static final int DEFAULT_MAX_POLLS = 10;
-
-    private final BlockingQueue<T> queue;
-
-    @SuppressWarnings("unchecked")
-    private final T endMarker = (T) new Object();
-
-    private volatile boolean closedByConsumer = false;
-    private volatile boolean closedByProducer = false;
-    private volatile boolean finished = false;
-    private volatile boolean threadReused = false;
-    private volatile Thread consumerThread;
-    private volatile Thread producerThread;
-
-    private boolean connected = false;
-    private int pollTimeout = DEFAULT_POLL_TIMEOUT;
-    private int maxPolls = DEFAULT_MAX_POLLS;
-
-    private T slot;
-
-    private final Object lock = new Object(); // protects baseIri and prefixes
-    private String baseIri;
-    private final PrefixMap prefixes = PrefixMapFactory.createForInput();
-
-    /**
-     * Creates a new piped RDF iterator with the default buffer size of
-     * {@code DEFAULT_BUFFER_SIZE}.
-     * <p>
-     * Buffer size must be chosen carefully in order to avoid performance
-     * problems, if you set the buffer size too low you will experience a lot of
-     * blocked calls so it will take longer to consume the data from the
-     * iterator. For best performance the buffer size should be at least 10% of
-     * the expected input size though you may need to tune this depending on how
-     * fast your consumer thread is.
-     * </p>
-     */
-    public PipedRDFIterator() {
-        this(DEFAULT_BUFFER_SIZE);
-    }
-
-    /**
-     * Creates a new piped RDF iterator
-     * <p>
-     * Buffer size must be chosen carefully in order to avoid performance
-     * problems, if you set the buffer size too low you will experience a lot of
-     * blocked calls so it will take longer to consume the data from the
-     * iterator. For best performance the buffer size should be roughly 10% of
-     * the expected input size though you may need to tune this depending on how
-     * fast your consumer thread is.
-     * </p>
-     * 
-     * @param bufferSize
-     *            Buffer size
-     */
-    public PipedRDFIterator(int bufferSize) {
-        this(bufferSize, false, DEFAULT_POLL_TIMEOUT, DEFAULT_MAX_POLLS);
-    }
-
-    /**
-     * Creates a new piped RDF iterator
-     * <p>
-     * Buffer size must be chosen carefully in order to avoid performance
-     * problems, if you set the buffer size too low you will experience a lot of
-     * blocked calls so it will take longer to consume the data from the
-     * iterator. For best performance the buffer size should be roughly 10% of
-     * the expected input size though you may need to tune this depending on how
-     * fast your consumer thread is.
-     * </p>
-     * <p>
-     * The fair parameter controls whether the locking policy used for the
-     * buffer is fair. When enabled this reduces throughput but also reduces the
-     * chance of thread starvation. This likely need only be set to {@code true}
-     * if there will be multiple consumers.
-     * </p>
-     * 
-     * @param bufferSize
-     *            Buffer size
-     * @param fair
-     *            Whether the buffer should use a fair locking policy
-     */
-    public PipedRDFIterator(int bufferSize, boolean fair) {
-        this(bufferSize, fair, DEFAULT_POLL_TIMEOUT, DEFAULT_MAX_POLLS);
-    }
-
-    /**
-     * Creates a new piped RDF iterator
-     * <p>
-     * Buffer size must be chosen carefully in order to avoid performance
-     * problems, if you set the buffer size too low you will experience a lot of
-     * blocked calls so it will take longer to consume the data from the
-     * iterator. For best performance the buffer size should be roughly 10% of
-     * the expected input size though you may need to tune this depending on how
-     * fast your consumer thread is.
-     * </p>
-     * <p>
-     * The {@code fair} parameter controls whether the locking policy used for
-     * the buffer is fair. When enabled this reduces throughput but also reduces
-     * the chance of thread starvation. This likely need only be set to
-     * {@code true} if there will be multiple consumers.
-     * </p>
-     * <p>
-     * The {@code pollTimeout} parameter controls how long each poll attempt
-     * waits for data to be produced. This prevents the consumer thread from
-     * blocking indefinitely and allows it to detect various potential deadlock
-     * conditions e.g. dead producer thread, another consumer closed the
-     * iterator etc. and errors out accordingly. It is unlikely that you will
-     * ever need to adjust this from the default value provided by
-     * {@link #DEFAULT_POLL_TIMEOUT}.
-     * </p>
-     * <p>
-     * The {@code maxPolls} parameter controls how many poll attempts will be
-     * made by a single consumer thread within the context of a single call to
-     * {@link #hasNext()} before the iterator declares the producer to be dead
-     * and errors out accordingly. You may need to adjust this if you have a
-     * slow producer thread or many consumer threads.
-     * </p>
-     * 
-     * @param bufferSize
-     *            Buffer size
-     * @param fair
-     *            Whether the buffer should use a fair locking policy
-     * @param pollTimeout
-     *            Poll timeout in milliseconds
-     * @param maxPolls
-     *            Max poll attempts
-     */
-    public PipedRDFIterator(int bufferSize, boolean fair, int pollTimeout, int maxPolls) {
-        if (pollTimeout <= 0)
-            throw new IllegalArgumentException("Poll Timeout must be > 0");
-        if (maxPolls <= 0)
-            throw new IllegalArgumentException("Max Poll attempts must be > 0");
-        this.queue = new ArrayBlockingQueue<>(bufferSize, fair);
-        this.pollTimeout = pollTimeout;
-        this.maxPolls = maxPolls;
-    }
-
-    @Override
-    public boolean hasNext() {
-        if (!connected)
-            throw new IllegalStateException("Pipe not connected");
-
-        if (closedByConsumer)
-            throw new RiotException("Pipe closed");
-
-        if (finished)
-            return false;
-
-        consumerThread = Thread.currentThread();
-
-        // Depending on how code and/or the JVM schedules the threads involved
-        // there is a scenario that exists where a producer can finish/die
-        // before theconsumer is started and the consumer is scheduled onto the
-        // same thread thus resulting in a deadlock on the consumer because it
-        // will never be able to detect that the producer died
-        // In this scenario we need to set a special flag to indicate the
-        // possibility
-        if (producerThread != null && producerThread == consumerThread)
-            threadReused = true;
-
-        if (slot != null)
-            return true;
-
-        int attempts = 0;
-        while (true) {
-            attempts++;
-            try {
-                slot = queue.poll(this.pollTimeout, TimeUnit.MILLISECONDS);
-            } catch (InterruptedException e) {
-                throw new CancellationException();
-            }
-
-            if (null != slot)
-                break;
-
-            // If the producer thread died and did not call finish() then
-            // declare this pipe to be "broken"
-            // Since check is after the break, we will drain as much as possible
-            // out of the queue before throwing this exception
-            if (threadReused || (producerThread != null && !producerThread.isAlive() && !closedByProducer)) {
-                closedByConsumer = true;
-                throw new RiotException("Producer dead");
-            }
-
-            // Need to check this inside the loop as otherwise outside code that
-            // attempts to break the deadlock by causing close() on the iterator
-            // cannot do so
-            if (closedByConsumer)
-                throw new RiotException("Pipe closed");
-
-            // Need to check whether polling attempts have been exceeded
-            // If so declare the producer dead and exit
-            if (attempts >= this.maxPolls) {
-                closedByConsumer = true;
-                if (producerThread != null) {
-                    throw new RiotException(
-                            "Producer failed to produce any data within the specified number of polling attempts, declaring producer dead");
-                } else {
-                    throw new RiotException("Producer failed to ever call start(), declaring producer dead");
-                }
-            }
-        }
-
-        // When the end marker is seen set slot to null
-        if (slot == endMarker) {
-            finished = true;
-            slot = null;
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public T next() {
-        if (!hasNext())
-            throw new NoSuchElementException();
-        T item = slot;
-        slot = null;
-        return item;
-    }
-
-    @Override
-    public void remove() {
-        throw new UnsupportedOperationException();
-    }
-
-    private void checkStateForReceive() {
-        if (closedByProducer || closedByConsumer) {
-            throw new RiotException("Pipe closed");
-        } else if (consumerThread != null && !consumerThread.isAlive()) {
-            throw new RiotException("Consumer dead");
-        }
-    }
-
-    protected void connect() {
-        this.connected = true;
-    }
-
-    protected void receive(T t) {
-        checkStateForReceive();
-        producerThread = Thread.currentThread();
-
-        try {
-            queue.put(t);
-        } catch (InterruptedException e) {
-            throw new CancellationException();
-        }
-    }
-
-    protected void base(String base) {
-        synchronized (lock) {
-            this.baseIri = base;
-        }
-    }
-
-    /**
-     * Gets the most recently seen Base IRI
-     * 
-     * @return Base IRI
-     */
-    public String getBaseIri() {
-        synchronized (lock) {
-            return baseIri;
-        }
-    }
-
-    protected void prefix(String prefix, String iri) {
-        synchronized (lock) {
-            prefixes.add(prefix, iri);
-        }
-    }
-
-    /**
-     * Gets the prefix map which contains the prefixes seen so far in the stream
-     * 
-     * @return Prefix Map
-     */
-    public PrefixMap getPrefixes() {
-        synchronized (lock) {
-            // Need to return a copy since PrefixMap is not concurrent
-            return PrefixMapFactory.create(this.prefixes);
-        }
-    }
-
-    /**
-     * Should be called by the producer when it begins writing to the iterator.
-     * If the producer fails to call this for whatever reason and never produces
-     * any output or calls {@code finish()} consumers may be blocked for a short
-     * period before they detect this state and error out.
-     */
-    protected void start() {
-        // Track the producer thread in case it never delivers us anything and
-        // dies before calling finish
-        producerThread = Thread.currentThread();
-    }
-
-    /**
-     * Should be called by the producer when it has finished writing to the
-     * iterator. If the producer fails to call this for whatever reason
-     * consumers may be blocked for a short period before they detect this state
-     * and error out.
-     */
-    protected void finish() {
-        if ( closedByProducer )
-            return ;
-        receive(endMarker);
-        closedByProducer = true;
-    }
-
-    /**
-     * May be called by the consumer when it is finished reading from the
-     * iterator, if the producer thread has not finished it will receive an
-     * error the next time it tries to write to the iterator
-     */
-    @Override
-    public void close() {
-        closedByConsumer = true;
-    }
-}
+/*
+ * 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.lang;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.jena.atlas.lib.Closeable;
+import org.apache.jena.riot.RiotException;
+import org.apache.jena.riot.system.PrefixMap;
+import org.apache.jena.riot.system.PrefixMapFactory;
+
+/**
+ * <p>
+ * A {@code PipedRDFIterator} should be connected to a {@link PipedRDFStream}
+ * implementation; the piped iterator then provides whatever RDF primitives are
+ * written to the {@code PipedRDFStream}
+ * </p>
+ * <p>
+ * Typically, data is read from a {@code PipedRDFIterator} by one thread (the
+ * consumer) and data is written to the corresponding {@code PipedRDFStream} by
+ * some other thread (the producer). Attempting to use both objects from a
+ * single thread is not recommended, as it may deadlock the thread. The
+ * {@code PipedRDFIterator} contains a buffer, decoupling read operations from
+ * write operations, within limits.
+ * </p>
+ * <p>
+ * Inspired by Java's {@link java.io.PipedInputStream} and
+ * {@link java.io.PipedOutputStream}
+ * </p>
+ * 
+ * @param <T>
+ *            The type of the RDF primitive, should be one of {@code Triple},
+ *            {@code Quad}, or {@code Tuple<Node>}
+ * 
+ * @see PipedTriplesStream
+ * @see PipedQuadsStream
+ * @see PipedTuplesStream
+ */
+public class PipedRDFIterator<T> implements Iterator<T>, Closeable {
+    /**
+     * Constant for default buffer size
+     */
+    public static final int DEFAULT_BUFFER_SIZE = 10000;
+
+    /**
+     * Constant for default poll timeout in milliseconds, used to stop the
+     * consumer deadlocking in certain circumstances
+     */
+    public static final int DEFAULT_POLL_TIMEOUT = 1000; // one second
+    /**
+     * Constant for max number of failed poll attempts before the producer will
+     * be declared as dead
+     */
+    public static final int DEFAULT_MAX_POLLS = 10;
+
+    private final BlockingQueue<T> queue;
+
+    @SuppressWarnings("unchecked")
+    private final T endMarker = (T) new Object();
+
+    private volatile boolean closedByConsumer = false;
+    private volatile boolean closedByProducer = false;
+    private volatile boolean finished = false;
+    private volatile boolean threadReused = false;
+    private volatile Thread consumerThread;
+    private volatile Thread producerThread;
+
+    private boolean connected = false;
+    private int pollTimeout = DEFAULT_POLL_TIMEOUT;
+    private int maxPolls = DEFAULT_MAX_POLLS;
+
+    private T slot;
+
+    private final Object lock = new Object(); // protects baseIri and prefixes
+    private String baseIri;
+    private final PrefixMap prefixes = PrefixMapFactory.createForInput();
+
+    /**
+     * Creates a new piped RDF iterator with the default buffer size of
+     * {@code DEFAULT_BUFFER_SIZE}.
+     * <p>
+     * Buffer size must be chosen carefully in order to avoid performance
+     * problems, if you set the buffer size too low you will experience a lot of
+     * blocked calls so it will take longer to consume the data from the
+     * iterator. For best performance the buffer size should be at least 10% of
+     * the expected input size though you may need to tune this depending on how
+     * fast your consumer thread is.
+     * </p>
+     */
+    public PipedRDFIterator() {
+        this(DEFAULT_BUFFER_SIZE);
+    }
+
+    /**
+     * Creates a new piped RDF iterator
+     * <p>
+     * Buffer size must be chosen carefully in order to avoid performance
+     * problems, if you set the buffer size too low you will experience a lot of
+     * blocked calls so it will take longer to consume the data from the
+     * iterator. For best performance the buffer size should be roughly 10% of
+     * the expected input size though you may need to tune this depending on how
+     * fast your consumer thread is.
+     * </p>
+     * 
+     * @param bufferSize
+     *            Buffer size
+     */
+    public PipedRDFIterator(int bufferSize) {
+        this(bufferSize, false, DEFAULT_POLL_TIMEOUT, DEFAULT_MAX_POLLS);
+    }
+
+    /**
+     * Creates a new piped RDF iterator
+     * <p>
+     * Buffer size must be chosen carefully in order to avoid performance
+     * problems, if you set the buffer size too low you will experience a lot of
+     * blocked calls so it will take longer to consume the data from the
+     * iterator. For best performance the buffer size should be roughly 10% of
+     * the expected input size though you may need to tune this depending on how
+     * fast your consumer thread is.
+     * </p>
+     * <p>
+     * The fair parameter controls whether the locking policy used for the
+     * buffer is fair. When enabled this reduces throughput but also reduces the
+     * chance of thread starvation. This likely need only be set to {@code true}
+     * if there will be multiple consumers.
+     * </p>
+     * 
+     * @param bufferSize
+     *            Buffer size
+     * @param fair
+     *            Whether the buffer should use a fair locking policy
+     */
+    public PipedRDFIterator(int bufferSize, boolean fair) {
+        this(bufferSize, fair, DEFAULT_POLL_TIMEOUT, DEFAULT_MAX_POLLS);
+    }
+
+    /**
+     * Creates a new piped RDF iterator
+     * <p>
+     * Buffer size must be chosen carefully in order to avoid performance
+     * problems, if you set the buffer size too low you will experience a lot of
+     * blocked calls so it will take longer to consume the data from the
+     * iterator. For best performance the buffer size should be roughly 10% of
+     * the expected input size though you may need to tune this depending on how
+     * fast your consumer thread is.
+     * </p>
+     * <p>
+     * The {@code fair} parameter controls whether the locking policy used for
+     * the buffer is fair. When enabled this reduces throughput but also reduces
+     * the chance of thread starvation. This likely need only be set to
+     * {@code true} if there will be multiple consumers.
+     * </p>
+     * <p>
+     * The {@code pollTimeout} parameter controls how long each poll attempt
+     * waits for data to be produced. This prevents the consumer thread from
+     * blocking indefinitely and allows it to detect various potential deadlock
+     * conditions e.g. dead producer thread, another consumer closed the
+     * iterator etc. and errors out accordingly. It is unlikely that you will
+     * ever need to adjust this from the default value provided by
+     * {@link #DEFAULT_POLL_TIMEOUT}.
+     * </p>
+     * <p>
+     * The {@code maxPolls} parameter controls how many poll attempts will be
+     * made by a single consumer thread within the context of a single call to
+     * {@link #hasNext()} before the iterator declares the producer to be dead
+     * and errors out accordingly. You may need to adjust this if you have a
+     * slow producer thread or many consumer threads.
+     * </p>
+     * 
+     * @param bufferSize
+     *            Buffer size
+     * @param fair
+     *            Whether the buffer should use a fair locking policy
+     * @param pollTimeout
+     *            Poll timeout in milliseconds
+     * @param maxPolls
+     *            Max poll attempts
+     */
+    public PipedRDFIterator(int bufferSize, boolean fair, int pollTimeout, int maxPolls) {
+        if (pollTimeout <= 0)
+            throw new IllegalArgumentException("Poll Timeout must be > 0");
+        if (maxPolls <= 0)
+            throw new IllegalArgumentException("Max Poll attempts must be > 0");
+        this.queue = new ArrayBlockingQueue<>(bufferSize, fair);
+        this.pollTimeout = pollTimeout;
+        this.maxPolls = maxPolls;
+    }
+
+    @Override
+    public boolean hasNext() {
+        if (!connected)
+            throw new IllegalStateException("Pipe not connected");
+
+        if (closedByConsumer)
+            throw new RiotException("Pipe closed");
+
+        if (finished)
+            return false;
+
+        consumerThread = Thread.currentThread();
+
+        // Depending on how code and/or the JVM schedules the threads involved
+        // there is a scenario that exists where a producer can finish/die
+        // before theconsumer is started and the consumer is scheduled onto the
+        // same thread thus resulting in a deadlock on the consumer because it
+        // will never be able to detect that the producer died
+        // In this scenario we need to set a special flag to indicate the
+        // possibility
+        if (producerThread != null && producerThread == consumerThread)
+            threadReused = true;
+
+        if (slot != null)
+            return true;
+
+        int attempts = 0;
+        while (true) {
+            attempts++;
+            try {
+                slot = queue.poll(this.pollTimeout, TimeUnit.MILLISECONDS);
+            } catch (InterruptedException e) {
+                throw new CancellationException();
+            }
+
+            if (null != slot)
+                break;
+
+            // If the producer thread died and did not call finish() then
+            // declare this pipe to be "broken"
+            // Since check is after the break, we will drain as much as possible
+            // out of the queue before throwing this exception
+            if (threadReused || (producerThread != null && !producerThread.isAlive() && !closedByProducer)) {
+                closedByConsumer = true;
+                throw new RiotException("Producer dead");
+            }
+
+            // Need to check this inside the loop as otherwise outside code that
+            // attempts to break the deadlock by causing close() on the iterator
+            // cannot do so
+            if (closedByConsumer)
+                throw new RiotException("Pipe closed");
+
+            // Need to check whether polling attempts have been exceeded
+            // If so declare the producer dead and exit
+            if (attempts >= this.maxPolls) {
+                closedByConsumer = true;
+                if (producerThread != null) {
+                    throw new RiotException(
+                            "Producer failed to produce any data within the specified number of polling attempts, declaring producer dead");
+                } else {
+                    throw new RiotException("Producer failed to ever call start(), declaring producer dead");
+                }
+            }
+        }
+
+        // When the end marker is seen set slot to null
+        if (slot == endMarker) {
+            finished = true;
+            slot = null;
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public T next() {
+        if (!hasNext())
+            throw new NoSuchElementException();
+        T item = slot;
+        slot = null;
+        return item;
+    }
+
+    @Override
+    public void remove() {
+        throw new UnsupportedOperationException();
+    }
+
+    private void checkStateForReceive() {
+        if (closedByProducer || closedByConsumer) {
+            throw new RiotException("Pipe closed");
+        } else if (consumerThread != null && !consumerThread.isAlive()) {
+            throw new RiotException("Consumer dead");
+        }
+    }
+
+    protected void connect() {
+        this.connected = true;
+    }
+
+    protected void receive(T t) {
+        checkStateForReceive();
+        producerThread = Thread.currentThread();
+
+        try {
+            queue.put(t);
+        } catch (InterruptedException e) {
+            throw new CancellationException();
+        }
+    }
+
+    protected void base(String base) {
+        synchronized (lock) {
+            this.baseIri = base;
+        }
+    }
+
+    /**
+     * Gets the most recently seen Base IRI
+     * 
+     * @return Base IRI
+     */
+    public String getBaseIri() {
+        synchronized (lock) {
+            return baseIri;
+        }
+    }
+
+    protected void prefix(String prefix, String iri) {
+        synchronized (lock) {
+            prefixes.add(prefix, iri);
+        }
+    }
+
+    /**
+     * Gets the prefix map which contains the prefixes seen so far in the stream
+     * 
+     * @return Prefix Map
+     */
+    public PrefixMap getPrefixes() {
+        synchronized (lock) {
+            // Need to return a copy since PrefixMap is not concurrent
+            return PrefixMapFactory.create(this.prefixes);
+        }
+    }
+
+    /**
+     * Should be called by the producer when it begins writing to the iterator.
+     * If the producer fails to call this for whatever reason and never produces
+     * any output or calls {@code finish()} consumers may be blocked for a short
+     * period before they detect this state and error out.
+     */
+    protected void start() {
+        // Track the producer thread in case it never delivers us anything and
+        // dies before calling finish
+        producerThread = Thread.currentThread();
+    }
+
+    /**
+     * Should be called by the producer when it has finished writing to the
+     * iterator. If the producer fails to call this for whatever reason
+     * consumers may be blocked for a short period before they detect this state
+     * and error out.
+     */
+    protected void finish() {
+        if ( closedByProducer )
+            return ;
+        receive(endMarker);
+        closedByProducer = true;
+    }
+
+    /**
+     * May be called by the consumer when it is finished reading from the
+     * iterator, if the producer thread has not finished it will receive an
+     * error the next time it tries to write to the iterator
+     */
+    @Override
+    public void close() {
+        closedByConsumer = true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFStream.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFStream.java
index 6406204..40877e4 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedRDFStream.java
@@ -1,70 +1,70 @@
-/*
- * 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.lang ;
-
-import org.apache.jena.riot.system.StreamRDF ;
-
-/**
- * Abstract implementation of a producer class that implements {@code StreamRDF};
- * use one of the concrete implementations that match the RDF primitive you are using.
- * @param <T> Type corresponding to a supported RDF primitive
- * 
- * @see PipedTriplesStream
- * @see PipedQuadsStream
- * @see PipedTuplesStream
- */
-public abstract class PipedRDFStream<T> implements StreamRDF
-{
-    private final PipedRDFIterator<T> sink ;
-
-    protected PipedRDFStream(PipedRDFIterator<T> sink)
-    {
-        this.sink = sink ;
-        this.sink.connect();
-    }
-
-    protected void receive(T t)
-    {
-        sink.receive(t) ;
-    }
-
-    @Override
-    public void base(String base)
-    {
-        sink.base(base) ;
-    }
-
-    @Override
-    public void prefix(String prefix, String iri)
-    {
-        sink.prefix(prefix, iri) ;
-    }
-
-    @Override
-    public void start()
-    {
-        sink.start() ;
-    }
-
-    @Override
-    public void finish()
-    {
-        sink.finish() ;
-    }
-}
+/*
+ * 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.lang ;
+
+import org.apache.jena.riot.system.StreamRDF ;
+
+/**
+ * Abstract implementation of a producer class that implements {@code StreamRDF};
+ * use one of the concrete implementations that match the RDF primitive you are using.
+ * @param <T> Type corresponding to a supported RDF primitive
+ * 
+ * @see PipedTriplesStream
+ * @see PipedQuadsStream
+ * @see PipedTuplesStream
+ */
+public abstract class PipedRDFStream<T> implements StreamRDF
+{
+    private final PipedRDFIterator<T> sink ;
+
+    protected PipedRDFStream(PipedRDFIterator<T> sink)
+    {
+        this.sink = sink ;
+        this.sink.connect();
+    }
+
+    protected void receive(T t)
+    {
+        sink.receive(t) ;
+    }
+
+    @Override
+    public void base(String base)
+    {
+        sink.base(base) ;
+    }
+
+    @Override
+    public void prefix(String prefix, String iri)
+    {
+        sink.prefix(prefix, iri) ;
+    }
+
+    @Override
+    public void start()
+    {
+        sink.start() ;
+    }
+
+    @Override
+    public void finish()
+    {
+        sink.finish() ;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTriplesStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTriplesStream.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTriplesStream.java
index c5c2dfe..270d59e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTriplesStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTriplesStream.java
@@ -1,53 +1,53 @@
-/*
- * 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.lang ;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * Implementation of a producer class that sends Triples; must be connected to a {@code PipedRDFIterator<Triple>}. 
- */
-public class PipedTriplesStream extends PipedRDFStream<Triple> implements StreamRDF
-{
-    /**
-     * Creates a piped triples stream connected to the specified piped 
-     * RDF iterator.  Triples written to this stream will then be 
-     * available as input from <code>sink</code>.
-     *
-     * @param sink The piped RDF iterator to connect to.
-     */
-    public PipedTriplesStream(PipedRDFIterator<Triple> sink)
-    {
-        super(sink) ;
-    }
-
-    @Override
-    public void triple(Triple triple)
-    {
-        receive(triple) ;
-    }
-
-    @Override
-    public void quad(Quad quad)
-    {
-        // Quads are discarded
-    }
-}
+/*
+ * 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.lang ;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * Implementation of a producer class that sends Triples; must be connected to a {@code PipedRDFIterator<Triple>}. 
+ */
+public class PipedTriplesStream extends PipedRDFStream<Triple> implements StreamRDF
+{
+    /**
+     * Creates a piped triples stream connected to the specified piped 
+     * RDF iterator.  Triples written to this stream will then be 
+     * available as input from <code>sink</code>.
+     *
+     * @param sink The piped RDF iterator to connect to.
+     */
+    public PipedTriplesStream(PipedRDFIterator<Triple> sink)
+    {
+        super(sink) ;
+    }
+
+    @Override
+    public void triple(Triple triple)
+    {
+        receive(triple) ;
+    }
+
+    @Override
+    public void quad(Quad quad)
+    {
+        // Quads are discarded
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
index 4bdb728..f1a63d3 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
@@ -1,55 +1,55 @@
-/*
- * 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.lang ;
-
-import org.apache.jena.atlas.lib.tuple.Tuple ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.sparql.core.Quad ;
-
-/**
- * Implementation of a producer class that sends @{code Tuple<Node>}; must be connected to a {@code PipedRDFIterator<Tuple<Node>}. 
- */
-public class PipedTuplesStream extends PipedRDFStream<Tuple<Node>> implements StreamRDF
-{
-    /**
-     * Creates a piped tuples stream connected to the specified piped 
-     * RDF iterator.  Tuples written to this stream will then be 
-     * available as input from <code>sink</code>.
-     *
-     * @param sink The piped RDF iterator to connect to.
-     */
-    public PipedTuplesStream(PipedRDFIterator<Tuple<Node>> sink)
-    {
-        super(sink) ;
-    }
-
-    @Override
-    public void triple(Triple triple)
-    {
-        // Triples are discarded
-    }
-
-    @Override
-    public void quad(Quad quad)
-    {
-        // Quads are discarded
-    }
-}
+/*
+ * 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.lang ;
+
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.sparql.core.Quad ;
+
+/**
+ * Implementation of a producer class that sends @{code Tuple<Node>}; must be connected to a {@code PipedRDFIterator<Tuple<Node>}. 
+ */
+public class PipedTuplesStream extends PipedRDFStream<Tuple<Node>> implements StreamRDF
+{
+    /**
+     * Creates a piped tuples stream connected to the specified piped 
+     * RDF iterator.  Tuples written to this stream will then be 
+     * available as input from <code>sink</code>.
+     *
+     * @param sink The piped RDF iterator to connect to.
+     */
+    public PipedTuplesStream(PipedRDFIterator<Tuple<Node>> sink)
+    {
+        super(sink) ;
+    }
+
+    @Override
+    public void triple(Triple triple)
+    {
+        // Triples are discarded
+    }
+
+    @Override
+    public void quad(Quad quad)
+    {
+        // Quads are discarded
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java b/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
index 0841c50..d27e46c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
@@ -1,137 +1,137 @@
-/*
- * 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.out ;
-
-import java.io.OutputStream ;
-import java.util.Objects;
-
-import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.lib.Closeable ;
-import org.apache.jena.atlas.lib.Sink ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.jena.sparql.serializer.SerializationContext ;
-import org.apache.jena.sparql.util.FmtUtils ;
-
-/**
- * A class that print quads, SPARQL style (maybe good for Trig too?)
- */
-public class SinkQuadBracedOutput implements Sink<Quad>, Closeable
-{
-    protected static final int           BLOCK_INDENT = 2 ;
-
-    protected final IndentedWriter       out ;
-    protected final SerializationContext sCxt ;
-    protected boolean                    opened       = false ;
-
-    protected Node                       currentGraph ;
-
-    public SinkQuadBracedOutput(OutputStream out) {
-        this(out, null) ;
-    }
-
-    public SinkQuadBracedOutput(OutputStream out, SerializationContext sCxt) {
-        this(new IndentedWriter(out), sCxt) ;
-    }
-
-    public SinkQuadBracedOutput(IndentedWriter out, SerializationContext sCxt) {
-        if ( out == null ) { throw new IllegalArgumentException("out may not be null") ; }
-
-        if ( sCxt == null ) {
-            sCxt = new SerializationContext() ;
-        }
-
-        this.out = out ;
-        this.sCxt = sCxt ;
-    }
-
-    public void open() {
-        out.println("{") ;
-        out.incIndent(BLOCK_INDENT) ;
-        opened = true ;
-    }
-
-    private void checkOpen() {
-        if ( !opened ) { throw new IllegalStateException("SinkQuadBracedOutput is not opened.  Call open() first.") ; }
-    }
-
-    @Override
-    public void send(Quad quad) {
-        send(quad.getGraph(), quad.asTriple()) ;
-    }
-
-    public void send(Node graphName, Triple triple) {
-        checkOpen() ;
-        if ( Quad.isDefaultGraph(graphName) ) {
-            graphName = null ;
-        }
-
-        if ( !Objects.equals(currentGraph, graphName) ) {
-            if ( null != currentGraph ) {
-                out.decIndent(BLOCK_INDENT) ;
-                out.println("}") ;
-            }
-
-            if ( null != graphName ) {
-                out.print("GRAPH ") ;
-                output(graphName) ;
-                out.println(" {") ;
-                out.incIndent(BLOCK_INDENT) ;
-            }
-        }
-
-        output(triple) ;
-        out.println(" .") ;
-
-        currentGraph = graphName ;
-    }
-
-    private void output(Node node) {
-        String n = FmtUtils.stringForNode(node, sCxt) ;
-        out.print(n) ;
-    }
-
-    private void output(Triple triple) {
-        String ts = FmtUtils.stringForTriple(triple, sCxt) ;
-        out.print(ts) ;
-    }
-
-    @Override
-    public void flush() {
-        out.flush() ;
-    }
-
-    @Override
-    public void close() {
-        if ( opened ) {
-            if ( null != currentGraph ) {
-                out.decIndent(BLOCK_INDENT) ;
-                out.println("}") ;
-            }
-
-            out.decIndent(BLOCK_INDENT) ;
-            out.print("}") ;
-
-            // Since we didn't create the OutputStream, we'll just flush it
-            flush() ;
-            opened = false ;
-        }
-    }
-}
+/*
+ * 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.out ;
+
+import java.io.OutputStream ;
+import java.util.Objects;
+
+import org.apache.jena.atlas.io.IndentedWriter ;
+import org.apache.jena.atlas.lib.Closeable ;
+import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.serializer.SerializationContext ;
+import org.apache.jena.sparql.util.FmtUtils ;
+
+/**
+ * A class that print quads, SPARQL style (maybe good for Trig too?)
+ */
+public class SinkQuadBracedOutput implements Sink<Quad>, Closeable
+{
+    protected static final int           BLOCK_INDENT = 2 ;
+
+    protected final IndentedWriter       out ;
+    protected final SerializationContext sCxt ;
+    protected boolean                    opened       = false ;
+
+    protected Node                       currentGraph ;
+
+    public SinkQuadBracedOutput(OutputStream out) {
+        this(out, null) ;
+    }
+
+    public SinkQuadBracedOutput(OutputStream out, SerializationContext sCxt) {
+        this(new IndentedWriter(out), sCxt) ;
+    }
+
+    public SinkQuadBracedOutput(IndentedWriter out, SerializationContext sCxt) {
+        if ( out == null ) { throw new IllegalArgumentException("out may not be null") ; }
+
+        if ( sCxt == null ) {
+            sCxt = new SerializationContext() ;
+        }
+
+        this.out = out ;
+        this.sCxt = sCxt ;
+    }
+
+    public void open() {
+        out.println("{") ;
+        out.incIndent(BLOCK_INDENT) ;
+        opened = true ;
+    }
+
+    private void checkOpen() {
+        if ( !opened ) { throw new IllegalStateException("SinkQuadBracedOutput is not opened.  Call open() first.") ; }
+    }
+
+    @Override
+    public void send(Quad quad) {
+        send(quad.getGraph(), quad.asTriple()) ;
+    }
+
+    public void send(Node graphName, Triple triple) {
+        checkOpen() ;
+        if ( Quad.isDefaultGraph(graphName) ) {
+            graphName = null ;
+        }
+
+        if ( !Objects.equals(currentGraph, graphName) ) {
+            if ( null != currentGraph ) {
+                out.decIndent(BLOCK_INDENT) ;
+                out.println("}") ;
+            }
+
+            if ( null != graphName ) {
+                out.print("GRAPH ") ;
+                output(graphName) ;
+                out.println(" {") ;
+                out.incIndent(BLOCK_INDENT) ;
+            }
+        }
+
+        output(triple) ;
+        out.println(" .") ;
+
+        currentGraph = graphName ;
+    }
+
+    private void output(Node node) {
+        String n = FmtUtils.stringForNode(node, sCxt) ;
+        out.print(n) ;
+    }
+
+    private void output(Triple triple) {
+        String ts = FmtUtils.stringForTriple(triple, sCxt) ;
+        out.print(ts) ;
+    }
+
+    @Override
+    public void flush() {
+        out.flush() ;
+    }
+
+    @Override
+    public void close() {
+        if ( opened ) {
+            if ( null != currentGraph ) {
+                out.decIndent(BLOCK_INDENT) ;
+                out.println("}") ;
+            }
+
+            out.decIndent(BLOCK_INDENT) ;
+            out.print("}") ;
+
+            // Since we didn't create the OutputStream, we'll just flush it
+            flush() ;
+            opened = false ;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/HashIndexTable.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/HashIndexTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/HashIndexTable.java
index 0fb4f6e..4d0d414 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/HashIndexTable.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/HashIndexTable.java
@@ -1,218 +1,218 @@
-/**
- * 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.sparql.engine.index;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-
-/**
- * Indexes bindings so that they can be search for quickly when a binding to all the
- * variables is provided. If a binding to only some of the known variables is provided
- * then the index still works, but will search linearly.
- */
-public class HashIndexTable implements IndexTable {
-    // Contribution from P Gearon (@quoll)
-	final private Set<Key> table ;
-	private Map<Var,Integer> varColumns ;
-	private boolean missingValue ;
-
-	public HashIndexTable(Set<Var> commonVars, QueryIterator data) throws MissingBindingException
-    {
-    	initColumnMappings(commonVars) ;
-    	if ( commonVars.size() == 0 )
-    	{
-    		table = null ;
-    		return ;
-    	}
-
-    	table = new HashSet<>() ;
-    	missingValue = false ;
-
-    	while ( data.hasNext() )
-        {
-            Binding binding = data.nextBinding() ;
-            addBindingToTable(binding) ;
-        }
-    	data.close() ;
-    }
-
-    @Override
-	public boolean containsCompatibleWithSharedDomain(Binding binding)
-    {
-    	// no shared variables means no shared domain, and should be ignored
-    	if ( table == null )
-    		return false ;
-
-    	Key indexKey ;
-		indexKey = convertToKey(binding) ;
-
-		if ( table.contains(indexKey) )
-			return true ;
-		
-		if ( anyUnbound(indexKey) )
-			return exhaustiveSearch(indexKey) ;
-		return false ;
-    }
-
-    private boolean anyUnbound(Key mappedBinding)
-    {
-    	for ( Node n: mappedBinding.getNodes() )
-    	{
-    		if ( n == null )
-    			return true ;
-    	}
-    	return false ;
-    }
-
-    private void initColumnMappings(Set<Var> commonVars)
-    {
-    	varColumns = new HashMap<>() ;
-    	int c = 0 ;
-    	for ( Var var: commonVars )
-    		varColumns.put(var, c++) ;
-    }
-
-    private void addBindingToTable(Binding binding) throws MissingBindingException
-    {
-    	Key key = convertToKey(binding) ;
-		table.add(key) ;
-		if ( missingValue )
-			throw new MissingBindingException(table, varColumns) ;
-    }
-
-    private Key convertToKey(Binding binding)
-    {
-		Node[] indexKey = new Node[varColumns.size()] ;
-
-		for ( Map.Entry<Var,Integer> varCol : varColumns.entrySet() )
-		{
-			Node value = binding.get(varCol.getKey()) ;
-			if ( value == null )
-				missingValue = true ;
-			indexKey[varCol.getValue()] = value ;
-		}
-		return new Key(indexKey) ;
-    }
-
-    private boolean exhaustiveSearch(Key mappedBindingLeft)
-    {
-    	for ( Key mappedBindingRight: table )
-    	{
-    		if ( mappedBindingLeft.compatibleAndSharedDomain(mappedBindingRight) )
-    			return true ;
-    	}
-    	return false ;
-    }
-
-    static class MissingBindingException extends Exception {
-    	private final Set<Key> data ;
-    	private final Map<Var,Integer> varMappings ;
-
-    	public MissingBindingException(Set<Key> data, Map<Var,Integer> varMappings)
-    	{
-    		this.data = data ;
-    		this.varMappings = varMappings ;
-    	}
-
-    	public Set<Key> getData() { return data ; }
-    	public Map<Var,Integer> getMap() { return varMappings ; }
-    }
-    
-    static class Key
-    {
-    	final Node[] nodes;
-
-    	Key(Node[] nodes)
-    	{
-    		this.nodes = nodes ;
-    	}
-
-    	public Node[] getNodes()
-    	{
-    		return nodes;
-    	}
-
-    	@Override
-		public String toString()
-    	{
-    		return Arrays.asList(nodes).toString() ;
-    	}
-
-    	@Override
-		public int hashCode()
-    	{
-    		int result = 0 ;
-    		for ( Node n: nodes )
-    			result ^= (n == null) ? 0 : n.hashCode() ;
-    		return result ;
-    	}
-    	
-    	@Override
-		public boolean equals(Object o)
-    	{
-    		if ( ! (o instanceof Key) )
-    			return false ;
-    		Node[] other = ((Key)o).nodes ;
-
-    		for ( int i = 0 ; i < nodes.length ; i++ )
-    		{
-    			if ( nodes[i] == null)
-    			{
-    				if ( other[i] != null )
-        				return false ;
-    			}
-    			else
-    			{
-	    			if ( ! nodes[i].equals(other[i]) )
-	    				return false ;
-    			}
-    		}
-    		return true ;
-    	}
-
-        public boolean compatibleAndSharedDomain(Key mappedBindingR)
-        {
-        	Node[] nodesRight = mappedBindingR.getNodes() ;
-
-        	boolean sharedDomain = false ;
-        	for ( int c = 0 ; c < nodes.length ; c++ )
-            {
-                Node nLeft  = nodes[c] ; 
-                Node nRight = nodesRight[c] ;
-                
-                if ( nLeft != null && nRight != null )
-            	{
-            		if ( nLeft.equals(nRight) )
-            			return false ;
-            		sharedDomain = true ;
-            	}
-            }
-            return sharedDomain ;
-        }
-    }
-}
-
+/**
+ * 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.sparql.engine.index;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+
+/**
+ * Indexes bindings so that they can be search for quickly when a binding to all the
+ * variables is provided. If a binding to only some of the known variables is provided
+ * then the index still works, but will search linearly.
+ */
+public class HashIndexTable implements IndexTable {
+    // Contribution from P Gearon (@quoll)
+	final private Set<Key> table ;
+	private Map<Var,Integer> varColumns ;
+	private boolean missingValue ;
+
+	public HashIndexTable(Set<Var> commonVars, QueryIterator data) throws MissingBindingException
+    {
+    	initColumnMappings(commonVars) ;
+    	if ( commonVars.size() == 0 )
+    	{
+    		table = null ;
+    		return ;
+    	}
+
+    	table = new HashSet<>() ;
+    	missingValue = false ;
+
+    	while ( data.hasNext() )
+        {
+            Binding binding = data.nextBinding() ;
+            addBindingToTable(binding) ;
+        }
+    	data.close() ;
+    }
+
+    @Override
+	public boolean containsCompatibleWithSharedDomain(Binding binding)
+    {
+    	// no shared variables means no shared domain, and should be ignored
+    	if ( table == null )
+    		return false ;
+
+    	Key indexKey ;
+		indexKey = convertToKey(binding) ;
+
+		if ( table.contains(indexKey) )
+			return true ;
+		
+		if ( anyUnbound(indexKey) )
+			return exhaustiveSearch(indexKey) ;
+		return false ;
+    }
+
+    private boolean anyUnbound(Key mappedBinding)
+    {
+    	for ( Node n: mappedBinding.getNodes() )
+    	{
+    		if ( n == null )
+    			return true ;
+    	}
+    	return false ;
+    }
+
+    private void initColumnMappings(Set<Var> commonVars)
+    {
+    	varColumns = new HashMap<>() ;
+    	int c = 0 ;
+    	for ( Var var: commonVars )
+    		varColumns.put(var, c++) ;
+    }
+
+    private void addBindingToTable(Binding binding) throws MissingBindingException
+    {
+    	Key key = convertToKey(binding) ;
+		table.add(key) ;
+		if ( missingValue )
+			throw new MissingBindingException(table, varColumns) ;
+    }
+
+    private Key convertToKey(Binding binding)
+    {
+		Node[] indexKey = new Node[varColumns.size()] ;
+
+		for ( Map.Entry<Var,Integer> varCol : varColumns.entrySet() )
+		{
+			Node value = binding.get(varCol.getKey()) ;
+			if ( value == null )
+				missingValue = true ;
+			indexKey[varCol.getValue()] = value ;
+		}
+		return new Key(indexKey) ;
+    }
+
+    private boolean exhaustiveSearch(Key mappedBindingLeft)
+    {
+    	for ( Key mappedBindingRight: table )
+    	{
+    		if ( mappedBindingLeft.compatibleAndSharedDomain(mappedBindingRight) )
+    			return true ;
+    	}
+    	return false ;
+    }
+
+    static class MissingBindingException extends Exception {
+    	private final Set<Key> data ;
+    	private final Map<Var,Integer> varMappings ;
+
+    	public MissingBindingException(Set<Key> data, Map<Var,Integer> varMappings)
+    	{
+    		this.data = data ;
+    		this.varMappings = varMappings ;
+    	}
+
+    	public Set<Key> getData() { return data ; }
+    	public Map<Var,Integer> getMap() { return varMappings ; }
+    }
+    
+    static class Key
+    {
+    	final Node[] nodes;
+
+    	Key(Node[] nodes)
+    	{
+    		this.nodes = nodes ;
+    	}
+
+    	public Node[] getNodes()
+    	{
+    		return nodes;
+    	}
+
+    	@Override
+		public String toString()
+    	{
+    		return Arrays.asList(nodes).toString() ;
+    	}
+
+    	@Override
+		public int hashCode()
+    	{
+    		int result = 0 ;
+    		for ( Node n: nodes )
+    			result ^= (n == null) ? 0 : n.hashCode() ;
+    		return result ;
+    	}
+    	
+    	@Override
+		public boolean equals(Object o)
+    	{
+    		if ( ! (o instanceof Key) )
+    			return false ;
+    		Node[] other = ((Key)o).nodes ;
+
+    		for ( int i = 0 ; i < nodes.length ; i++ )
+    		{
+    			if ( nodes[i] == null)
+    			{
+    				if ( other[i] != null )
+        				return false ;
+    			}
+    			else
+    			{
+	    			if ( ! nodes[i].equals(other[i]) )
+	    				return false ;
+    			}
+    		}
+    		return true ;
+    	}
+
+        public boolean compatibleAndSharedDomain(Key mappedBindingR)
+        {
+        	Node[] nodesRight = mappedBindingR.getNodes() ;
+
+        	boolean sharedDomain = false ;
+        	for ( int c = 0 ; c < nodes.length ; c++ )
+            {
+                Node nLeft  = nodes[c] ; 
+                Node nRight = nodesRight[c] ;
+                
+                if ( nLeft != null && nRight != null )
+            	{
+            		if ( nLeft.equals(nRight) )
+            			return false ;
+            		sharedDomain = true ;
+            	}
+            }
+            return sharedDomain ;
+        }
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexFactory.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexFactory.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexFactory.java
index 2593a54..5828a6b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexFactory.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexFactory.java
@@ -1,45 +1,45 @@
-/**
- * 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.sparql.engine.index;
-
-import java.util.Set;
-
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.index.HashIndexTable.MissingBindingException ;
-import org.apache.jena.sparql.engine.iterator.QueryIterMinus ;
-
-/**
- * Creates {@link IndexTable}s for use by
- * {@link QueryIterMinus}.
- */
-public class IndexFactory {
-    // Contribution from P Gearon (@quoll)
-    public static IndexTable createIndex(Set<Var> commonVars, QueryIterator data) {
-        try {
-            if (commonVars.size() == 1) {
-                return new SetIndexTable(commonVars, data);
-            } else {
-                return new HashIndexTable(commonVars, data);
-            }
-        } catch (MissingBindingException e) {
-            return new LinearIndex(commonVars, data, e.getData(), e.getMap());
-        }
-    }
-}
+/**
+ * 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.sparql.engine.index;
+
+import java.util.Set;
+
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.index.HashIndexTable.MissingBindingException ;
+import org.apache.jena.sparql.engine.iterator.QueryIterMinus ;
+
+/**
+ * Creates {@link IndexTable}s for use by
+ * {@link QueryIterMinus}.
+ */
+public class IndexFactory {
+    // Contribution from P Gearon (@quoll)
+    public static IndexTable createIndex(Set<Var> commonVars, QueryIterator data) {
+        try {
+            if (commonVars.size() == 1) {
+                return new SetIndexTable(commonVars, data);
+            } else {
+                return new HashIndexTable(commonVars, data);
+            }
+        } catch (MissingBindingException e) {
+            return new LinearIndex(commonVars, data, e.getData(), e.getMap());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexTable.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexTable.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexTable.java
index 9b18f4d..5aa6e8a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexTable.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/IndexTable.java
@@ -1,32 +1,32 @@
-/**
- * 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.sparql.engine.index;
-
-import org.apache.jena.sparql.engine.binding.Binding ;
-
-/**
- * Interface for indexes that are used for identifying matching
- * {@link org.apache.jena.sparql.engine.binding.Binding}s when
- * {@link org.apache.jena.sparql.engine.iterator.QueryIterMinus} is trying to determine
- * which Bindings need to be removed.
- */
-public interface IndexTable {
-    // Contribution from P Gearon
-	public abstract boolean containsCompatibleWithSharedDomain(Binding binding);
-}
+/**
+ * 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.sparql.engine.index;
+
+import org.apache.jena.sparql.engine.binding.Binding ;
+
+/**
+ * Interface for indexes that are used for identifying matching
+ * {@link org.apache.jena.sparql.engine.binding.Binding}s when
+ * {@link org.apache.jena.sparql.engine.iterator.QueryIterMinus} is trying to determine
+ * which Bindings need to be removed.
+ */
+public interface IndexTable {
+    // Contribution from P Gearon
+	public abstract boolean containsCompatibleWithSharedDomain(Binding binding);
+}


[18/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
index e51ab6a..bf2dbe9 100644
--- a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
+++ b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
@@ -1,401 +1,401 @@
-/*
- * 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.hadoop.rdf.io.types;
-
-import java.io.* ;
-
-import org.apache.hadoop.io.WritableComparable;
-import org.apache.jena.atlas.lib.tuple.Tuple ;
-import static org.apache.jena.atlas.lib.tuple.TupleFactory.tuple ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Tests for the various RDF types defined by the
- * {@link org.apache.jena.hadoop.rdf.types} package
- * 
- * 
- * 
- */
-public class RdfTypesTest {
-
-    private static final Logger LOG = LoggerFactory.getLogger(RdfTypesTest.class);
-
-    private ByteArrayOutputStream outputStream;
-    private ByteArrayInputStream inputStream;
-
-    /**
-     * Prepare for output
-     * 
-     * @return Data output
-     */
-    private DataOutput prepareOutput() {
-        this.outputStream = new ByteArrayOutputStream();
-        return new DataOutputStream(this.outputStream);
-    }
-
-    /**
-     * Prepare for input from the previously written output
-     * 
-     * @return Data Input
-     */
-    private DataInput prepareInput() {
-        this.inputStream = new ByteArrayInputStream(this.outputStream.toByteArray());
-        return new DataInputStream(this.inputStream);
-    }
-
-    /**
-     * Prepare for input from the given data
-     * 
-     * @param data
-     *            Data
-     * @return Data Input
-     */
-    @SuppressWarnings("unused")
-    private DataInput prepareInput(byte[] data) {
-        this.inputStream = new ByteArrayInputStream(data);
-        return new DataInputStream(this.inputStream);
-    }
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    private <T extends WritableComparable> void testWriteRead(T writable, T expected) throws IOException, InstantiationException, IllegalAccessException,
-            ClassNotFoundException {
-        // Write out data
-        DataOutput output = this.prepareOutput();
-        writable.write(output);
-
-        // Read back in data
-        DataInput input = this.prepareInput();
-        T actual = (T) Class.forName(writable.getClass().getName()).newInstance();
-        actual.readFields(input);
-
-        LOG.debug("Original = " + writable.toString());
-        LOG.debug("Round Tripped = " + actual.toString());
-
-        // Check equivalent
-        Assert.assertEquals(0, expected.compareTo(actual));
-    }
-    
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_null() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = null;
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-    
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    @Ignore
-    public void node_writable_variable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createVariable("x");
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-    
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    @Ignore
-    public void node_writable_variable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createVariable("really-log-variable-name-asddsfr4545egfdgdfgfdgdtgvdg-dfgfdgdfgdfgdfg4-dfvdfgdfgdfgfdgfdgdfgdfgfdg");
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_uri_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createURI("http://example.org");
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_uri_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createURI("http://user:password@example.org/some/path?key=value#id");
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("simple");
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("language", "en", null);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_03() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("string", XSDDatatype.XSDstring);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_04() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("1234", XSDDatatype.XSDinteger);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_05() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("123.4", XSDDatatype.XSDdecimal);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_06() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("12.3e4", XSDDatatype.XSDdouble);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_literal_07() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createLiteral("true", XSDDatatype.XSDboolean);
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_bnode_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createBlankNode();
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-    }
-
-    /**
-     * Basic node writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void node_writable_bnode_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Node n = NodeFactory.createBlankNode();
-        NodeWritable nw = new NodeWritable(n);
-        testWriteRead(nw, nw);
-        NodeWritable nw2 = new NodeWritable(n);
-        testWriteRead(nw2, nw2);
-
-        Assert.assertEquals(0, nw.compareTo(nw2));
-    }
-
-    /**
-     * Basic triple writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void triple_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Triple t = new Triple(NodeFactory.createURI("http://example"), NodeFactory.createURI("http://predicate"), NodeFactory.createLiteral("value"));
-        TripleWritable tw = new TripleWritable(t);
-        testWriteRead(tw, tw);
-    }
-    
-    /**
-     * Basic triple writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void triple_writable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Triple t = new Triple(NodeFactory.createBlankNode(), NodeFactory.createURI("http://predicate"), NodeFactory.createLiteral("value"));
-        TripleWritable tw = new TripleWritable(t);
-        testWriteRead(tw, tw);
-    }
-
-    /**
-     * Basic quad writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void quad_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Quad q = new Quad(Quad.defaultGraphNodeGenerated, NodeFactory.createURI("http://example"), NodeFactory.createURI("http://predicate"),
-                NodeFactory.createLiteral("value"));
-        QuadWritable qw = new QuadWritable(q);
-        testWriteRead(qw, qw);
-    }
-    
-    /**
-     * Basic quad writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void quad_writable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Quad q = new Quad(Quad.defaultGraphNodeGenerated, NodeFactory.createBlankNode(), NodeFactory.createURI("http://predicate"),
-                NodeFactory.createLiteral("value"));
-        QuadWritable qw = new QuadWritable(q);
-        testWriteRead(qw, qw);
-    }
-
-    /**
-     * Basic tuple writable round tripping test
-     * 
-     * @throws IOException
-     * @throws InstantiationException
-     * @throws IllegalAccessException
-     * @throws ClassNotFoundException
-     */
-    @Test
-    public void tuple_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
-        Tuple<Node> t = tuple(NodeFactory.createURI("http://one"), NodeFactory.createURI("http://two"),
-                              NodeFactory.createLiteral("value"),
-                              NodeFactory.createLiteral("foo"), NodeFactory.createURI("http://three"));
-        NodeTupleWritable tw = new NodeTupleWritable(t);
-        testWriteRead(tw, tw);
-    }
-}
+/*
+ * 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.hadoop.rdf.io.types;
+
+import java.io.* ;
+
+import org.apache.hadoop.io.WritableComparable;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.tuple ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Tests for the various RDF types defined by the
+ * {@link org.apache.jena.hadoop.rdf.types} package
+ * 
+ * 
+ * 
+ */
+public class RdfTypesTest {
+
+    private static final Logger LOG = LoggerFactory.getLogger(RdfTypesTest.class);
+
+    private ByteArrayOutputStream outputStream;
+    private ByteArrayInputStream inputStream;
+
+    /**
+     * Prepare for output
+     * 
+     * @return Data output
+     */
+    private DataOutput prepareOutput() {
+        this.outputStream = new ByteArrayOutputStream();
+        return new DataOutputStream(this.outputStream);
+    }
+
+    /**
+     * Prepare for input from the previously written output
+     * 
+     * @return Data Input
+     */
+    private DataInput prepareInput() {
+        this.inputStream = new ByteArrayInputStream(this.outputStream.toByteArray());
+        return new DataInputStream(this.inputStream);
+    }
+
+    /**
+     * Prepare for input from the given data
+     * 
+     * @param data
+     *            Data
+     * @return Data Input
+     */
+    @SuppressWarnings("unused")
+    private DataInput prepareInput(byte[] data) {
+        this.inputStream = new ByteArrayInputStream(data);
+        return new DataInputStream(this.inputStream);
+    }
+
+    @SuppressWarnings({ "unchecked", "rawtypes" })
+    private <T extends WritableComparable> void testWriteRead(T writable, T expected) throws IOException, InstantiationException, IllegalAccessException,
+            ClassNotFoundException {
+        // Write out data
+        DataOutput output = this.prepareOutput();
+        writable.write(output);
+
+        // Read back in data
+        DataInput input = this.prepareInput();
+        T actual = (T) Class.forName(writable.getClass().getName()).newInstance();
+        actual.readFields(input);
+
+        LOG.debug("Original = " + writable.toString());
+        LOG.debug("Round Tripped = " + actual.toString());
+
+        // Check equivalent
+        Assert.assertEquals(0, expected.compareTo(actual));
+    }
+    
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_null() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = null;
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+    
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    @Ignore
+    public void node_writable_variable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createVariable("x");
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+    
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    @Ignore
+    public void node_writable_variable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createVariable("really-log-variable-name-asddsfr4545egfdgdfgfdgdtgvdg-dfgfdgdfgdfgdfg4-dfvdfgdfgdfgfdgfdgdfgdfgfdg");
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_uri_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createURI("http://example.org");
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_uri_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createURI("http://user:password@example.org/some/path?key=value#id");
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("simple");
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("language", "en", null);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_03() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("string", XSDDatatype.XSDstring);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_04() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("1234", XSDDatatype.XSDinteger);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_05() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("123.4", XSDDatatype.XSDdecimal);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_06() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("12.3e4", XSDDatatype.XSDdouble);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_literal_07() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createLiteral("true", XSDDatatype.XSDboolean);
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_bnode_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createBlankNode();
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+    }
+
+    /**
+     * Basic node writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void node_writable_bnode_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Node n = NodeFactory.createBlankNode();
+        NodeWritable nw = new NodeWritable(n);
+        testWriteRead(nw, nw);
+        NodeWritable nw2 = new NodeWritable(n);
+        testWriteRead(nw2, nw2);
+
+        Assert.assertEquals(0, nw.compareTo(nw2));
+    }
+
+    /**
+     * Basic triple writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void triple_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Triple t = new Triple(NodeFactory.createURI("http://example"), NodeFactory.createURI("http://predicate"), NodeFactory.createLiteral("value"));
+        TripleWritable tw = new TripleWritable(t);
+        testWriteRead(tw, tw);
+    }
+    
+    /**
+     * Basic triple writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void triple_writable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Triple t = new Triple(NodeFactory.createBlankNode(), NodeFactory.createURI("http://predicate"), NodeFactory.createLiteral("value"));
+        TripleWritable tw = new TripleWritable(t);
+        testWriteRead(tw, tw);
+    }
+
+    /**
+     * Basic quad writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void quad_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Quad q = new Quad(Quad.defaultGraphNodeGenerated, NodeFactory.createURI("http://example"), NodeFactory.createURI("http://predicate"),
+                NodeFactory.createLiteral("value"));
+        QuadWritable qw = new QuadWritable(q);
+        testWriteRead(qw, qw);
+    }
+    
+    /**
+     * Basic quad writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void quad_writable_02() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Quad q = new Quad(Quad.defaultGraphNodeGenerated, NodeFactory.createBlankNode(), NodeFactory.createURI("http://predicate"),
+                NodeFactory.createLiteral("value"));
+        QuadWritable qw = new QuadWritable(q);
+        testWriteRead(qw, qw);
+    }
+
+    /**
+     * Basic tuple writable round tripping test
+     * 
+     * @throws IOException
+     * @throws InstantiationException
+     * @throws IllegalAccessException
+     * @throws ClassNotFoundException
+     */
+    @Test
+    public void tuple_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
+        Tuple<Node> t = tuple(NodeFactory.createURI("http://one"), NodeFactory.createURI("http://two"),
+                              NodeFactory.createLiteral("value"),
+                              NodeFactory.createLiteral("foo"), NodeFactory.createURI("http://three"));
+        NodeTupleWritable tw = new NodeTupleWritable(t);
+        testWriteRead(tw, tw);
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/HadoopIOConstants.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/HadoopIOConstants.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/HadoopIOConstants.java
index 5c1b41c..e2cc847 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/HadoopIOConstants.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/HadoopIOConstants.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/RdfIOConstants.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/RdfIOConstants.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/RdfIOConstants.java
index 27c2bb2..dbe16ff 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/RdfIOConstants.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/RdfIOConstants.java
@@ -1,81 +1,81 @@
-/*
- * 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.hadoop.rdf.io;
-
-import java.io.IOException;
-
-/**
- * RDF IO related constants
- * 
- * 
- * 
- */
-public class RdfIOConstants {
-
-    /**
-     * Private constructor prevents instantiation
-     */
-    private RdfIOConstants() {
-    }
-
-    /**
-     * Configuration key used to set whether bad tuples are ignored. This is the
-     * default behaviour, when explicitly set to {@code false} bad tuples will
-     * result in {@link IOException} being thrown by the relevant record
-     * readers.
-     */
-    public static final String INPUT_IGNORE_BAD_TUPLES = "rdf.io.input.ignore-bad-tuples";
-
-    /**
-     * Configuration key used to set the batch size used for RDF output formats
-     * that take a batched writing approach. Default value is given by the
-     * constant {@link #DEFAULT_OUTPUT_BATCH_SIZE}.
-     */
-    public static final String OUTPUT_BATCH_SIZE = "rdf.io.output.batch-size";
-
-    /**
-     * Default batch size for batched output formats
-     */
-    public static final long DEFAULT_OUTPUT_BATCH_SIZE = 10000;
-
-    /**
-     * Configuration key used to control behaviour with regards to how blank
-     * nodes are handled.
-     * <p>
-     * The default behaviour is that blank nodes are file scoped which is what
-     * the RDF specifications require.
-     * </p>
-     * <p>
-     * However in the case of a multi-stage pipeline this behaviour can cause
-     * blank nodes to diverge over several jobs and introduce spurious blank
-     * nodes over time. This is described in <a
-     * href="https://issues.apache.org/jira/browse/JENA-820">JENA-820</a> and
-     * enabling this flag for jobs in your pipeline allow you to work around
-     * this problem.
-     * </p>
-     * <h3>Warning</h3> You should only enable this flag for jobs that take in
-     * RDF output originating from previous jobs since our normal blank node
-     * allocation policy ensures that blank nodes will be file scoped and unique
-     * over all files (barring unfortunate hasing collisions). If you enable
-     * this for jobs that take in RDF originating from other sources you may
-     * incorrectly conflate blank nodes that are supposed to distinct and
-     * separate nodes.
-     */
-    public static final String GLOBAL_BNODE_IDENTITY = "rdf.io.input.bnodes.global-identity";
-}
+/*
+ * 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.hadoop.rdf.io;
+
+import java.io.IOException;
+
+/**
+ * RDF IO related constants
+ * 
+ * 
+ * 
+ */
+public class RdfIOConstants {
+
+    /**
+     * Private constructor prevents instantiation
+     */
+    private RdfIOConstants() {
+    }
+
+    /**
+     * Configuration key used to set whether bad tuples are ignored. This is the
+     * default behaviour, when explicitly set to {@code false} bad tuples will
+     * result in {@link IOException} being thrown by the relevant record
+     * readers.
+     */
+    public static final String INPUT_IGNORE_BAD_TUPLES = "rdf.io.input.ignore-bad-tuples";
+
+    /**
+     * Configuration key used to set the batch size used for RDF output formats
+     * that take a batched writing approach. Default value is given by the
+     * constant {@link #DEFAULT_OUTPUT_BATCH_SIZE}.
+     */
+    public static final String OUTPUT_BATCH_SIZE = "rdf.io.output.batch-size";
+
+    /**
+     * Default batch size for batched output formats
+     */
+    public static final long DEFAULT_OUTPUT_BATCH_SIZE = 10000;
+
+    /**
+     * Configuration key used to control behaviour with regards to how blank
+     * nodes are handled.
+     * <p>
+     * The default behaviour is that blank nodes are file scoped which is what
+     * the RDF specifications require.
+     * </p>
+     * <p>
+     * However in the case of a multi-stage pipeline this behaviour can cause
+     * blank nodes to diverge over several jobs and introduce spurious blank
+     * nodes over time. This is described in <a
+     * href="https://issues.apache.org/jira/browse/JENA-820">JENA-820</a> and
+     * enabling this flag for jobs in your pipeline allow you to work around
+     * this problem.
+     * </p>
+     * <h3>Warning</h3> You should only enable this flag for jobs that take in
+     * RDF output originating from previous jobs since our normal blank node
+     * allocation policy ensures that blank nodes will be file scoped and unique
+     * over all files (barring unfortunate hasing collisions). If you enable
+     * this for jobs that take in RDF originating from other sources you may
+     * incorrectly conflate blank nodes that are supposed to distinct and
+     * separate nodes.
+     */
+    public static final String GLOBAL_BNODE_IDENTITY = "rdf.io.input.bnodes.global-identity";
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractNLineFileInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractNLineFileInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractNLineFileInputFormat.java
index 1fcb030..64fdc79 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractNLineFileInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractNLineFileInputFormat.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import java.io.IOException;
@@ -27,8 +27,8 @@ import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.JobContext;
 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.NLineInputFormat;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Abstract line based input format that reuses the machinery from
@@ -41,8 +41,8 @@ import org.slf4j.LoggerFactory;
  * @param <TValue>
  *            Value type
  */
-public abstract class AbstractNLineFileInputFormat<TKey, TValue> extends FileInputFormat<TKey, TValue> {
-    
+public abstract class AbstractNLineFileInputFormat<TKey, TValue> extends FileInputFormat<TKey, TValue> {
+    
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractNLineFileInputFormat.class);
 
     /**
@@ -51,17 +51,17 @@ public abstract class AbstractNLineFileInputFormat<TKey, TValue> extends FileInp
      * 
      * @see FileInputFormat#getSplits(JobContext)
      */
-    public final List<InputSplit> getSplits(JobContext job) throws IOException {
-        boolean debug = LOGGER.isDebugEnabled();
-        if (debug && FileInputFormat.getInputDirRecursive(job)) {
-            LOGGER.debug("Recursive searching for input data is enabled");
-        }
+    public final List<InputSplit> getSplits(JobContext job) throws IOException {
+        boolean debug = LOGGER.isDebugEnabled();
+        if (debug && FileInputFormat.getInputDirRecursive(job)) {
+            LOGGER.debug("Recursive searching for input data is enabled");
+        }
         
         List<InputSplit> splits = new ArrayList<InputSplit>();
         int numLinesPerSplit = NLineInputFormat.getNumLinesPerSplit(job);
-        for (FileStatus status : listStatus(job)) {
-            if (debug) {
-                LOGGER.debug("Determining how to split input file/directory {}", status.getPath());
+        for (FileStatus status : listStatus(job)) {
+            if (debug) {
+                LOGGER.debug("Determining how to split input file/directory {}", status.getPath());
             }
             splits.addAll(NLineInputFormat.getSplitsForFile(status, job.getConfiguration(), numLinesPerSplit));
         }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileInputFormat.java
index e561cdb..01d78d5 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileInputFormat.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import org.apache.hadoop.fs.Path;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/QuadsInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/QuadsInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/QuadsInputFormat.java
index 7136472..255fc8e 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/QuadsInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/QuadsInputFormat.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.readers.QuadsReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.readers.QuadsReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesInputFormat.java
index 62144f3..4ba5ff1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesInputFormat.java
@@ -1,39 +1,39 @@
-/*
- * 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.hadoop.rdf.io.input;
-
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.readers.TriplesReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
-/**
- * RDF input format that can handle any RDF triples format that ARQ supports
- * selecting the format to use for each file based upon the file extension
- */
-public class TriplesInputFormat extends AbstractWholeFileInputFormat<LongWritable, TripleWritable> {
-
-    @Override
-    public RecordReader<LongWritable, TripleWritable> createRecordReader(InputSplit split, TaskAttemptContext context) {
-        return new TriplesReader();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.input;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.jena.hadoop.rdf.io.input.readers.TriplesReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+/**
+ * RDF input format that can handle any RDF triples format that ARQ supports
+ * selecting the format to use for each file based upon the file extension
+ */
+public class TriplesInputFormat extends AbstractWholeFileInputFormat<LongWritable, TripleWritable> {
+
+    @Override
+    public RecordReader<LongWritable, TripleWritable> createRecordReader(InputSplit split, TaskAttemptContext context) {
+        return new TriplesReader();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesOrQuadsInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesOrQuadsInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesOrQuadsInputFormat.java
index 50da740..4ef8656 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesOrQuadsInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/TriplesOrQuadsInputFormat.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.readers.TriplesOrQuadsReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.readers.TriplesOrQuadsReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputFormat.java
index 801f762..296e4c9 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.nquads.BlockedNQuadsReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.nquads.BlockedNQuadsReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputFormat.java
index e1110b6..cda77e5 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputFormat.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.nquads.NQuadsReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
+import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.nquads.NQuadsReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
 
 /**
  * NQuads input format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputFormat.java
index 9d5966f..086ddba 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.nquads.WholeFileNQuadsReader;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.nquads.WholeFileNQuadsReader;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputFormat.java
index 3536f5d..81cc6a2 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.BlockedNTriplesReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.BlockedNTriplesReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputFormat.java
index bbe4c9a..5bfa04c 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputFormat.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.NTriplesReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
+import org.apache.jena.hadoop.rdf.io.input.AbstractNLineFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.NTriplesReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
 
 /**
  * NTriples input format

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputFormat.java
index 5a06789..0b7db0a 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.WholeFileNTriplesReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.ntriples.WholeFileNTriplesReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputFormat.java
index 29d0f6f..66b1833 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.rdfjson;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.rdfjson.RdfJsonReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.rdfjson.RdfJsonReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputFormat.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputFormat.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputFormat.java
index f231073..0a2b25b 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputFormat.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputFormat.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.rdfxml;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.readers.rdfxml.RdfXmlReader;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.readers.rdfxml.RdfXmlReader;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**


[12/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDQuadInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDQuadInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDQuadInputFormatTests.java
index dc0c03c..854bddd 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDQuadInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDQuadInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.jsonld.JsonLDQuadInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.jsonld.JsonLDQuadInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 
@@ -70,21 +70,21 @@ public abstract class AbstractCompressedJsonLDQuadInputFormatTests extends Abstr
     protected final InputFormat<LongWritable, QuadWritable> getInputFormat() {
         return new JsonLDQuadInputFormat();
     }
-
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #single_input_05()
-    */
-    @Override
-    protected int single_input_05_expected() {
-        return 0 ;
-    }
-    
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #multiple_inputs_02()
-     */
-    @Override
-    protected int multiple_inputs_02_expected() {
-        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
-    }
+
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #single_input_05()
+    */
+    @Override
+    protected int single_input_05_expected() {
+        return 0 ;
+    }
+    
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #multiple_inputs_02()
+     */
+    @Override
+    protected int multiple_inputs_02_expected() {
+        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
+    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDTripleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDTripleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDTripleInputFormatTests.java
index 89ba765..121b847 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDTripleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/AbstractCompressedJsonLDTripleInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.jsonld.JsonLDTripleInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.jsonld.JsonLDTripleInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 
@@ -69,21 +69,21 @@ public abstract class AbstractCompressedJsonLDTripleInputFormatTests extends Abs
     @Override
     protected final InputFormat<LongWritable, TripleWritable> getInputFormat() {
         return new JsonLDTripleInputFormat();
-    }
-    
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #single_input_05()
-    */
-    @Override
-    protected int single_input_05_expected() {
-        return 0 ;
-    }
-    
-    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
-     * @see #multiple_inputs_02()
-     */
-    @Override
-    protected int multiple_inputs_02_expected() {
-        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
+    }
+    
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #single_input_05()
+    */
+    @Override
+    protected int single_input_05_expected() {
+        return 0 ;
+    }
+    
+    /** JSON_LD does not produce any quads from a bad document (no partial streaming).
+     * @see #multiple_inputs_02()
+     */
+    @Override
+    protected int multiple_inputs_02_expected() {
+        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE ;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDQuadInputTest.java
index e5e7066..5c542cb 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDQuadInputTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.jsonld;
-
-import org.apache.hadoop.io.compress.BZip2Codec;
-
-/**
- * Tests for BZipped JSON-LD input
- */
-public class BZippedJsonLDQuadInputTest extends AbstractCompressedJsonLDQuadInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public BZippedJsonLDQuadInputTest() {
-        super(".jsonld.bz2", new BZip2Codec());
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+
+/**
+ * Tests for BZipped JSON-LD input
+ */
+public class BZippedJsonLDQuadInputTest extends AbstractCompressedJsonLDQuadInputFormatTests {
+
+    /**
+     * Creates new tests
+     */
+    public BZippedJsonLDQuadInputTest() {
+        super(".jsonld.bz2", new BZip2Codec());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDTripleInputTest.java
index 8d2e122..76fb332 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/BZippedJsonLDTripleInputTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.hadoop.rdf.io.input.compressed.jsonld;
-
-import org.apache.hadoop.io.compress.BZip2Codec;
-
-/**
- * Tests for BZipped JSON-LD input
- */
-public class BZippedJsonLDTripleInputTest extends AbstractCompressedJsonLDTripleInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public BZippedJsonLDTripleInputTest() {
-        super(".jsonld.bz2", new BZip2Codec());
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+
+/**
+ * Tests for BZipped JSON-LD input
+ */
+public class BZippedJsonLDTripleInputTest extends AbstractCompressedJsonLDTripleInputFormatTests {
+
+    /**
+     * Creates new tests
+     */
+    public BZippedJsonLDTripleInputTest() {
+        super(".jsonld.bz2", new BZip2Codec());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDQuadInputTest.java
index 292b17f..653ec50 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDQuadInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDTripleInputTest.java
index e5edd6a..a3ae26e 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/DeflatedJsonLDTripleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDQuadInputTest.java
index 0a4a240..18c30ad 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDQuadInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDTripleInputTest.java
index 8a6324d..61b2d39 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/jsonld/GZippedJsonLDTripleInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.jsonld;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedNQuadsInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedNQuadsInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedNQuadsInputFormatTests.java
index 2b8447b..d657ce5 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedNQuadsInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedNQuadsInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedQuadsInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.nquads.NQuadsInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedQuadsInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.nquads.NQuadsInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedWholeFileNQuadsInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedWholeFileNQuadsInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedWholeFileNQuadsInputFormatTests.java
index 326258a..836fafb 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedWholeFileNQuadsInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/AbstractCompressedWholeFileNQuadsInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.nquads.WholeFileNQuadsInputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.nquads.WholeFileNQuadsInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedNQuadsInputTest.java
index 62dc9ce..9fc99d6 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedWholeFileNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedWholeFileNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedWholeFileNQuadsInputTest.java
index e3d670c..22a49dc 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedWholeFileNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/BZipppedWholeFileNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedNQuadsInputTest.java
index 5fec23e..89bb178 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedWholeFileNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedWholeFileNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedWholeFileNQuadsInputTest.java
index a31472d..e2bef8d 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedWholeFileNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/DeflatedWholeFileNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedNQuadsInputTest.java
index 2d40dec..0e06a00 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedWholeFileNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedWholeFileNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedWholeFileNQuadsInputTest.java
index 0f73eb7..79f58a3 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedWholeFileNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/nquads/GZippedWholeFileNQuadsInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.nquads;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedBlockedNTriplesInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedBlockedNTriplesInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedBlockedNTriplesInputFormatTests.java
index 611d862..d407c72 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedBlockedNTriplesInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedBlockedNTriplesInputFormatTests.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.ntriples.BlockedNTriplesInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.ntriples.BlockedNTriplesInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedNTriplesInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedNTriplesInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedNTriplesInputFormatTests.java
index 4d9aeba..da18bb8 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedNTriplesInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedNTriplesInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedTriplesInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.ntriples.NTriplesInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedTriplesInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.ntriples.NTriplesInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedWholeFileNTriplesInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedWholeFileNTriplesInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedWholeFileNTriplesInputFormatTests.java
index 7d4b510..867a1fa 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedWholeFileNTriplesInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/AbstractCompressedWholeFileNTriplesInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.ntriples.WholeFileNTriplesInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.ntriples.WholeFileNTriplesInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedBlockedNTriplesInput.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedBlockedNTriplesInput.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedBlockedNTriplesInput.java
index de45f17..b9a5d59 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedBlockedNTriplesInput.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedBlockedNTriplesInput.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedNTriplesInputTest.java
index fb1ab8b..58cc8f9 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedWholeFileNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedWholeFileNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedWholeFileNTriplesInputTest.java
index d50b6eb..661ba67 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedWholeFileNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/BZippedWholeFileNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.BZip2Codec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedBlockedNTriplesInput.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedBlockedNTriplesInput.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedBlockedNTriplesInput.java
index 9780707..9565042 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedBlockedNTriplesInput.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedBlockedNTriplesInput.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedNTriplesInputTest.java
index b6dd1e9..3e81c48 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedWholeFileNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedWholeFileNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedWholeFileNTriplesInputTest.java
index e1e57f4..b517335 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedWholeFileNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/DeflatedWholeFileNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.DefaultCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedBlockedNTriplesInput.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedBlockedNTriplesInput.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedBlockedNTriplesInput.java
index 012fd58..4175b82 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedBlockedNTriplesInput.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedBlockedNTriplesInput.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedNTriplesInputTest.java
index 3cb4ee0..ba223c4 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedWholeFileNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedWholeFileNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedWholeFileNTriplesInputTest.java
index b7acc08..cbc5eb5 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedWholeFileNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/ntriples/GZippedWholeFileNTriplesInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.ntriples;
 
 import org.apache.hadoop.io.compress.GzipCodec;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/AbstractCompressedRdfJsonInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/AbstractCompressedRdfJsonInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/AbstractCompressedRdfJsonInputFormatTests.java
index 3b2546d..a48d9c0 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/AbstractCompressedRdfJsonInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/AbstractCompressedRdfJsonInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfjson;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.io.input.rdfjson.RdfJsonInputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.rdfjson.RdfJsonInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/BZippedRdfJsonInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/BZippedRdfJsonInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/BZippedRdfJsonInputTest.java
index 6e58d4b..adc8a75 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/BZippedRdfJsonInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/rdfjson/BZippedRdfJsonInputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed.rdfjson;
 
 import org.apache.hadoop.io.compress.BZip2Codec;


[05/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitWithNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitWithNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitWithNodesTests.java
index 3ccb34c..912cae1 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitWithNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitWithNodesTests.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for {@link AbstractNodeTupleSplitToNodesMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitToNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitToNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitToNodesTests.java
index 5d21bde..91d671e 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitToNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitToNodesTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for {@link AbstractNodeTupleSplitToNodesMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitWithNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitWithNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitWithNodesTests.java
index 4648a83..327a821 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitWithNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractTripleSplitWithNodesTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for {@link AbstractNodeTupleSplitToNodesMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapperTest.java
index 61058c6..79f73de 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.split.QuadSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.split.QuadSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapperTest.java
index a171ffb..b50cdbb 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.split.QuadSplitWithNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.split.QuadSplitWithNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapperTest.java
index d91efca..38b6c72 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapperTest.java
index 3b71f40..9731f07 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapperTest.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitWithNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.split.TripleSplitWithNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapperTest.java
index e6167c0..ad7b0f2 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapperTest.java
@@ -1,37 +1,37 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
 import org.apache.hadoop.mrunit.types.Pair;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.transform.QuadsToTriplesMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.transform.QuadsToTriplesMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
 import org.junit.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapperTest.java
index e52ea6f..6fb1279 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapperTest.java
@@ -1,37 +1,37 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
 import org.apache.hadoop.mrunit.types.Pair;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsBySubjectMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsBySubjectMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
 import org.junit.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapperTest.java
index 0a73623..af9cf20 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapperTest.java
@@ -1,37 +1,37 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
 import org.apache.hadoop.mrunit.types.Pair;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsConstantGraphMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsConstantGraphMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
 import org.junit.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/RdfStats.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/RdfStats.java b/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/RdfStats.java
index c62c50b..7425f42 100644
--- a/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/RdfStats.java
+++ b/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/RdfStats.java
@@ -1,421 +1,421 @@
-/*
- * 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.hadoop.rdf.stats;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-
-import org.apache.commons.io.output.CloseShieldOutputStream;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.util.Tool;
-import org.apache.hadoop.util.ToolRunner;
-import org.apache.jena.hadoop.rdf.stats.jobs.JobFactory;
-
-import com.github.rvesse.airline.HelpOption;
-import com.github.rvesse.airline.SingleCommand;
-import com.github.rvesse.airline.annotations.Arguments;
-import com.github.rvesse.airline.annotations.Command;
-import com.github.rvesse.airline.annotations.Option;
-import com.github.rvesse.airline.annotations.restrictions.AllowedRawValues;
-import com.github.rvesse.airline.annotations.restrictions.Required;
-import com.github.rvesse.airline.help.Help;
-import com.github.rvesse.airline.io.colors.BasicColor;
-import com.github.rvesse.airline.io.output.AnsiBasicColorizedOutputStream;
-import com.github.rvesse.airline.io.output.ColorizedOutputStream;
-import com.github.rvesse.airline.model.CommandMetadata;
-import com.github.rvesse.airline.parser.errors.ParseException;
-
-/**
- * Entry point for the Hadoop job, handles launching all the relevant Hadoop
- * jobs
- */
-@Command(name = "hadoop jar PATH_TO_JAR org.apache.jena.hadoop.rdf.stats.RdfStats", description = "A command which computes statistics on RDF data using Hadoop")
-public class RdfStats implements Tool {
-    //@formatter:off
-    private static final String DATA_TYPE_TRIPLES = "triples", 
-                                DATA_TYPE_QUADS = "quads", 
-                                DATA_TYPE_MIXED = "mixed";
-    //@formatter:on
-
-    /**
-     * Help option
-     */
-    @Inject
-    public HelpOption<RdfStats> helpOption;
-
-    /**
-     * Gets/Sets whether all available statistics will be calculated
-     */
-    @Option(name = { "-a", "--all" }, description = "Requests that all available statistics be calculated")
-    public boolean all = false;
-
-    /**
-     * Gets/Sets whether node usage counts will be calculated
-     */
-    @Option(name = { "-n", "--node-count" }, description = "Requests that node usage counts be calculated")
-    public boolean nodeCount = false;
-
-    /**
-     * Gets/Sets whether characteristic sets will be calculated
-     */
-    @Option(name = { "-c",
-            "--characteristic-sets" }, hidden = true, description = "Requests that characteristic sets be calculated (hidden as this has scalability issues)")
-    public boolean characteristicSets = false;
-
-    /**
-     * Gets/Sets whether type counts will be calculated
-     */
-    @Option(name = { "-t", "--type-count" }, description = "Requests that rdf:type usage counts be calculated")
-    public boolean typeCount = false;
-
-    /**
-     * Gets/Sets whether data type counts will be calculated
-     */
-    @Option(name = { "-d", "--data-types" }, description = "Requests that literal data type usage counts be calculated")
-    public boolean dataTypeCount = false;
-
-    /**
-     * Gets/Sets whether namespace counts will be calculated
-     */
-    @Option(name = { "--namespaces" }, description = "Requests that namespace usage counts be calculated")
-    public boolean namespaceCount = false;
-
-    @Option(name = { "-g", "--graph-sizes" }, description = "Requests that the size of each named graph be counted")
-    public boolean graphSize = false;
-
-    /**
-     * Gets/Sets the input data type used
-     */
-    @Option(name = {
-            "--input-type" }, description = "Specifies whether the input data is a mixture of quads and triples, just quads or just triples.  Using the most specific data type will yield the most accurate statistics")
-    @AllowedRawValues(allowedValues = { DATA_TYPE_MIXED, DATA_TYPE_QUADS, DATA_TYPE_TRIPLES })
-    public String inputType = DATA_TYPE_MIXED;
-
-    /**
-     * Gets/Sets the output path
-     */
-    @Option(name = { "-o", "--output" }, title = "OutputPath", description = "Sets the output path", arity = 1)
-    @Required
-    public String outputPath = null;
-
-    /**
-     * Gets/Sets the input path(s)
-     */
-    @Arguments(description = "Sets the input path(s)", title = "InputPath")
-    @Required
-    public List<String> inputPaths = new ArrayList<String>();
-
-    private Configuration config;
-
-    /**
-     * Entry point method
-     * 
-     * @param args
-     *            Arguments
-     */
-    public static void main(String[] args) {
-        ColorizedOutputStream<BasicColor> error = new AnsiBasicColorizedOutputStream(
-                new CloseShieldOutputStream(System.err));
-        try {
-            // Run and exit with result code if no errors bubble up
-            // Note that the exit code may still be a error code
-            int res = ToolRunner.run(new Configuration(true), new RdfStats(), args);
-            System.exit(res);
-        } catch (Throwable e) {
-            // This will only happen if Hadoop option parsing errors
-            // The run() method will handle its error itself
-            error.setForegroundColor(BasicColor.RED);
-            error.println(e.getMessage());
-            e.printStackTrace(error);
-        } finally {
-            error.close();
-        }
-        // If any errors bubble up exit with non-zero code
-        System.exit(1);
-    }
-
-    private static void showUsage() throws IOException {
-        CommandMetadata metadata = SingleCommand.singleCommand(RdfStats.class).getCommandMetadata();
-        Help.help(metadata, System.err);
-        System.exit(1);
-    }
-
-    @Override
-    public void setConf(Configuration conf) {
-        this.config = conf;
-    }
-
-    @Override
-    public Configuration getConf() {
-        return this.config;
-    }
-
-    @Override
-    public int run(String[] args) {
-        ColorizedOutputStream<BasicColor> error = new AnsiBasicColorizedOutputStream(
-                new CloseShieldOutputStream(System.err));
-        try {
-            if (args.length == 0) {
-                showUsage();
-            }
-
-            // Parse custom arguments
-            RdfStats cmd = SingleCommand.singleCommand(RdfStats.class).parse(args);
-
-            // Copy Hadoop configuration across
-            cmd.setConf(this.getConf());
-
-            // Show help if requested and exit with success
-            if (cmd.helpOption.showHelpIfRequested()) {
-                return 0;
-            }
-
-            // Run the command and exit with success
-            cmd.run();
-            return 0;
-        } catch (ParseException e) {
-            error.setForegroundColor(BasicColor.RED);
-            error.println(e.getMessage());
-            error.println();
-        } catch (Throwable e) {
-            error.setForegroundColor(BasicColor.RED);
-            error.println(e.getMessage());
-            e.printStackTrace(error);
-            error.println();
-        } finally {
-            error.close();
-        }
-        return 1;
-    }
-
-    private void run() throws Throwable {
-        if (!this.outputPath.endsWith("/")) {
-            this.outputPath += "/";
-        }
-
-        // If all statistics requested turn on all statistics
-        if (this.all) {
-            this.nodeCount = true;
-            this.characteristicSets = true;
-            this.typeCount = true;
-            this.dataTypeCount = true;
-            this.namespaceCount = true;
-        }
-
-        // How many statistics were requested?
-        int statsRequested = 0;
-        if (this.nodeCount)
-            statsRequested++;
-        if (this.characteristicSets)
-            statsRequested++;
-        if (this.typeCount)
-            statsRequested++;
-        if (this.dataTypeCount)
-            statsRequested++;
-        if (this.namespaceCount)
-            statsRequested++;
-        if (this.graphSize)
-            statsRequested++;
-
-        // Error if no statistics requested
-        if (statsRequested == 0) {
-            System.err.println(
-                    "You did not request any statistics to be calculated, please use one/more of the relevant options to select the statistics to be computed");
-            return;
-        }
-        int statsComputed = 1;
-
-        // Compute statistics
-        if (this.nodeCount) {
-            Job job = this.selectNodeCountJob();
-            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
-        }
-        if (this.graphSize) {
-            Job job = this.selectGraphSizeJob();
-            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
-        }
-        if (this.typeCount) {
-            Job[] jobs = this.selectTypeCountJobs();
-            statsComputed = this.computeStatistic(jobs, false, false, statsComputed, statsRequested);
-        }
-        if (this.dataTypeCount) {
-            Job job = this.selectDataTypeCountJob();
-            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
-        }
-        if (this.namespaceCount) {
-            Job job = this.selectNamespaceCountJob();
-            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
-        }
-        if (this.characteristicSets) {
-            Job[] jobs = this.selectCharacteristicSetJobs();
-            statsComputed = this.computeStatistic(jobs, false, false, statsComputed, statsRequested);
-        }
-    }
-
-    private int computeStatistic(Job job, int statsComputed, int statsRequested) throws Throwable {
-        System.out.println(String.format("Computing Statistic %d of %d requested", statsComputed, statsRequested));
-        this.runJob(job);
-        System.out.println(String.format("Computed Statistic %d of %d requested", statsComputed, statsRequested));
-        System.out.println();
-        return ++statsComputed;
-    }
-
-    private int computeStatistic(Job[] jobs, boolean continueOnFailure, boolean continueOnError, int statsComputed,
-            int statsRequested) {
-        System.out.println(String.format("Computing Statistic %d of %d requested", statsComputed, statsRequested));
-        this.runJobSequence(jobs, continueOnFailure, continueOnError);
-        System.out.println(String.format("Computed Statistic %d of %d requested", statsComputed, statsRequested));
-        System.out.println();
-        return ++statsComputed;
-    }
-
-    private boolean runJob(Job job) throws Throwable {
-        System.out.println("Submitting Job " + job.getJobName());
-        long start = System.nanoTime();
-        try {
-            job.submit();
-            if (job.monitorAndPrintJob()) {
-                System.out.println("Job " + job.getJobName() + " succeeded");
-                return true;
-            } else {
-                System.out.println("Job " + job.getJobName() + " failed");
-                return false;
-            }
-        } catch (Throwable e) {
-            System.out.println("Unexpected failure in Job " + job.getJobName());
-            throw e;
-        } finally {
-            long end = System.nanoTime();
-            System.out.println("Job " + job.getJobName() + " finished after "
-                    + String.format("%,d milliseconds", TimeUnit.NANOSECONDS.toMillis(end - start)));
-            System.out.println();
-        }
-    }
-
-    private void runJobSequence(Job[] jobs, boolean continueOnFailure, boolean continueOnError) {
-        for (int i = 0; i < jobs.length; i++) {
-            Job job = jobs[i];
-            try {
-                boolean success = this.runJob(job);
-                if (!success && !continueOnFailure)
-                    throw new IllegalStateException(
-                            "Unable to complete job sequence because Job " + job.getJobName() + " failed");
-            } catch (IllegalStateException e) {
-                throw e;
-            } catch (Throwable e) {
-                if (!continueOnError)
-                    throw new IllegalStateException(
-                            "Unable to complete job sequence because job " + job.getJobName() + " errorred", e);
-            }
-        }
-    }
-
-    private Job selectNodeCountJob() throws IOException {
-        String realOutputPath = outputPath + "node-counts/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadNodeCountJob(this.config, inputs, realOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleNodeCountJob(this.config, inputs, realOutputPath);
-        } else {
-            return JobFactory.getNodeCountJob(this.config, inputs, realOutputPath);
-        }
-    }
-
-    private Job selectGraphSizeJob() throws IOException {
-        String realOutputPath = outputPath + "graph-sizes/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadGraphSizesJob(this.config, inputs, realOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleGraphSizesJob(this.config, inputs, realOutputPath);
-        } else {
-            return JobFactory.getGraphSizesJob(this.config, inputs, realOutputPath);
-        }
-    }
-
-    private Job selectDataTypeCountJob() throws IOException {
-        String realOutputPath = outputPath + "data-type-counts/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadDataTypeCountJob(this.config, inputs, realOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleDataTypeCountJob(this.config, inputs, realOutputPath);
-        } else {
-            return JobFactory.getDataTypeCountJob(this.config, inputs, realOutputPath);
-        }
-    }
-
-    private Job selectNamespaceCountJob() throws IOException {
-        String realOutputPath = outputPath + "namespace-counts/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadNamespaceCountJob(this.config, inputs, realOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleNamespaceCountJob(this.config, inputs, realOutputPath);
-        } else {
-            return JobFactory.getNamespaceCountJob(this.config, inputs, realOutputPath);
-        }
-    }
-
-    private Job[] selectCharacteristicSetJobs() throws IOException {
-        String intermediateOutputPath = outputPath + "characteristics/intermediate/";
-        String finalOutputPath = outputPath + "characteristics/final/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadCharacteristicSetJobs(this.config, inputs, intermediateOutputPath,
-                    finalOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleCharacteristicSetJobs(this.config, inputs, intermediateOutputPath,
-                    finalOutputPath);
-        } else {
-            return JobFactory.getCharacteristicSetJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
-        }
-    }
-
-    private Job[] selectTypeCountJobs() throws IOException {
-        String intermediateOutputPath = outputPath + "type-declarations/";
-        String finalOutputPath = outputPath + "type-counts/";
-        String[] inputs = new String[this.inputPaths.size()];
-        this.inputPaths.toArray(inputs);
-
-        if (DATA_TYPE_QUADS.equals(this.inputType)) {
-            return JobFactory.getQuadTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
-        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
-            return JobFactory.getTripleTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
-        } else {
-            return JobFactory.getTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
-        }
-    }
-}
+/*
+ * 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.hadoop.rdf.stats;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import javax.inject.Inject;
+
+import org.apache.commons.io.output.CloseShieldOutputStream;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.mapreduce.Job;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.jena.hadoop.rdf.stats.jobs.JobFactory;
+
+import com.github.rvesse.airline.HelpOption;
+import com.github.rvesse.airline.SingleCommand;
+import com.github.rvesse.airline.annotations.Arguments;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.AllowedRawValues;
+import com.github.rvesse.airline.annotations.restrictions.Required;
+import com.github.rvesse.airline.help.Help;
+import com.github.rvesse.airline.io.colors.BasicColor;
+import com.github.rvesse.airline.io.output.AnsiBasicColorizedOutputStream;
+import com.github.rvesse.airline.io.output.ColorizedOutputStream;
+import com.github.rvesse.airline.model.CommandMetadata;
+import com.github.rvesse.airline.parser.errors.ParseException;
+
+/**
+ * Entry point for the Hadoop job, handles launching all the relevant Hadoop
+ * jobs
+ */
+@Command(name = "hadoop jar PATH_TO_JAR org.apache.jena.hadoop.rdf.stats.RdfStats", description = "A command which computes statistics on RDF data using Hadoop")
+public class RdfStats implements Tool {
+    //@formatter:off
+    private static final String DATA_TYPE_TRIPLES = "triples", 
+                                DATA_TYPE_QUADS = "quads", 
+                                DATA_TYPE_MIXED = "mixed";
+    //@formatter:on
+
+    /**
+     * Help option
+     */
+    @Inject
+    public HelpOption<RdfStats> helpOption;
+
+    /**
+     * Gets/Sets whether all available statistics will be calculated
+     */
+    @Option(name = { "-a", "--all" }, description = "Requests that all available statistics be calculated")
+    public boolean all = false;
+
+    /**
+     * Gets/Sets whether node usage counts will be calculated
+     */
+    @Option(name = { "-n", "--node-count" }, description = "Requests that node usage counts be calculated")
+    public boolean nodeCount = false;
+
+    /**
+     * Gets/Sets whether characteristic sets will be calculated
+     */
+    @Option(name = { "-c",
+            "--characteristic-sets" }, hidden = true, description = "Requests that characteristic sets be calculated (hidden as this has scalability issues)")
+    public boolean characteristicSets = false;
+
+    /**
+     * Gets/Sets whether type counts will be calculated
+     */
+    @Option(name = { "-t", "--type-count" }, description = "Requests that rdf:type usage counts be calculated")
+    public boolean typeCount = false;
+
+    /**
+     * Gets/Sets whether data type counts will be calculated
+     */
+    @Option(name = { "-d", "--data-types" }, description = "Requests that literal data type usage counts be calculated")
+    public boolean dataTypeCount = false;
+
+    /**
+     * Gets/Sets whether namespace counts will be calculated
+     */
+    @Option(name = { "--namespaces" }, description = "Requests that namespace usage counts be calculated")
+    public boolean namespaceCount = false;
+
+    @Option(name = { "-g", "--graph-sizes" }, description = "Requests that the size of each named graph be counted")
+    public boolean graphSize = false;
+
+    /**
+     * Gets/Sets the input data type used
+     */
+    @Option(name = {
+            "--input-type" }, description = "Specifies whether the input data is a mixture of quads and triples, just quads or just triples.  Using the most specific data type will yield the most accurate statistics")
+    @AllowedRawValues(allowedValues = { DATA_TYPE_MIXED, DATA_TYPE_QUADS, DATA_TYPE_TRIPLES })
+    public String inputType = DATA_TYPE_MIXED;
+
+    /**
+     * Gets/Sets the output path
+     */
+    @Option(name = { "-o", "--output" }, title = "OutputPath", description = "Sets the output path", arity = 1)
+    @Required
+    public String outputPath = null;
+
+    /**
+     * Gets/Sets the input path(s)
+     */
+    @Arguments(description = "Sets the input path(s)", title = "InputPath")
+    @Required
+    public List<String> inputPaths = new ArrayList<String>();
+
+    private Configuration config;
+
+    /**
+     * Entry point method
+     * 
+     * @param args
+     *            Arguments
+     */
+    public static void main(String[] args) {
+        ColorizedOutputStream<BasicColor> error = new AnsiBasicColorizedOutputStream(
+                new CloseShieldOutputStream(System.err));
+        try {
+            // Run and exit with result code if no errors bubble up
+            // Note that the exit code may still be a error code
+            int res = ToolRunner.run(new Configuration(true), new RdfStats(), args);
+            System.exit(res);
+        } catch (Throwable e) {
+            // This will only happen if Hadoop option parsing errors
+            // The run() method will handle its error itself
+            error.setForegroundColor(BasicColor.RED);
+            error.println(e.getMessage());
+            e.printStackTrace(error);
+        } finally {
+            error.close();
+        }
+        // If any errors bubble up exit with non-zero code
+        System.exit(1);
+    }
+
+    private static void showUsage() throws IOException {
+        CommandMetadata metadata = SingleCommand.singleCommand(RdfStats.class).getCommandMetadata();
+        Help.help(metadata, System.err);
+        System.exit(1);
+    }
+
+    @Override
+    public void setConf(Configuration conf) {
+        this.config = conf;
+    }
+
+    @Override
+    public Configuration getConf() {
+        return this.config;
+    }
+
+    @Override
+    public int run(String[] args) {
+        ColorizedOutputStream<BasicColor> error = new AnsiBasicColorizedOutputStream(
+                new CloseShieldOutputStream(System.err));
+        try {
+            if (args.length == 0) {
+                showUsage();
+            }
+
+            // Parse custom arguments
+            RdfStats cmd = SingleCommand.singleCommand(RdfStats.class).parse(args);
+
+            // Copy Hadoop configuration across
+            cmd.setConf(this.getConf());
+
+            // Show help if requested and exit with success
+            if (cmd.helpOption.showHelpIfRequested()) {
+                return 0;
+            }
+
+            // Run the command and exit with success
+            cmd.run();
+            return 0;
+        } catch (ParseException e) {
+            error.setForegroundColor(BasicColor.RED);
+            error.println(e.getMessage());
+            error.println();
+        } catch (Throwable e) {
+            error.setForegroundColor(BasicColor.RED);
+            error.println(e.getMessage());
+            e.printStackTrace(error);
+            error.println();
+        } finally {
+            error.close();
+        }
+        return 1;
+    }
+
+    private void run() throws Throwable {
+        if (!this.outputPath.endsWith("/")) {
+            this.outputPath += "/";
+        }
+
+        // If all statistics requested turn on all statistics
+        if (this.all) {
+            this.nodeCount = true;
+            this.characteristicSets = true;
+            this.typeCount = true;
+            this.dataTypeCount = true;
+            this.namespaceCount = true;
+        }
+
+        // How many statistics were requested?
+        int statsRequested = 0;
+        if (this.nodeCount)
+            statsRequested++;
+        if (this.characteristicSets)
+            statsRequested++;
+        if (this.typeCount)
+            statsRequested++;
+        if (this.dataTypeCount)
+            statsRequested++;
+        if (this.namespaceCount)
+            statsRequested++;
+        if (this.graphSize)
+            statsRequested++;
+
+        // Error if no statistics requested
+        if (statsRequested == 0) {
+            System.err.println(
+                    "You did not request any statistics to be calculated, please use one/more of the relevant options to select the statistics to be computed");
+            return;
+        }
+        int statsComputed = 1;
+
+        // Compute statistics
+        if (this.nodeCount) {
+            Job job = this.selectNodeCountJob();
+            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
+        }
+        if (this.graphSize) {
+            Job job = this.selectGraphSizeJob();
+            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
+        }
+        if (this.typeCount) {
+            Job[] jobs = this.selectTypeCountJobs();
+            statsComputed = this.computeStatistic(jobs, false, false, statsComputed, statsRequested);
+        }
+        if (this.dataTypeCount) {
+            Job job = this.selectDataTypeCountJob();
+            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
+        }
+        if (this.namespaceCount) {
+            Job job = this.selectNamespaceCountJob();
+            statsComputed = this.computeStatistic(job, statsComputed, statsRequested);
+        }
+        if (this.characteristicSets) {
+            Job[] jobs = this.selectCharacteristicSetJobs();
+            statsComputed = this.computeStatistic(jobs, false, false, statsComputed, statsRequested);
+        }
+    }
+
+    private int computeStatistic(Job job, int statsComputed, int statsRequested) throws Throwable {
+        System.out.println(String.format("Computing Statistic %d of %d requested", statsComputed, statsRequested));
+        this.runJob(job);
+        System.out.println(String.format("Computed Statistic %d of %d requested", statsComputed, statsRequested));
+        System.out.println();
+        return ++statsComputed;
+    }
+
+    private int computeStatistic(Job[] jobs, boolean continueOnFailure, boolean continueOnError, int statsComputed,
+            int statsRequested) {
+        System.out.println(String.format("Computing Statistic %d of %d requested", statsComputed, statsRequested));
+        this.runJobSequence(jobs, continueOnFailure, continueOnError);
+        System.out.println(String.format("Computed Statistic %d of %d requested", statsComputed, statsRequested));
+        System.out.println();
+        return ++statsComputed;
+    }
+
+    private boolean runJob(Job job) throws Throwable {
+        System.out.println("Submitting Job " + job.getJobName());
+        long start = System.nanoTime();
+        try {
+            job.submit();
+            if (job.monitorAndPrintJob()) {
+                System.out.println("Job " + job.getJobName() + " succeeded");
+                return true;
+            } else {
+                System.out.println("Job " + job.getJobName() + " failed");
+                return false;
+            }
+        } catch (Throwable e) {
+            System.out.println("Unexpected failure in Job " + job.getJobName());
+            throw e;
+        } finally {
+            long end = System.nanoTime();
+            System.out.println("Job " + job.getJobName() + " finished after "
+                    + String.format("%,d milliseconds", TimeUnit.NANOSECONDS.toMillis(end - start)));
+            System.out.println();
+        }
+    }
+
+    private void runJobSequence(Job[] jobs, boolean continueOnFailure, boolean continueOnError) {
+        for (int i = 0; i < jobs.length; i++) {
+            Job job = jobs[i];
+            try {
+                boolean success = this.runJob(job);
+                if (!success && !continueOnFailure)
+                    throw new IllegalStateException(
+                            "Unable to complete job sequence because Job " + job.getJobName() + " failed");
+            } catch (IllegalStateException e) {
+                throw e;
+            } catch (Throwable e) {
+                if (!continueOnError)
+                    throw new IllegalStateException(
+                            "Unable to complete job sequence because job " + job.getJobName() + " errorred", e);
+            }
+        }
+    }
+
+    private Job selectNodeCountJob() throws IOException {
+        String realOutputPath = outputPath + "node-counts/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadNodeCountJob(this.config, inputs, realOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleNodeCountJob(this.config, inputs, realOutputPath);
+        } else {
+            return JobFactory.getNodeCountJob(this.config, inputs, realOutputPath);
+        }
+    }
+
+    private Job selectGraphSizeJob() throws IOException {
+        String realOutputPath = outputPath + "graph-sizes/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadGraphSizesJob(this.config, inputs, realOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleGraphSizesJob(this.config, inputs, realOutputPath);
+        } else {
+            return JobFactory.getGraphSizesJob(this.config, inputs, realOutputPath);
+        }
+    }
+
+    private Job selectDataTypeCountJob() throws IOException {
+        String realOutputPath = outputPath + "data-type-counts/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadDataTypeCountJob(this.config, inputs, realOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleDataTypeCountJob(this.config, inputs, realOutputPath);
+        } else {
+            return JobFactory.getDataTypeCountJob(this.config, inputs, realOutputPath);
+        }
+    }
+
+    private Job selectNamespaceCountJob() throws IOException {
+        String realOutputPath = outputPath + "namespace-counts/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadNamespaceCountJob(this.config, inputs, realOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleNamespaceCountJob(this.config, inputs, realOutputPath);
+        } else {
+            return JobFactory.getNamespaceCountJob(this.config, inputs, realOutputPath);
+        }
+    }
+
+    private Job[] selectCharacteristicSetJobs() throws IOException {
+        String intermediateOutputPath = outputPath + "characteristics/intermediate/";
+        String finalOutputPath = outputPath + "characteristics/final/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadCharacteristicSetJobs(this.config, inputs, intermediateOutputPath,
+                    finalOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleCharacteristicSetJobs(this.config, inputs, intermediateOutputPath,
+                    finalOutputPath);
+        } else {
+            return JobFactory.getCharacteristicSetJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
+        }
+    }
+
+    private Job[] selectTypeCountJobs() throws IOException {
+        String intermediateOutputPath = outputPath + "type-declarations/";
+        String finalOutputPath = outputPath + "type-counts/";
+        String[] inputs = new String[this.inputPaths.size()];
+        this.inputPaths.toArray(inputs);
+
+        if (DATA_TYPE_QUADS.equals(this.inputType)) {
+            return JobFactory.getQuadTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
+        } else if (DATA_TYPE_TRIPLES.equals(this.inputType)) {
+            return JobFactory.getTripleTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
+        } else {
+            return JobFactory.getTypeCountJobs(this.config, inputs, intermediateOutputPath, finalOutputPath);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/jobs/JobFactory.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/jobs/JobFactory.java b/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/jobs/JobFactory.java
index 0d6bf18..b0ed898 100644
--- a/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/jobs/JobFactory.java
+++ b/jena-elephas/jena-elephas-stats/src/main/java/org/apache/jena/hadoop/rdf/stats/jobs/JobFactory.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.stats.jobs;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.LongWritable;
@@ -28,7 +28,7 @@ import org.apache.hadoop.io.SequenceFile.CompressionType;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.compress.BZip2Codec;
 import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.lib.chain.ChainMapper;
+import org.apache.hadoop.mapreduce.lib.chain.ChainMapper;
 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.NLineInputFormat;
 import org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat;
@@ -36,40 +36,40 @@ import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
 import org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat;
 import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
 import org.apache.hadoop.util.StringUtils;
-import org.apache.jena.hadoop.rdf.io.input.QuadsInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.TriplesInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.TriplesOrQuadsInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.nquads.NQuadsInputFormat;
-import org.apache.jena.hadoop.rdf.io.input.ntriples.NTriplesInputFormat;
-import org.apache.jena.hadoop.rdf.io.output.nquads.NQuadsOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.ntriples.NTriplesNodeOutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.ntriples.NTriplesOutputFormat;
-import org.apache.jena.hadoop.rdf.mapreduce.KeyMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
-import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.CharacteristicSetReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.QuadCharacteristicSetGeneratingReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.TripleCharacteristicSetGeneratingReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.datatypes.QuadDataTypeCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.datatypes.TripleDataTypeCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.namespaces.QuadNamespaceCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.namespaces.TripleNamespaceCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.positional.QuadGraphCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.positional.QuadObjectCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.positional.TripleObjectCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.QuadFilterByPredicateMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupBySubjectMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsConstantGraphMapper;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.hadoop.rdf.io.input.QuadsInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.TriplesInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.TriplesOrQuadsInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.nquads.NQuadsInputFormat;
+import org.apache.jena.hadoop.rdf.io.input.ntriples.NTriplesInputFormat;
+import org.apache.jena.hadoop.rdf.io.output.nquads.NQuadsOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.ntriples.NTriplesNodeOutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.ntriples.NTriplesOutputFormat;
+import org.apache.jena.hadoop.rdf.mapreduce.KeyMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+import org.apache.jena.hadoop.rdf.mapreduce.TextCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.CharacteristicSetReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.QuadCharacteristicSetGeneratingReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.TripleCharacteristicSetGeneratingReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.datatypes.QuadDataTypeCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.datatypes.TripleDataTypeCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.namespaces.QuadNamespaceCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.namespaces.TripleNamespaceCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.positional.QuadGraphCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.positional.QuadObjectCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.positional.TripleObjectCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.QuadFilterByPredicateMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupBySubjectMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.transform.TriplesToQuadsConstantGraphMapper;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.vocabulary.RDF ;
 
 /**
  * Factory that can produce {@link Job} instances for computing various RDF
@@ -101,7 +101,7 @@ public class JobFactory {
     public static Job getTripleNodeCountJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
         Job job = Job.getInstance(config);
         job.setJarByClass(JobFactory.class);
-        job.setJobName("RDF Triples Node Usage Count");
+        job.setJobName("RDF Triples Node Usage Count");
 
         // Map/Reduce classes
         job.setMapperClass(TripleNodeCountMapper.class);
@@ -180,67 +180,67 @@ public class JobFactory {
         FileOutputFormat.setOutputPath(job, new Path(outputPath));
 
         return job;
-    }
-    
-    public static Job getTripleGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
-        Job job = Job.getInstance(config);
-        job.setJarByClass(JobFactory.class);
-        job.setJobName("RDF Triples Graph Sizes");
-        
-        // Map/Reduce classes
-        ChainMapper.addMapper(job, TriplesToQuadsConstantGraphMapper.class, LongWritable.class, TripleWritable.class, LongWritable.class, QuadWritable.class, config);
-        ChainMapper.addMapper(job, QuadGraphCountMapper.class, LongWritable.class, QuadWritable.class, NodeWritable.class, LongWritable.class, config);
-        job.setMapOutputKeyClass(NodeWritable.class);
-        job.setMapOutputValueClass(LongWritable.class);
-        job.setReducerClass(NodeCountReducer.class);
-        
-        // Input and Output
-        job.setInputFormatClass(TriplesInputFormat.class);
-        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
-        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
-        FileOutputFormat.setOutputPath(job, new Path(outputPath));
-        
-        return job;
-    }
-    
-    public static Job getQuadGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
-        Job job = Job.getInstance(config);
-        job.setJarByClass(JobFactory.class);
-        job.setJobName("RDF Quads Graph Sizes");
-        
-        // Map/Reduce classes
-        job.setMapperClass(QuadGraphCountMapper.class);
-        job.setMapOutputKeyClass(NodeWritable.class);
-        job.setMapOutputValueClass(LongWritable.class);
-        job.setReducerClass(NodeCountReducer.class);
-        
-        // Input and Output
-        job.setInputFormatClass(QuadsInputFormat.class);
-        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
-        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
-        FileOutputFormat.setOutputPath(job, new Path(outputPath));
-        
-        return job;
-    }
-    
-    public static Job getGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
-        Job job = Job.getInstance(config);
-        job.setJarByClass(JobFactory.class);
-        job.setJobName("RDF Graph Sizes");
-        
-        // Map/Reduce classes
-        job.setMapperClass(QuadGraphCountMapper.class);
-        job.setMapOutputKeyClass(NodeWritable.class);
-        job.setMapOutputValueClass(LongWritable.class);
-        job.setReducerClass(NodeCountReducer.class);
-        
-        // Input and Output
-        job.setInputFormatClass(TriplesOrQuadsInputFormat.class);
-        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
-        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
-        FileOutputFormat.setOutputPath(job, new Path(outputPath));
-        
-        return job;
+    }
+    
+    public static Job getTripleGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
+        Job job = Job.getInstance(config);
+        job.setJarByClass(JobFactory.class);
+        job.setJobName("RDF Triples Graph Sizes");
+        
+        // Map/Reduce classes
+        ChainMapper.addMapper(job, TriplesToQuadsConstantGraphMapper.class, LongWritable.class, TripleWritable.class, LongWritable.class, QuadWritable.class, config);
+        ChainMapper.addMapper(job, QuadGraphCountMapper.class, LongWritable.class, QuadWritable.class, NodeWritable.class, LongWritable.class, config);
+        job.setMapOutputKeyClass(NodeWritable.class);
+        job.setMapOutputValueClass(LongWritable.class);
+        job.setReducerClass(NodeCountReducer.class);
+        
+        // Input and Output
+        job.setInputFormatClass(TriplesInputFormat.class);
+        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
+        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
+        FileOutputFormat.setOutputPath(job, new Path(outputPath));
+        
+        return job;
+    }
+    
+    public static Job getQuadGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
+        Job job = Job.getInstance(config);
+        job.setJarByClass(JobFactory.class);
+        job.setJobName("RDF Quads Graph Sizes");
+        
+        // Map/Reduce classes
+        job.setMapperClass(QuadGraphCountMapper.class);
+        job.setMapOutputKeyClass(NodeWritable.class);
+        job.setMapOutputValueClass(LongWritable.class);
+        job.setReducerClass(NodeCountReducer.class);
+        
+        // Input and Output
+        job.setInputFormatClass(QuadsInputFormat.class);
+        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
+        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
+        FileOutputFormat.setOutputPath(job, new Path(outputPath));
+        
+        return job;
+    }
+    
+    public static Job getGraphSizesJob(Configuration config, String[] inputPaths, String outputPath) throws IOException {
+        Job job = Job.getInstance(config);
+        job.setJarByClass(JobFactory.class);
+        job.setJobName("RDF Graph Sizes");
+        
+        // Map/Reduce classes
+        job.setMapperClass(QuadGraphCountMapper.class);
+        job.setMapOutputKeyClass(NodeWritable.class);
+        job.setMapOutputValueClass(LongWritable.class);
+        job.setReducerClass(NodeCountReducer.class);
+        
+        // Input and Output
+        job.setInputFormatClass(TriplesOrQuadsInputFormat.class);
+        job.setOutputFormatClass(NTriplesNodeOutputFormat.class);
+        FileInputFormat.setInputPaths(job, StringUtils.arrayToString(inputPaths));
+        FileOutputFormat.setOutputPath(job, new Path(outputPath));
+        
+        return job;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 7687b2c..2b45d2b 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.http;
-
+package org.apache.jena.fuseki.http;
+
 import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
@@ -25,19 +25,19 @@ import org.apache.jena.web.DatasetGraphAccessorHTTP ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
-
-public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccessor
-{
-    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
-    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
+
+public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccessor
+{
+    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
+    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
     @Before public void before() { 
         ServerTest.resetServer() ; 
-    }
-
-    
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceREST) ;
-    }
+    }
+
+    
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        return new DatasetGraphAccessorHTTP(ServerTest.serviceREST) ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 964511f..590083d 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.http;
-
+package org.apache.jena.fuseki.http;
+
 import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
@@ -25,19 +25,19 @@ import org.apache.jena.web.DatasetGraphAccessorHTTP ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
-
-public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccessor
-{
-    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
-    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
+
+public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccessor
+{
+    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
+    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
     @Before public void before() { 
         ServerTest.resetServer() ; 
-    }
-
-    
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceGSP) ;
-    }
+    }
+
+    
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        return new DatasetGraphAccessorHTTP(ServerTest.serviceGSP) ;
+    }
 }


[33/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/resources/etc/owl.rules
----------------------------------------------------------------------
diff --git a/jena-core/src/main/resources/etc/owl.rules b/jena-core/src/main/resources/etc/owl.rules
index 2eb3282..20e589a 100644
--- a/jena-core/src/main/resources/etc/owl.rules
+++ b/jena-core/src/main/resources/etc/owl.rules
@@ -1,305 +1,305 @@
-# 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.
-
-#------------------------------------------------------------------
-# OWL rule set v0.1
-# This rule set is design to implement owl(f)lite using pure
-# forward chaining. It is sufficient to pass the working group tests
-# for this OWL subset but some of the bug fixes applied to owl-fb 
-# have may not yet have migrated back here.
-# $Id: $
-#------------------------------------------------------------------
-
-#------------------------------------------------------------------
-# RDFS Axioms
-#------------------------------------------------------------------
-
--> (rdf:type      rdfs:range rdfs:Class).
--> (rdfs:Resource  rdf:type  rdfs:Class).
--> (rdfs:Literal   rdf:type  rdfs:Class).
--> (rdf:Statement  rdf:type  rdfs:Class).
--> (rdf:nil        rdf:type  rdf:List).
--> (rdf:subject    rdf:type  rdf:Property).
--> (rdf:object     rdf:type  rdf:Property).
--> (rdf:predicate  rdf:type  rdf:Property).
--> (rdf:first      rdf:type  rdf:Property).
--> (rdf:rest       rdf:type  rdf:Property).
-        
--> (rdfs:subPropertyOf rdfs:domain rdf:Property).
--> (rdfs:subClassOf rdfs:domain rdfs:Class).
--> (rdfs:domain rdfs:domain rdf:Property).
--> (rdfs:range rdfs:domain rdf:Property).
--> (rdf:subject rdfs:domain rdf:Statement).
--> (rdf:predicate rdfs:domain rdf:Statement).
--> (rdf:object rdfs:domain rdf:Statement).
--> (rdf:first rdfs:domain rdf:List).
--> (rdf:rest rdfs:domain rdf:List).
-
--> (rdfs:subPropertyOf rdfs:range rdf:Property).
--> (rdfs:subClassOf rdfs:range rdfs:Class).
--> (rdfs:domain rdfs:range rdfs:Class).
--> (rdfs:range rdfs:range rdfs:Class).
--> (rdf:type rdfs:range rdfs:Class).
--> (rdfs:comment rdfs:range rdfs:Literal).
--> (rdfs:label rdfs:range rdfs:Literal).
--> (rdf:rest rdfs:range rdf:List).
-
--> (rdf:Alt rdfs:subClassOf rdfs:Container).
--> (rdf:Bag rdfs:subClassOf rdfs:Container).
--> (rdf:Seq rdfs:subClassOf rdfs:Container).
--> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
-
--> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
-
--> (rdf:XMLLiteral rdf:type rdfs:Datatype).
--> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
-
-#------------------------------------------------------------------
-# RDFS Closure rules
-#------------------------------------------------------------------
-
-# This one could be omitted since the results are not really very interesting!
-# [rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
-# [rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
-
-[rdfs2:  (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)] 
-[rdfs3:  (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)] 
-[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)] 
-[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
-[rdfs6:  (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)] 
-[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
-[rdfs8:  (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)] 
-[rdfs9:  (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)] 
-[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 
-
-#------------------------------------------------------------------
-# RDFS iff extensions needed for OWL
-#------------------------------------------------------------------
-[rdfs2a: (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:domain ?z)]
-[rdfs3a: (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:range  ?z)]
-
-#------------------------------------------------------------------
-# OWL axioms
-#------------------------------------------------------------------
-
--> (rdf:first rdf:type owl:FunctionalProperty).
--> (rdf:rest rdf:type owl:FunctionalProperty).
-
--> (rdfs:domain owl:SymmetricProperty owl:ObjectProperty).
--> (rdfs:domain owl:TransitiveProperty owl:ObjectProperty).
--> (rdfs:domain owl:InverseFunctionalProperty owl:ObjectProperty).
-
--> (rdfs:range owl:ObjectProperty owl:Thing).
--> (rdfs:domain owl:ObjectProperty owl:Thing).
-
--> (owl:Class rdfs:subClassOf rdfs:Class).
--> (owl:Restriction rdfs:subClassOf owl:Class).
-
-# This is true in OWL-full but does lead to rather a lot of additional conclusions that
-# are not helpful for the practical test cases, explore consequences of retricting
-# closer to OWL/DL
-#-> (rdfs:Class rdfs:subClassOf owl:Class).
-
--> (owl:Thing rdf:type owl:Class).
-
-# These might need to be pre-expanded in the initial rule set
--> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
--> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
--> (owl:equivalentClass rdf:type owl:SymmetricProperty).
--> (owl:equivalentClass rdf:type owl:TransitiveProperty).
--> (owl:sameIndividualAs rdf:type owl:SymmetricProperty).
--> (owl:sameIndividualAs rdf:type owl:TransitiveProperty).
--> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
--> (owl:differentFrom rdf:type owl:SymmetricProperty).
-
--> (owl:intersectionOf rdfs:domain owl:Class).
-
-#------------------------------------------------------------------
-# OWL Rules
-#------------------------------------------------------------------
-
-#------------------------------------------------------------------
-# Class rules
-# (Note: compiling intersectionOf to an n+1 rule set is done procedurally)
-#------------------------------------------------------------------
-
-# Identify restriction assertions
-
-[restriction1: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
-						-> (?C owl:equivalentClass some(?P, ?D))]
-		
-[restriction2: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
-						-> (?C owl:equivalentClass all(?P, ?D))]
-		
-[restriction3: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
-						-> (?C owl:equivalentClass min(?P, ?X))]
-		
-[restriction4: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
-						-> (?C owl:equivalentClass max(?P, ?X))]
-		
-[restriction5: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:cardinality ?X)
-						-> (?C owl:equivalentClass card(?P, ?X)), 
-						   (?C rdfs:subClassOf min(?P, ?X)), 
-						   (?C rdfs:subClassOf max(?P, ?X)) ]
-		
-[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X)) 
-       					-> (?C rdfs:subClassOf card(?P, ?X))]
-
-# Needed for the case where ?R is a restriction literal and so does not appear in the subject position
-# The isFunctor guard is temporary for performance, doesn't change semantics
-[restrictionSubclass1: (?D owl:equivalentClass ?R), (?X rdf:type ?R), isFunctor(?R) -> (?X rdf:type ?D)]
-[restrictionSubclass2: (?D owl:equivalentClass ?R), (?X rdf:type ?D), isFunctor(?R) -> (?X rdf:type ?R)]
-
-# Interactions between cardinalities and some/all
-
-[restrictionProc1: (?X rdf:type, max(?P, 1)), (?X, rdf:type, some(?P, ?C)) 
-						-> (?X rdf:type all(?P, ?C))]
-
-[restrictionProc2: (?P rdf:type owl:FunctionalProperty), (?X, rdf:type, some(?P, ?C)) 
-						-> (?X rdf:type all(?P, ?C))]
-
-[restrictionProc4: (?X rdf:type all(?P, ?C)), (?X ?P ?Y), notEqual(?P, rdf:type) 
-						-> (?X rdf:type some(?P, ?C)), (?Y rdf:type ?C)]
-
-[restrictionProc5: (?P rdfs:range ?C), (?X ?P ?W), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
-
-[restrictionProc6: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C)) 
-						-> (owl:Thing rdfs:subClassOf ?D)]
-
-[restrictionProc7: (?A rdf:type max(?P, 1)), (?A ?P ?B), (?A ?P ?C) -> (?B owl:sameIndividualAs ?C)]
-
-[restrictionProc8: (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
-
-[restrictionProc9: (?X ?P ?W), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
-
-[restrictionProc10: (?X rdf:type some(?P, ?C)), noValue(?X, ?P), notEqual(?P, owl:sameIndividualAs),
-					notEqual(?P, rdfs:subClassOf), notEqual(?P, rdfs:subPropertyOf), 
-					notEqual(?P, owl:equivalentProperty), notEqual(?P, owl:equivalentClass), 
-					notEqual(?C, owl:Class), notEqual(?C, rdfs:Class), makeTemp(?T)
-   	  						-> (?X ?P ?T), (?T rdf:type ?C)]
-
-# Best done backwards!
-[restrictionProc11: (?P rdf:type owl:FunctionalProperty), (?X rdf:type owl:Thing) 
-						-> (?X rdf:type max(?P, 1))]
-		
-[restrictionProc12: (?P rdfs:range ?C), (?D rdf:type owl:Class), notFunctor(?C)  
-						-> (?D rdfs:subClassOf all(?P, ?C)) ]
-		
-[restrictionProc13: (owl:Thing rdfs:subClassOf all(?P, ?C)) 
-						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty)]
-
-[card3: (?X ?P ?V), (?V rdf:type ?C), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
-
-# Create prototypical instances for each class and infer any subclass relations
-# This is better done as part of an explicit taxonomy building phase.
-
-[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), makeTemp(?t)
-  	    				-> (?c rb:prototype ?t), (?t rdf:type ?c)]
-    
-[prototype2: (?c rb:prototype ?p), (?p rdf:type ?d), notEqual(?c, ?d) 
-						-> (?c rdfs:subClassOf ?d)]
-
-#------------------------------------------------------------------
-# Disjointness and equivalence rules
-#------------------------------------------------------------------
-
-[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D) 
-						-> (?X owl:differentFrom ?Y) ]
-
-# This one is best done backwards or with a dedicated equality reasoner
-# Hacked for now just for completeness
-
-[distinct2: (?W owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
-
-# To be improved when resolve how to record contradictions
-
-[conflict1: (?X owl:sameIndividualAs ?Y), (?X owl:differentFrom ?Y) 
-						-> contradiction('same/different', ?X, ?Y) ]
-		
-[conflict2: (?X rdf:type ?C), (?X rdf:type ?D), (?C owl:disjointWith ?D) 
-						-> contradiction('disjoint classes overlap', ?C, ?D, ?X) ]
-
-#------------------------------------------------------------------
-# Property rules
-#------------------------------------------------------------------
-
-# equivalentProperty 
-
-[equivalentProperty1: (?P owl:equivalentProperty ?Q) 
-						-> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
-						
-[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) 
-						-> (?P owl:equivalentProperty ?Q) ]
-						
-[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property) 
-						-> (?P owl:equivalentProperty ?Q) ]
-
-# equivalentClass
-[equivalentClass1: (?P owl:equivalentClass ?Q) 
-						-> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
-						
-[equivalentClass2: (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) 
-						-> (?P owl:equivalentClass ?Q) ]
-						
-[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class) 
-						-> (?P owl:equivalentClass ?Q) ]
-
-# inverseOf
-[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
-
-[inverseOf2: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X) ]
-
-[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty) 
-						-> (?Q rdf:type owl:InverseFunctionalProperty) ]
-		
-[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty) 
-						-> (?Q rdf:type owl:FunctionalProperty) ]
-
-# symmetric
-[symmetricProperty1: (?P rdf:type owl:SymmetricProperty), (?X ?P ?Y) -> (?Y ?P ?X)]
-
-
-# Transitive
-[transitivePropery1: (?P rdf:type owl:TransitiveProperty), (?A ?P ?B), (?B ?P ?C) -> (?A ?P ?C)]
-
-# sameIndividualAs
-[sameIndividualAs1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), (?A ?P ?C) 
-                    -> (?B owl:sameIndividualAs ?C) ]
-                    
-[sameIndividualAs2: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B) 
-                    -> (?A owl:sameIndividualAs ?C) ]
-                    
-[sameIndividualAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing) 
-                    -> (?X owl:sameIndividualAs ?Y) ]
-                    
-
-[sameIndividualAs4: (?X owl:sameIndividualAs ?Y), (?X ?P ?V) -> (?Y ?P ?V) ]
-
-[sameIndividualAs5: (?X owl:sameIndividualAs ?Y), (?V ?P ?X) -> (?V ?P ?Y) ]
-
-[sameIndividualAs6: (?X owl:sameIndividualAs ?Y) -> (?X rdf:type owl:Thing) ]
-
-# Don't yet handle reflexivity of sameIndividualAS - special case reasoner
-
-#------------------------------------------------------------------
-# if-only parts of additional constructs
-#------------------------------------------------------------------
-
-# hasValue
-[hasValue1: (?c rdf:type owl:Restriction), (?c owl:onProperty ?p), (?c owl:hasValue ?v), 
-		(?x rdf:type ?c) -> (?x ?p ?v) ]
-
-
+# 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.
+
+#------------------------------------------------------------------
+# OWL rule set v0.1
+# This rule set is design to implement owl(f)lite using pure
+# forward chaining. It is sufficient to pass the working group tests
+# for this OWL subset but some of the bug fixes applied to owl-fb 
+# have may not yet have migrated back here.
+# $Id: $
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# RDFS Axioms
+#------------------------------------------------------------------
+
+-> (rdf:type      rdfs:range rdfs:Class).
+-> (rdfs:Resource  rdf:type  rdfs:Class).
+-> (rdfs:Literal   rdf:type  rdfs:Class).
+-> (rdf:Statement  rdf:type  rdfs:Class).
+-> (rdf:nil        rdf:type  rdf:List).
+-> (rdf:subject    rdf:type  rdf:Property).
+-> (rdf:object     rdf:type  rdf:Property).
+-> (rdf:predicate  rdf:type  rdf:Property).
+-> (rdf:first      rdf:type  rdf:Property).
+-> (rdf:rest       rdf:type  rdf:Property).
+        
+-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
+-> (rdfs:subClassOf rdfs:domain rdfs:Class).
+-> (rdfs:domain rdfs:domain rdf:Property).
+-> (rdfs:range rdfs:domain rdf:Property).
+-> (rdf:subject rdfs:domain rdf:Statement).
+-> (rdf:predicate rdfs:domain rdf:Statement).
+-> (rdf:object rdfs:domain rdf:Statement).
+-> (rdf:first rdfs:domain rdf:List).
+-> (rdf:rest rdfs:domain rdf:List).
+
+-> (rdfs:subPropertyOf rdfs:range rdf:Property).
+-> (rdfs:subClassOf rdfs:range rdfs:Class).
+-> (rdfs:domain rdfs:range rdfs:Class).
+-> (rdfs:range rdfs:range rdfs:Class).
+-> (rdf:type rdfs:range rdfs:Class).
+-> (rdfs:comment rdfs:range rdfs:Literal).
+-> (rdfs:label rdfs:range rdfs:Literal).
+-> (rdf:rest rdfs:range rdf:List).
+
+-> (rdf:Alt rdfs:subClassOf rdfs:Container).
+-> (rdf:Bag rdfs:subClassOf rdfs:Container).
+-> (rdf:Seq rdfs:subClassOf rdfs:Container).
+-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
+
+-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
+
+-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
+-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
+
+#------------------------------------------------------------------
+# RDFS Closure rules
+#------------------------------------------------------------------
+
+# This one could be omitted since the results are not really very interesting!
+# [rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
+# [rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
+
+[rdfs2:  (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)] 
+[rdfs3:  (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)] 
+[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)] 
+[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
+[rdfs6:  (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)] 
+[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
+[rdfs8:  (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)] 
+[rdfs9:  (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)] 
+[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 
+
+#------------------------------------------------------------------
+# RDFS iff extensions needed for OWL
+#------------------------------------------------------------------
+[rdfs2a: (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:domain ?z)]
+[rdfs3a: (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) -> (?x rdfs:range  ?z)]
+
+#------------------------------------------------------------------
+# OWL axioms
+#------------------------------------------------------------------
+
+-> (rdf:first rdf:type owl:FunctionalProperty).
+-> (rdf:rest rdf:type owl:FunctionalProperty).
+
+-> (rdfs:domain owl:SymmetricProperty owl:ObjectProperty).
+-> (rdfs:domain owl:TransitiveProperty owl:ObjectProperty).
+-> (rdfs:domain owl:InverseFunctionalProperty owl:ObjectProperty).
+
+-> (rdfs:range owl:ObjectProperty owl:Thing).
+-> (rdfs:domain owl:ObjectProperty owl:Thing).
+
+-> (owl:Class rdfs:subClassOf rdfs:Class).
+-> (owl:Restriction rdfs:subClassOf owl:Class).
+
+# This is true in OWL-full but does lead to rather a lot of additional conclusions that
+# are not helpful for the practical test cases, explore consequences of retricting
+# closer to OWL/DL
+#-> (rdfs:Class rdfs:subClassOf owl:Class).
+
+-> (owl:Thing rdf:type owl:Class).
+
+# These might need to be pre-expanded in the initial rule set
+-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
+-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
+-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
+-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
+-> (owl:sameIndividualAs rdf:type owl:SymmetricProperty).
+-> (owl:sameIndividualAs rdf:type owl:TransitiveProperty).
+-> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
+-> (owl:differentFrom rdf:type owl:SymmetricProperty).
+
+-> (owl:intersectionOf rdfs:domain owl:Class).
+
+#------------------------------------------------------------------
+# OWL Rules
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# Class rules
+# (Note: compiling intersectionOf to an n+1 rule set is done procedurally)
+#------------------------------------------------------------------
+
+# Identify restriction assertions
+
+[restriction1: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
+						-> (?C owl:equivalentClass some(?P, ?D))]
+		
+[restriction2: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
+						-> (?C owl:equivalentClass all(?P, ?D))]
+		
+[restriction3: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
+						-> (?C owl:equivalentClass min(?P, ?X))]
+		
+[restriction4: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
+						-> (?C owl:equivalentClass max(?P, ?X))]
+		
+[restriction5: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:cardinality ?X)
+						-> (?C owl:equivalentClass card(?P, ?X)), 
+						   (?C rdfs:subClassOf min(?P, ?X)), 
+						   (?C rdfs:subClassOf max(?P, ?X)) ]
+		
+[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X)) 
+       					-> (?C rdfs:subClassOf card(?P, ?X))]
+
+# Needed for the case where ?R is a restriction literal and so does not appear in the subject position
+# The isFunctor guard is temporary for performance, doesn't change semantics
+[restrictionSubclass1: (?D owl:equivalentClass ?R), (?X rdf:type ?R), isFunctor(?R) -> (?X rdf:type ?D)]
+[restrictionSubclass2: (?D owl:equivalentClass ?R), (?X rdf:type ?D), isFunctor(?R) -> (?X rdf:type ?R)]
+
+# Interactions between cardinalities and some/all
+
+[restrictionProc1: (?X rdf:type, max(?P, 1)), (?X, rdf:type, some(?P, ?C)) 
+						-> (?X rdf:type all(?P, ?C))]
+
+[restrictionProc2: (?P rdf:type owl:FunctionalProperty), (?X, rdf:type, some(?P, ?C)) 
+						-> (?X rdf:type all(?P, ?C))]
+
+[restrictionProc4: (?X rdf:type all(?P, ?C)), (?X ?P ?Y), notEqual(?P, rdf:type) 
+						-> (?X rdf:type some(?P, ?C)), (?Y rdf:type ?C)]
+
+[restrictionProc5: (?P rdfs:range ?C), (?X ?P ?W), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
+
+[restrictionProc6: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C)) 
+						-> (owl:Thing rdfs:subClassOf ?D)]
+
+[restrictionProc7: (?A rdf:type max(?P, 1)), (?A ?P ?B), (?A ?P ?C) -> (?B owl:sameIndividualAs ?C)]
+
+[restrictionProc8: (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
+
+[restrictionProc9: (?X ?P ?W), (?X rdf:type max(?P, 0)) -> (?X rdf:type owl:Nothing)]
+
+[restrictionProc10: (?X rdf:type some(?P, ?C)), noValue(?X, ?P), notEqual(?P, owl:sameIndividualAs),
+					notEqual(?P, rdfs:subClassOf), notEqual(?P, rdfs:subPropertyOf), 
+					notEqual(?P, owl:equivalentProperty), notEqual(?P, owl:equivalentClass), 
+					notEqual(?C, owl:Class), notEqual(?C, rdfs:Class), makeTemp(?T)
+   	  						-> (?X ?P ?T), (?T rdf:type ?C)]
+
+# Best done backwards!
+[restrictionProc11: (?P rdf:type owl:FunctionalProperty), (?X rdf:type owl:Thing) 
+						-> (?X rdf:type max(?P, 1))]
+		
+[restrictionProc12: (?P rdfs:range ?C), (?D rdf:type owl:Class), notFunctor(?C)  
+						-> (?D rdfs:subClassOf all(?P, ?C)) ]
+		
+[restrictionProc13: (owl:Thing rdfs:subClassOf all(?P, ?C)) 
+						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty)]
+
+[card3: (?X ?P ?V), (?V rdf:type ?C), notFunctor(?C) -> (?X rdf:type some(?P, ?C))]
+
+# Create prototypical instances for each class and infer any subclass relations
+# This is better done as part of an explicit taxonomy building phase.
+
+[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), makeTemp(?t)
+  	    				-> (?c rb:prototype ?t), (?t rdf:type ?c)]
+    
+[prototype2: (?c rb:prototype ?p), (?p rdf:type ?d), notEqual(?c, ?d) 
+						-> (?c rdfs:subClassOf ?d)]
+
+#------------------------------------------------------------------
+# Disjointness and equivalence rules
+#------------------------------------------------------------------
+
+[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D) 
+						-> (?X owl:differentFrom ?Y) ]
+
+# This one is best done backwards or with a dedicated equality reasoner
+# Hacked for now just for completeness
+
+[distinct2: (?W owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
+
+# To be improved when resolve how to record contradictions
+
+[conflict1: (?X owl:sameIndividualAs ?Y), (?X owl:differentFrom ?Y) 
+						-> contradiction('same/different', ?X, ?Y) ]
+		
+[conflict2: (?X rdf:type ?C), (?X rdf:type ?D), (?C owl:disjointWith ?D) 
+						-> contradiction('disjoint classes overlap', ?C, ?D, ?X) ]
+
+#------------------------------------------------------------------
+# Property rules
+#------------------------------------------------------------------
+
+# equivalentProperty 
+
+[equivalentProperty1: (?P owl:equivalentProperty ?Q) 
+						-> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
+						
+[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) 
+						-> (?P owl:equivalentProperty ?Q) ]
+						
+[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdf:Property), (?Q rdf:type rdf:Property) 
+						-> (?P owl:equivalentProperty ?Q) ]
+
+# equivalentClass
+[equivalentClass1: (?P owl:equivalentClass ?Q) 
+						-> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
+						
+[equivalentClass2: (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) 
+						-> (?P owl:equivalentClass ?Q) ]
+						
+[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class) 
+						-> (?P owl:equivalentClass ?Q) ]
+
+# inverseOf
+[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
+
+[inverseOf2: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X) ]
+
+[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty) 
+						-> (?Q rdf:type owl:InverseFunctionalProperty) ]
+		
+[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty) 
+						-> (?Q rdf:type owl:FunctionalProperty) ]
+
+# symmetric
+[symmetricProperty1: (?P rdf:type owl:SymmetricProperty), (?X ?P ?Y) -> (?Y ?P ?X)]
+
+
+# Transitive
+[transitivePropery1: (?P rdf:type owl:TransitiveProperty), (?A ?P ?B), (?B ?P ?C) -> (?A ?P ?C)]
+
+# sameIndividualAs
+[sameIndividualAs1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), (?A ?P ?C) 
+                    -> (?B owl:sameIndividualAs ?C) ]
+                    
+[sameIndividualAs2: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B) 
+                    -> (?A owl:sameIndividualAs ?C) ]
+                    
+[sameIndividualAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing) 
+                    -> (?X owl:sameIndividualAs ?Y) ]
+                    
+
+[sameIndividualAs4: (?X owl:sameIndividualAs ?Y), (?X ?P ?V) -> (?Y ?P ?V) ]
+
+[sameIndividualAs5: (?X owl:sameIndividualAs ?Y), (?V ?P ?X) -> (?V ?P ?Y) ]
+
+[sameIndividualAs6: (?X owl:sameIndividualAs ?Y) -> (?X rdf:type owl:Thing) ]
+
+# Don't yet handle reflexivity of sameIndividualAS - special case reasoner
+
+#------------------------------------------------------------------
+# if-only parts of additional constructs
+#------------------------------------------------------------------
+
+# hasValue
+[hasValue1: (?c rdf:type owl:Restriction), (?c owl:onProperty ?p), (?c owl:hasValue ?v), 
+		(?x rdf:type ?c) -> (?x ?p ?v) ]
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/resources/etc/rdfs.rules
----------------------------------------------------------------------
diff --git a/jena-core/src/main/resources/etc/rdfs.rules b/jena-core/src/main/resources/etc/rdfs.rules
index 408e49e..c26c615 100644
--- a/jena-core/src/main/resources/etc/rdfs.rules
+++ b/jena-core/src/main/resources/etc/rdfs.rules
@@ -1,83 +1,83 @@
-# 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.
-
-#------------------------------------------------------------------
-# RDFS rule set v0.1.
-# This is a direct implementation of the RDFS closure rules.
-# $Id: $
-#------------------------------------------------------------------
-
-#------------------------------------------------------------------
-# RDFS Axioms
-#------------------------------------------------------------------
-
--> (rdf:type      rdfs:range rdfs:Class).
--> (rdfs:Resource  rdf:type  rdfs:Class).
--> (rdfs:Literal   rdf:type  rdfs:Class).
--> (rdf:Statement  rdf:type  rdfs:Class).
--> (rdf:nil        rdf:type  rdf:List).
--> (rdf:subject    rdf:type  rdf:Property).
--> (rdf:object     rdf:type  rdf:Property).
--> (rdf:predicate  rdf:type  rdf:Property).
--> (rdf:first      rdf:type  rdf:Property).
--> (rdf:rest       rdf:type  rdf:Property).
-        
--> (rdfs:subPropertyOf rdfs:domain rdf:Property).
--> (rdfs:subClassOf rdfs:domain rdfs:Class).
--> (rdfs:domain rdfs:domain rdf:Property).
--> (rdfs:range rdfs:domain rdf:Property).
--> (rdf:subject rdfs:domain rdf:Statement).
--> (rdf:predicate rdfs:domain rdf:Statement).
--> (rdf:object rdfs:domain rdf:Statement).
--> (rdf:first rdfs:domain rdf:List).
--> (rdf:rest rdfs:domain rdf:List).
-
--> (rdfs:subPropertyOf rdfs:range rdf:Property).
--> (rdfs:subClassOf rdfs:range rdfs:Class).
--> (rdfs:domain rdfs:range rdfs:Class).
--> (rdfs:range rdfs:range rdfs:Class).
--> (rdf:type rdfs:range rdfs:Class).
--> (rdfs:comment rdfs:range rdfs:Literal).
--> (rdfs:label rdfs:range rdfs:Literal).
--> (rdf:rest rdfs:range rdf:List).
-
--> (rdf:Alt rdfs:subClassOf rdfs:Container).
--> (rdf:Bag rdfs:subClassOf rdfs:Container).
--> (rdf:Seq rdfs:subClassOf rdfs:Container).
--> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
-
--> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
-
--> (rdf:XMLLiteral rdf:type rdfs:Datatype).
--> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
-
-#------------------------------------------------------------------
-# RDFS Closure rules
-#------------------------------------------------------------------
-
-# This one could be omitted since the results are not really very interesting!
-[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
-[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
-
-[rdfs2:  (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)] 
-[rdfs3:  (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)] 
-[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)] 
-[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
-[rdfs6:  (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)] 
-[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
-[rdfs8:  (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)] 
-[rdfs9:  (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)] 
-[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 
+# 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.
+
+#------------------------------------------------------------------
+# RDFS rule set v0.1.
+# This is a direct implementation of the RDFS closure rules.
+# $Id: $
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# RDFS Axioms
+#------------------------------------------------------------------
+
+-> (rdf:type      rdfs:range rdfs:Class).
+-> (rdfs:Resource  rdf:type  rdfs:Class).
+-> (rdfs:Literal   rdf:type  rdfs:Class).
+-> (rdf:Statement  rdf:type  rdfs:Class).
+-> (rdf:nil        rdf:type  rdf:List).
+-> (rdf:subject    rdf:type  rdf:Property).
+-> (rdf:object     rdf:type  rdf:Property).
+-> (rdf:predicate  rdf:type  rdf:Property).
+-> (rdf:first      rdf:type  rdf:Property).
+-> (rdf:rest       rdf:type  rdf:Property).
+        
+-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
+-> (rdfs:subClassOf rdfs:domain rdfs:Class).
+-> (rdfs:domain rdfs:domain rdf:Property).
+-> (rdfs:range rdfs:domain rdf:Property).
+-> (rdf:subject rdfs:domain rdf:Statement).
+-> (rdf:predicate rdfs:domain rdf:Statement).
+-> (rdf:object rdfs:domain rdf:Statement).
+-> (rdf:first rdfs:domain rdf:List).
+-> (rdf:rest rdfs:domain rdf:List).
+
+-> (rdfs:subPropertyOf rdfs:range rdf:Property).
+-> (rdfs:subClassOf rdfs:range rdfs:Class).
+-> (rdfs:domain rdfs:range rdfs:Class).
+-> (rdfs:range rdfs:range rdfs:Class).
+-> (rdf:type rdfs:range rdfs:Class).
+-> (rdfs:comment rdfs:range rdfs:Literal).
+-> (rdfs:label rdfs:range rdfs:Literal).
+-> (rdf:rest rdfs:range rdf:List).
+
+-> (rdf:Alt rdfs:subClassOf rdfs:Container).
+-> (rdf:Bag rdfs:subClassOf rdfs:Container).
+-> (rdf:Seq rdfs:subClassOf rdfs:Container).
+-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
+
+-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
+
+-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
+-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
+
+#------------------------------------------------------------------
+# RDFS Closure rules
+#------------------------------------------------------------------
+
+# This one could be omitted since the results are not really very interesting!
+[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
+[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] 
+
+[rdfs2:  (?x ?p ?y), (?p rdfs:domain ?c) -> (?x rdf:type ?c)] 
+[rdfs3:  (?x ?p ?y), (?p rdfs:range ?c) -> (?y rdf:type ?c)] 
+[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)] 
+[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] 
+[rdfs6:  (?a ?p ?b), (?p rdfs:subPropertyOf ?q) -> (?a ?q ?b)] 
+[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
+[rdfs8:  (?a rdfs:subClassOf ?b), (?b rdfs:subClassOf ?c) -> (?a rdfs:subClassOf ?c)] 
+[rdfs9:  (?x rdfs:subClassOf ?y), (?a rdf:type ?x) -> (?a rdf:type ?y)] 
+[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ont-policy-test.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ont-policy-test.rdf b/jena-core/src/test/resources/ont-policy-test.rdf
index dfa320a..1102137 100644
--- a/jena-core/src/test/resources/ont-policy-test.rdf
+++ b/jena-core/src/test/resources/ont-policy-test.rdf
@@ -1,58 +1,58 @@
-<?xml version='1.0'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY jena    'http://jena.hpl.hp.com/schemas/'>
-
-    <!ENTITY rdf     'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs    'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY xsd     'http://www.w3.org/2001/XMLSchema#'>
-    <!ENTITY base    '&jena;2003/03/ont-manager'>
-    <!ENTITY ont     '&base;#'>
-]>
-
-<rdf:RDF
-  xmlns:rdf ="&rdf;"
-  xmlns:rdfs="&rdfs;"
-  xmlns     ="&ont;"
-  xml:base  ="&base;"
->
-
-<!--
-    An augmented set of mappings for locally cached ontologies, used in the test scripts
-
-    Author: Ian Dickinson, mailto:ian_dickinson@users.sourceforge.net
-    CVS:    $Id: ont-policy.rdf,v 1.5 2003/11/06 17:37:24 ian_dickinson Exp $
--->
-
-<DocumentManagerPolicy>
-    <!-- policy for controlling the document manager's behaviour -->
-    <processImports rdf:datatype="&xsd;boolean">true</processImports>
-    <cacheModels    rdf:datatype="&xsd;boolean">true</cacheModels>
-</DocumentManagerPolicy>
-
-
-<OntologySpec>
-    <!-- local version of the OWL language ontology (in OWL) -->
-    <publicURI rdf:resource="http://www.w3.org/2002/07/owl" />
-    <altURL    rdf:resource="file:vocabularies/owl.owl" />
-    <language  rdf:resource="http://www.w3.org/2002/07/owl#" />
-    <prefix    rdf:datatype="&xsd;string">owl</prefix>
-</OntologySpec>
-
-<OntologySpec>
-    <!-- local version of the RDFS vocabulary -->
-    <publicURI rdf:resource="http://www.w3.org/2000/01/rdf-schema" />
-    <altURL    rdf:resource="file:vocabularies/rdf-schema.rdf" />
-    <language  rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />
-    <prefix    rdf:datatype="&xsd;string">rdfs</prefix>
-</OntologySpec>
-
-<OntologySpec>
-    <publicURI rdf:resource="http://www.daml.org/2001/03/daml+oil" />
-    <altURL    rdf:resource="file:vocabularies/daml+oil.daml" />
-    <language  rdf:resource="http://www.daml.org/2001/03/daml+oil#" />
-    <prefix    rdf:datatype="&xsd;string">daml</prefix>
-</OntologySpec>
-
-
-</rdf:RDF>
+<?xml version='1.0'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY jena    'http://jena.hpl.hp.com/schemas/'>
+
+    <!ENTITY rdf     'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs    'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY xsd     'http://www.w3.org/2001/XMLSchema#'>
+    <!ENTITY base    '&jena;2003/03/ont-manager'>
+    <!ENTITY ont     '&base;#'>
+]>
+
+<rdf:RDF
+  xmlns:rdf ="&rdf;"
+  xmlns:rdfs="&rdfs;"
+  xmlns     ="&ont;"
+  xml:base  ="&base;"
+>
+
+<!--
+    An augmented set of mappings for locally cached ontologies, used in the test scripts
+
+    Author: Ian Dickinson, mailto:ian_dickinson@users.sourceforge.net
+    CVS:    $Id: ont-policy.rdf,v 1.5 2003/11/06 17:37:24 ian_dickinson Exp $
+-->
+
+<DocumentManagerPolicy>
+    <!-- policy for controlling the document manager's behaviour -->
+    <processImports rdf:datatype="&xsd;boolean">true</processImports>
+    <cacheModels    rdf:datatype="&xsd;boolean">true</cacheModels>
+</DocumentManagerPolicy>
+
+
+<OntologySpec>
+    <!-- local version of the OWL language ontology (in OWL) -->
+    <publicURI rdf:resource="http://www.w3.org/2002/07/owl" />
+    <altURL    rdf:resource="file:vocabularies/owl.owl" />
+    <language  rdf:resource="http://www.w3.org/2002/07/owl#" />
+    <prefix    rdf:datatype="&xsd;string">owl</prefix>
+</OntologySpec>
+
+<OntologySpec>
+    <!-- local version of the RDFS vocabulary -->
+    <publicURI rdf:resource="http://www.w3.org/2000/01/rdf-schema" />
+    <altURL    rdf:resource="file:vocabularies/rdf-schema.rdf" />
+    <language  rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />
+    <prefix    rdf:datatype="&xsd;string">rdfs</prefix>
+</OntologySpec>
+
+<OntologySpec>
+    <publicURI rdf:resource="http://www.daml.org/2001/03/daml+oil" />
+    <altURL    rdf:resource="file:vocabularies/daml+oil.daml" />
+    <language  rdf:resource="http://www.daml.org/2001/03/daml+oil#" />
+    <prefix    rdf:datatype="&xsd;string">daml</prefix>
+</OntologySpec>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list0.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list0.rdf b/jena-core/src/test/resources/ontology/list0.rdf
index 2bbe1a6..1a1c6ef 100644
--- a/jena-core/src/test/resources/ontology/list0.rdf
+++ b/jena-core/src/test/resources/ontology/list0.rdf
@@ -1,20 +1,20 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list1.rdf b/jena-core/src/test/resources/ontology/list1.rdf
index 5c62e6d..e402b1f 100644
--- a/jena-core/src/test/resources/ontology/list1.rdf
+++ b/jena-core/src/test/resources/ontology/list1.rdf
@@ -1,21 +1,21 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list2.rdf b/jena-core/src/test/resources/ontology/list2.rdf
index 5746ff1..2ec558c 100644
--- a/jena-core/src/test/resources/ontology/list2.rdf
+++ b/jena-core/src/test/resources/ontology/list2.rdf
@@ -1,22 +1,22 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list3.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list3.rdf b/jena-core/src/test/resources/ontology/list3.rdf
index 70c5dc8..004777f 100644
--- a/jena-core/src/test/resources/ontology/list3.rdf
+++ b/jena-core/src/test/resources/ontology/list3.rdf
@@ -1,23 +1,23 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list4.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list4.rdf b/jena-core/src/test/resources/ontology/list4.rdf
index 4ad6644..c4d7ecd 100644
--- a/jena-core/src/test/resources/ontology/list4.rdf
+++ b/jena-core/src/test/resources/ontology/list4.rdf
@@ -1,24 +1,24 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-    <rdf:Description rdf:ID="d" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+    <rdf:Description rdf:ID="d" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/test/resources/ontology/list5.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src/test/resources/ontology/list5.rdf b/jena-core/src/test/resources/ontology/list5.rdf
index 7bbaff0..d0d573b 100644
--- a/jena-core/src/test/resources/ontology/list5.rdf
+++ b/jena-core/src/test/resources/ontology/list5.rdf
@@ -1,25 +1,25 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-    <rdf:Description rdf:ID="d" />
-    <rdf:Description rdf:ID="e" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+    <rdf:Description rdf:ID="d" />
+    <rdf:Description rdf:ID="e" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/Turtle/build
----------------------------------------------------------------------
diff --git a/jena-core/testing/Turtle/build b/jena-core/testing/Turtle/build
index 3edd780..31bed10 100644
--- a/jena-core/testing/Turtle/build
+++ b/jena-core/testing/Turtle/build
@@ -1,31 +1,31 @@
-#!/bin/bash
-# Build vocabulary
-
-function syntaxCheck
-{
-    FILE="$1"
-    echo "Syntax check: $FILE"
-    n3 -n -rdf "$FILE"
-}
-
-function proc
-{
-    TMP=TT
-    FILE="$1"
-    CLASS="$2"
-    NS="$3"
-    echo "Schemagen: $FILE"
-    schemagen --rdfs -i "$FILE" -n "$CLASS" -a "$NS" -o "$CLASS".java -e N3
-    # Add imports
-    echo "package dev.turtle.test ;" >> "$TMP"
-    echo >>"$TMP"
-    cat "$CLASS".java >> "$TMP"
-    mv "$TMP" "$CLASS".java
-}
-
-syntaxCheck TurtleTestVocab.ttl
-
-proc TurtleTestVocab.ttl TurtleTestVocab \
-	"http://jena.hpl.hp.com/2005/12/test-turtle#"
-
+#!/bin/bash
+# Build vocabulary
+
+function syntaxCheck
+{
+    FILE="$1"
+    echo "Syntax check: $FILE"
+    n3 -n -rdf "$FILE"
+}
+
+function proc
+{
+    TMP=TT
+    FILE="$1"
+    CLASS="$2"
+    NS="$3"
+    echo "Schemagen: $FILE"
+    schemagen --rdfs -i "$FILE" -n "$CLASS" -a "$NS" -o "$CLASS".java -e N3
+    # Add imports
+    echo "package dev.turtle.test ;" >> "$TMP"
+    echo >>"$TMP"
+    cat "$CLASS".java >> "$TMP"
+    mv "$TMP" "$CLASS".java
+}
+
+syntaxCheck TurtleTestVocab.ttl
+
+proc TurtleTestVocab.ttl TurtleTestVocab \
+	"http://jena.hpl.hp.com/2005/12/test-turtle#"
+
 echo "mv TurtleTestVocab.java ../../src-dev/dev/turtle/test/"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/badbom16be.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/badbom16be.rdf b/jena-core/testing/arp/i18n/badbom16be.rdf
index 0659678..dd456be 100644
Binary files a/jena-core/testing/arp/i18n/badbom16be.rdf and b/jena-core/testing/arp/i18n/badbom16be.rdf differ

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/badbom16le.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/badbom16le.rdf b/jena-core/testing/arp/i18n/badbom16le.rdf
index 977a0f2..dd456be 100644
Binary files a/jena-core/testing/arp/i18n/badbom16le.rdf and b/jena-core/testing/arp/i18n/badbom16le.rdf differ

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/badbom8.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/badbom8.rdf b/jena-core/testing/arp/i18n/badbom8.rdf
index bb36d5b..dd456be 100644
--- a/jena-core/testing/arp/i18n/badbom8.rdf
+++ b/jena-core/testing/arp/i18n/badbom8.rdf
@@ -1,34 +1,34 @@
-\ufeff<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-  Copyright World Wide Web Consortium, (Massachusetts Institute of
-  Technology, Institut National de Recherche en Informatique et en
-  Automatique, Keio University).
- 
-  All Rights Reserved.
- 
-  Please see the full Copyright clause at
-  <http://www.w3.org/Consortium/Legal/copyright-software.html>
-
-  $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
--->
-<!--
-
- Assumed base URI:
-
-http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
-
- Description:
-
- The rdf:resource attribute means that the value of this property element
- is a resource.
-
--->
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:random="http://random.ioctl.org/#">
-
-<rdf:Description rdf:about="http://random.ioctl.org/#bar">
-  <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
-</rdf:Description>
-
-</rdf:RDF>
-
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+  Copyright World Wide Web Consortium, (Massachusetts Institute of
+  Technology, Institut National de Recherche en Informatique et en
+  Automatique, Keio University).
+ 
+  All Rights Reserved.
+ 
+  Please see the full Copyright clause at
+  <http://www.w3.org/Consortium/Legal/copyright-software.html>
+
+  $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
+-->
+<!--
+
+ Assumed base URI:
+
+http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
+
+ Description:
+
+ The rdf:resource attribute means that the value of this property element
+ is a resource.
+
+-->
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:random="http://random.ioctl.org/#">
+
+<rdf:Description rdf:about="http://random.ioctl.org/#bar">
+  <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
+</rdf:Description>
+
+</rdf:RDF>
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/bom16be.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/bom16be.rdf b/jena-core/testing/arp/i18n/bom16be.rdf
index d0ac526..6302f87 100644
Binary files a/jena-core/testing/arp/i18n/bom16be.rdf and b/jena-core/testing/arp/i18n/bom16be.rdf differ

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/bom16le.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/bom16le.rdf b/jena-core/testing/arp/i18n/bom16le.rdf
index abd42f1..6302f87 100644
Binary files a/jena-core/testing/arp/i18n/bom16le.rdf and b/jena-core/testing/arp/i18n/bom16le.rdf differ

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/bom8.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/bom8.rdf b/jena-core/testing/arp/i18n/bom8.rdf
index 2ad477f..6302f87 100644
--- a/jena-core/testing/arp/i18n/bom8.rdf
+++ b/jena-core/testing/arp/i18n/bom8.rdf
@@ -1,33 +1,33 @@
-\ufeff<!--
-  Copyright World Wide Web Consortium, (Massachusetts Institute of
-  Technology, Institut National de Recherche en Informatique et en
-  Automatique, Keio University).
- 
-  All Rights Reserved.
- 
-  Please see the full Copyright clause at
-  <http://www.w3.org/Consortium/Legal/copyright-software.html>
-
-  $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
--->
-<!--
-
- Assumed base URI:
-
-http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
-
- Description:
-
- The rdf:resource attribute means that the value of this property element
- is a resource.
-
--->
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:random="http://random.ioctl.org/#">
-
-<rdf:Description rdf:about="http://random.ioctl.org/#bar">
-  <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
-</rdf:Description>
-
-</rdf:RDF>
-
+<!--
+  Copyright World Wide Web Consortium, (Massachusetts Institute of
+  Technology, Institut National de Recherche en Informatique et en
+  Automatique, Keio University).
+ 
+  All Rights Reserved.
+ 
+  Please see the full Copyright clause at
+  <http://www.w3.org/Consortium/Legal/copyright-software.html>
+
+  $Id: test001.rdf,v 1.1.1.1 2002/12/19 19:37:12 bwm Exp $
+-->
+<!--
+
+ Assumed base URI:
+
+http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-empty-property-elements/test001.rdf
+
+ Description:
+
+ The rdf:resource attribute means that the value of this property element
+ is a resource.
+
+-->
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:random="http://random.ioctl.org/#">
+
+<rdf:Description rdf:about="http://random.ioctl.org/#bar">
+  <random:someProperty rdf:resource="http://random.ioctl.org/#foo" />
+</rdf:Description>
+
+</rdf:RDF>
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/i18n/i18nID.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/i18n/i18nID.rdf b/jena-core/testing/arp/i18n/i18nID.rdf
index 2f52c51..e1955de 100644
--- a/jena-core/testing/arp/i18n/i18nID.rdf
+++ b/jena-core/testing/arp/i18n/i18nID.rdf
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-
-Sourceforge bug 984001
-
-http://sourceforge.net/tracker/?func=detail&aid=984001&group_id=40417&atid=430288
-
-
- 
-  This file is iso-8859-1 encoded, and is the samne as the companion file.
-    ENTITY eacute CDATA "&#233;" - latin small letter e with acute,
-                                  U+00E9 ISOlat1 
-                     escaped UTF-8 of '\ufffd' is %C3%A9
-                     
-                     '\ufffd' in ISO-8859-1 is 0xFC
-&#x0680; is an arabic number sign.
-
-Note: this file fails to reproduce the reported bug.
-  
--->
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   >
-
-  <rdf:Description rdf:ID="\ufffdg&#x0680;b\ufffdr" rdf:value="foo"/>
-   
-</rdf:RDF>
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+
+Sourceforge bug 984001
+
+http://sourceforge.net/tracker/?func=detail&aid=984001&group_id=40417&atid=430288
+
+
+ 
+  This file is iso-8859-1 encoded, and is the samne as the companion file.
+    ENTITY eacute CDATA "&#233;" - latin small letter e with acute,
+                                  U+00E9 ISOlat1 
+                     escaped UTF-8 of '\ufffd' is %C3%A9
+                     
+                     '\ufffd' in ISO-8859-1 is 0xFC
+&#x0680; is an arabic number sign.
+
+Note: this file fails to reproduce the reported bug.
+  
+-->
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   >
+
+  <rdf:Description rdf:ID="\ufffdg&#x0680;b\ufffdr" rdf:value="foo"/>
+   
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/arp/xml-prop.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/arp/xml-prop.rdf b/jena-core/testing/arp/xml-prop.rdf
index 6047724..96067de 100644
--- a/jena-core/testing/arp/xml-prop.rdf
+++ b/jena-core/testing/arp/xml-prop.rdf
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="utf-8"?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-  <rdf:Description rdf:about="http://example.org/Test">
-    <xml:property rdf:resource="http://example.org/Value" />
-  </rdf:Description>
+<?xml version="1.0" encoding="utf-8"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+  <rdf:Description rdf:about="http://example.org/Test">
+    <xml:property rdf:resource="http://example.org/Value" />
+  </rdf:Description>
 </rdf:RDF>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list0.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list0.rdf b/jena-core/testing/ontology/list0.rdf
index 2bbe1a6..1a1c6ef 100644
--- a/jena-core/testing/ontology/list0.rdf
+++ b/jena-core/testing/ontology/list0.rdf
@@ -1,20 +1,20 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list1.rdf b/jena-core/testing/ontology/list1.rdf
index 5c62e6d..e402b1f 100644
--- a/jena-core/testing/ontology/list1.rdf
+++ b/jena-core/testing/ontology/list1.rdf
@@ -1,21 +1,21 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list2.rdf b/jena-core/testing/ontology/list2.rdf
index 5746ff1..2ec558c 100644
--- a/jena-core/testing/ontology/list2.rdf
+++ b/jena-core/testing/ontology/list2.rdf
@@ -1,22 +1,22 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list3.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list3.rdf b/jena-core/testing/ontology/list3.rdf
index 70c5dc8..004777f 100644
--- a/jena-core/testing/ontology/list3.rdf
+++ b/jena-core/testing/ontology/list3.rdf
@@ -1,23 +1,23 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list4.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list4.rdf b/jena-core/testing/ontology/list4.rdf
index 4ad6644..c4d7ecd 100644
--- a/jena-core/testing/ontology/list4.rdf
+++ b/jena-core/testing/ontology/list4.rdf
@@ -1,24 +1,24 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-    <rdf:Description rdf:ID="d" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+    <rdf:Description rdf:ID="d" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/ontology/list5.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/ontology/list5.rdf b/jena-core/testing/ontology/list5.rdf
index 7bbaff0..d0d573b 100644
--- a/jena-core/testing/ontology/list5.rdf
+++ b/jena-core/testing/ontology/list5.rdf
@@ -1,25 +1,25 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF
-    xmlns:rdf   ="&rdf;"
-    xmlns:rdfs  ="&rdfs;"
-    xml:base    ="uri:urn:x-rdf:test"
-    xmlns       ="uri:urn:x-rdf:test#"
->
-
-<rdf:Description rdf:ID="root">
-   <p rdf:parseType="Collection">
-    <rdf:Description rdf:ID="a" />
-    <rdf:Description rdf:ID="b" />
-    <rdf:Description rdf:ID="c" />
-    <rdf:Description rdf:ID="d" />
-    <rdf:Description rdf:ID="e" />
-   </p>
-</rdf:Description>
-
-</rdf:RDF>
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY rdf   'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs  'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF
+    xmlns:rdf   ="&rdf;"
+    xmlns:rdfs  ="&rdfs;"
+    xml:base    ="uri:urn:x-rdf:test"
+    xmlns       ="uri:urn:x-rdf:test#"
+>
+
+<rdf:Description rdf:ID="root">
+   <p rdf:parseType="Collection">
+    <rdf:Description rdf:ID="a" />
+    <rdf:Description rdf:ID="b" />
+    <rdf:Description rdf:ID="c" />
+    <rdf:Description rdf:ID="d" />
+    <rdf:Description rdf:ID="e" />
+   </p>
+</rdf:Description>
+
+</rdf:RDF>


[34/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/resources/etc/owl-fb-mini.rules
----------------------------------------------------------------------
diff --git a/jena-core/src/main/resources/etc/owl-fb-mini.rules b/jena-core/src/main/resources/etc/owl-fb-mini.rules
index 12d43b9..fb6792e 100644
--- a/jena-core/src/main/resources/etc/owl-fb-mini.rules
+++ b/jena-core/src/main/resources/etc/owl-fb-mini.rules
@@ -1,748 +1,748 @@
-# 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.
-
-#------------------------------------------------------------------
-# OWL mini rule set v 0.1
-#
-# This is identical to the normal OWL rules except for:
-#  - omit XSD range inheritance
-#  - omit bNode introductin for someValuesFrom and minCardality
-#
-# $Id: owl-fb.rules,v 1.47 2004/03/09 18:36:30 der Exp $
-#------------------------------------------------------------------
-
-#------------------------------------------------------------------
-# Tabling directives
-#------------------------------------------------------------------
-
--> tableAll().
-
-#-> table(rdf:type).
-#-> table(rdfs:subClassOf).
-#-> table(rdfs:range).
-#-> table(rdfs:domain).
-#-> table(owl:equivalentClass).
-
-#------------------------------------------------------------------
-# RDFS Axioms
-#------------------------------------------------------------------
-
--> (rdf:type      rdfs:range rdfs:Class).
--> (rdfs:Resource  rdf:type  rdfs:Class).
--> (rdfs:Literal   rdf:type  rdfs:Class).
--> (rdf:Statement  rdf:type  rdfs:Class).
--> (rdf:nil        rdf:type  rdf:List).
--> (rdf:subject    rdf:type  rdf:Property).
--> (rdf:object     rdf:type  rdf:Property).
--> (rdf:predicate  rdf:type  rdf:Property).
--> (rdf:first      rdf:type  rdf:Property).
--> (rdf:rest       rdf:type  rdf:Property).
-
--> (rdfs:subPropertyOf rdfs:domain rdf:Property).
--> (rdfs:subClassOf rdfs:domain rdfs:Class).
--> (rdfs:domain rdfs:domain rdf:Property).
--> (rdfs:range rdfs:domain rdf:Property).
--> (rdf:subject rdfs:domain rdf:Statement).
--> (rdf:predicate rdfs:domain rdf:Statement).
--> (rdf:object rdfs:domain rdf:Statement).
--> (rdf:first rdfs:domain rdf:List).
--> (rdf:rest rdfs:domain rdf:List).
-
--> (rdfs:subPropertyOf rdfs:range rdf:Property).
--> (rdfs:subClassOf rdfs:range rdfs:Class).
--> (rdfs:domain rdfs:range rdfs:Class).
--> (rdfs:range rdfs:range rdfs:Class).
--> (rdf:type rdfs:range rdfs:Class).
-#-> (rdfs:comment rdfs:range rdfs:Literal).
-#-> (rdfs:label rdfs:range rdfs:Literal).
--> (rdf:rest rdfs:range rdf:List).
-
--> (rdf:Alt rdfs:subClassOf rdfs:Container).
--> (rdf:Bag rdfs:subClassOf rdfs:Container).
--> (rdf:Seq rdfs:subClassOf rdfs:Container).
--> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
-
--> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
-
--> (rdf:XMLLiteral rdf:type rdfs:Datatype).
--> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
-
-#------------------------------------------------------------------
-# RDFS Closure rules
-#------------------------------------------------------------------
-
-# This one could be omitted since the results are not really very interesting!
-#[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
-[rdf4: (?x ?p ?y) -> (?p rdf:type rdf:Property)]
-
-[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
-
-[rdfs2:  (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ]
-[rdfs3:  (?p rdfs:range ?c)  -> [(?y rdf:type ?c) <- (?x ?p ?y), notFunctor(?y)] ]
-[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
-#[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
-[rdfs5b: (?a rdfs:subPropertyOf ?a) <- (?a rdf:type rdf:Property)]
-[rdfs6:  (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> [ (?a ?q ?b) <- (?a ?p ?b)] ]
-[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
-# omit rdfs8, derivable from rdfs9 and prototype2
-[rdfs9:  (?x rdfs:subClassOf ?y), notEqual(?x,?y) -> [ (?a rdf:type ?y) <- (?a rdf:type ?x)] ]
-[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
-
-[rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)]
-[rdfs3-partial: (?p rdfs:range ?c)  -> (?c rdf:type rdfs:Class)]
-
-#------------------------------------------------------------------
-# RDFS iff extensions needed for OWL
-#------------------------------------------------------------------
-
-[rdfs2a: (?x rdfs:domain ?z) <- bound(?x), (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) ]
-[rdfs2a: (?x rdfs:domain ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:domain ?y) ]
-[rdfs3a: (?x rdfs:range  ?z) <- bound(?x), (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) ]
-[rdfs3a: (?x rdfs:range  ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:range  ?y) ]
-
-[rdfs12a: (rdf:type rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Resource rdfs:subClassOf ?y)]
-[rdfs12a: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
-[rdfs12a: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdf:Property rdfs:subClassOf ?y)]
-
-[rdfs12b: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
-[rdfs12b: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdf:Property rdfs:subClassOf ?y)]
-
-[rdfsder1: (?p rdfs:range ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:range ?z)]
-[rdfsder2: (?p rdfs:domain ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:domain ?z)]
-
-#------------------------------------------------------------------
-# OWL axioms
-#------------------------------------------------------------------
-
--> (owl:FunctionalProperty rdfs:subClassOf rdf:Property).
--> (owl:ObjectProperty rdfs:subClassOf rdf:Property).
--> (owl:DatatypeProperty rdfs:subClassOf rdf:Property).
--> (owl:InverseFunctionalProperty rdfs:subClassOf owl:ObjectProperty).
--> (owl:TransitiveProperty rdfs:subClassOf owl:ObjectProperty).
--> (owl:SymmetricProperty rdfs:subClassOf owl:ObjectProperty).
-
--> (rdf:first rdf:type owl:FunctionalProperty).
--> (rdf:rest rdf:type owl:FunctionalProperty).
-
--> (owl:oneOf rdfs:domain owl:Class).
-
--> (owl:Class rdfs:subClassOf rdfs:Class).
--> (owl:Restriction rdfs:subClassOf owl:Class).
-
--> (owl:Thing rdf:type owl:Class).
--> (owl:Nothing rdf:type owl:Class).
-
--> (owl:equivalentClass rdfs:domain owl:Class).
--> (owl:equivalentClass rdfs:range  owl:Class).
-
--> (owl:disjointWith rdfs:domain owl:Class).
--> (owl:disjointWith rdfs:range  owl:Class).
-
--> (owl:sameAs rdf:type owl:SymmetricProperty).
-#-> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
-
-# These are true but mess up the Ont API's notion of declared properties
-#-> (owl:sameAs rdfs:domain owl:Thing).
-#-> (owl:sameAs rdfs:range  owl:Thing).
-#-> (owl:differentFrom rdfs:domain owl:Thing).
-#-> (owl:differentFrom rdfs:range  owl:Thing).
-
--> (owl:onProperty rdfs:domain owl:Restriction).
--> (owl:onProperty rdfs:range  owl:Property).
-
--> (owl:OntologyProperty rdfs:subClassOf rdf:Property).
--> (owl:imports rdf:type owl:OntologyProperty).
--> (owl:imports rdfs:domain owl:Ontology).
--> (owl:imports rdfs:range  owl:Ontology).
-
--> (owl:priorVersion rdfs:domain owl:Ontology).
--> (owl:priorVersion rdfs:range  owl:Ontology).
-
--> (owl:backwardCompatibleWith rdfs:domain owl:Ontology).
--> (owl:backwardCompatibleWith rdfs:range  owl:Ontology).
-
--> (owl:incompatibleWith rdfs:domain owl:Ontology).
--> (owl:incompatibleWith rdfs:range  owl:Ontology).
-
--> (owl:versionInfo rdf:type owl:AnnotationProperty).
-
-# These properties are derivable from the definitions
-#-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
-#-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
-#-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
-#-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
-
--> (owl:differentFrom rdf:type owl:SymmetricProperty).
--> (owl:disjointWith rdf:type owl:SymmetricProperty).
-
--> (owl:intersectionOf rdfs:domain owl:Class).
-
-#------------------------------------------------------------------
-# OWL Rules
-#------------------------------------------------------------------
-
-[thing1: (?C rdf:type owl:Class) -> (?C rdfs:subClassOf owl:Thing)]
-
-#------------------------------------------------------------------
-# One direction of unionOf
-#------------------------------------------------------------------
-
-[unionOf1:  (?C owl:unionOf ?L) -> listMapAsSubject(?L, rdfs:subClassOf ?C) ]
-
-# Note could also add relation between two unionOf's if we add a listSubsumes primitive
-
-#------------------------------------------------------------------
-# Prototype rules to convert instance reasoning to class subsumption checking
-#------------------------------------------------------------------
-
-[earlyTypeProp1: (?C rdf:type owl:Restriction) -> (?C rdf:type owl:Class) ]
-
-[earlyTypeProp2: (?C owl:intersectionOf ?X) -> (?C rdf:type owl:Class) ]
-
-[earlyTypeProp3: (?C rdf:type owl:Class) -> (?C rdf:type rdfs:Class) ]
-
-[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), notEqual(?c, owl:Nothing), makeTemp(?t), hide(?t)
-                -> (?c rb:prototype ?t), (?t rdf:type ?c) ]
-
-[prototype2: (?c rb:prototype ?p) ->
-                [prototype2b: (?c rdfs:subClassOf ?d) <- (?p rdf:type ?d)] ]
-
-#------------------------------------------------------------------
-# Identify restriction assertions
-#------------------------------------------------------------------
-
-[restriction1: (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
-  -> (?C owl:equivalentClass some(?P, ?D))]
-
-[restriction2: (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
-  -> (?C owl:equivalentClass all(?P, ?D))]
-
-[restriction3: (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
-  -> (?C owl:equivalentClass min(?P, ?X))]
-
-[restriction4: (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
-  -> (?C owl:equivalentClass max(?P, ?X)) ]
-
-[restriction5: (?C owl:onProperty ?P), (?C owl:cardinality ?X)
-  -> (?C owl:equivalentClass card(?P, ?X)),
-     (?C rdfs:subClassOf min(?P, ?X)),
-     (?C rdfs:subClassOf max(?P, ?X)) ]
-
-[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X))
-                 -> (?C rdfs:subClassOf card(?P, ?X))]
-
-# Could limit the work done here by inserting an isFunctor guard?
-[restrictionPropagate1: (?C owl:equivalentClass ?R), (?D rdfs:subClassOf ?C)
-                                -> (?D rdfs:subClassOf ?R) ]
-[restrictionPropagate2: (?C owl:equivalentClass ?R), (?D owl:equivalentClass ?C)
-                                -> (?D owl:equivalentClass ?R) ]
-
-# Needed for the case where ?R is a restriction literal
-# and so does not appear in the subject position
-[restrictionSubclass1: (?D owl:equivalentClass ?R), isFunctor(?R) ->
-       [restrictionSubclass1b: (?X rdf:type ?D) <- (?X rdf:type ?R)] ]
-
-# This is redundant because equivalentClass is symmetric anyway
-#[restrictionSubclass2: (?D owl:equivalentClass ?R), isFunctor(?R) ->
-#       [restrictionSubclass2b: (?X rdf:type ?R) <- (?X rdf:type ?D)] ]
-
-# Temp trial - might replace above
-#[restrictionSubclass1: (?D owl:equivalentClass ?R), isFunctor(?R) , (?X rdf:type ?R) -> (?X rdf:type ?D)]
-#[restrictionSubclass2: (?D owl:equivalentClass ?R), isFunctor(?R) , (?X rdf:type ?D) -> (?X rdf:type ?R)]
-
-#------------------------------------------------------------------
-# min cardinality
-#------------------------------------------------------------------
-
-[minRec: (?C owl:equivalentClass min(?P, 1)), notEqual(?P, rdf:type) ->
-    [min2b: (?X rdf:type ?C) <- (?X ?P ?Y)] ]
-
-[restriction-inter-MnS: (?P rdfs:range ?D), (?C rdfs:subClassOf min(?P, 1))
-            -> (?C rdfs:subClassOf some(?P, ?D)) ]
-
-#------------------------------------------------------------------
-# max cardinality 1
-#------------------------------------------------------------------
-
-# Rule move to sameInstance block below to ease experimentation
-#[max1: (?C rdfs:subClassOf max(?P, 1)) ->
-#    [max1b: (?Y1 owl:sameAs ?Y2) <- bound(?Y1),   (?X ?P ?Y1), (?X rdf:type ?C), (?X ?P ?Y2), notEqual(?Y1, ?Y2)]
-#    [max1b: (?Y1 owl:sameAs ?Y2) <- unbound(?Y1), (?X ?P ?Y2), (?X rdf:type ?C), (?X ?P ?Y1), notEqual(?Y1, ?Y2)]
-#    ]
-
-[maxRec: (?C owl:equivalentClass max(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
-    [ (?X rdf:type ?C) <- (?X rdf:type owl:Thing)] ]
-
-#------------------------------------------------------------------
-# max cardinality 0
-#------------------------------------------------------------------
-
-# For completeness this requires iff version of rdfs:domain working forwards which it does not just now
-[maxRec2: (?C owl:equivalentClass max(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
-    -> (?E rdfs:subClassOf ?C)]
-
-[cardRec1: (?C owl:equivalentClass card(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
-    -> (?E rdfs:subClassOf ?C)]
-
-[cardRec3: (?C owl:equivalentClass card(?P, 0)) ->
-  [cardRec2b: (?X rdf:type ?C) <- (?X rdf:type max(?P, 0))] ]
-
-#------------------------------------------------------------------
-# cardinality 1
-#------------------------------------------------------------------
-
-[restriction-inter-CFP: (?C owl:equivalentClass card(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
-     (?C owl:equivalentClass min(?P, 1)) ]
-
-[cardRec2: (?C owl:equivalentClass card(?P, 1)) ->
-  [cardRec2b: (?X rdf:type ?C) <- (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 1)) ] ]
-
-#------------------------------------------------------------------
-# someValuesFrom
-#------------------------------------------------------------------
-
-#[someRec: (?C owl:equivalentClass some(?P, ?D)), (?P rdfs:range ?D) ->
-#     [someRecb: (?X rdf:type ?C) <- (?X ?P ?A) ] ]
-
-[someRec2: (?C owl:equivalentClass some(?P, ?D)) ->
-     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A) (?A rdf:type ?D) ] ]
-
-[someRec2b: (?C owl:equivalentClass some(?P, ?D)), (?D rdf:type rdfs:Datatype)->
-     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A), isDType(?A, ?D) ] ]
-
-#------------------------------------------------------------------
-# allValuesFrom
-#------------------------------------------------------------------
-
-[all1: (?C rdfs:subClassOf all(?P, ?D)), notEqual(?P, rdf:type), notEqual(?C, ?D) ->
-    [all1b: (?Y rdf:type ?D) <- (?X ?P ?Y), (?X rdf:type ?C) ] ]
-
-[allRec1: (?C rdfs:subClassOf max(?P, 1)), (?C rdfs:subClassOf some(?P, ?D))
-            -> (?C rdfs:subClassOf all(?P, ?D)) ]
-
-[allRec2: (?P rdf:type owl:FunctionalProperty), (?C rdfs:subClassOf some(?P, ?C))
-             -> (?C rdfs:subClassOf all(?P, ?C)) ]
-
-[allRec3: (?C owl:equivalentClass all(?P, ?D)), (?P rdfs:range ?D) ->
-    [ (?X rdf:type ?C) <- (?X rdf:type owl:Thing)] ]
-
-[allRec4: (?P rdf:type owl:FunctionalProperty), (?C owl:equivalentClass all(?P, ?D))
-                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
-
-[allRec5: (?C rdfs:subClassOf max(?P, 1)) (?C owl:equivalentClass all(?P, ?D))
-                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
-
-[restriction-inter-RA-T: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C))
-            -> (owl:Thing rdfs:subClassOf ?D) ]
-
-[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf all(?P, ?C))
-            -> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
-
-# This version looks strange but we are experimenting with droping the direct
-# subclass transitive closure and inferring from prototypes, but that is being
-# done backwards for forwards subclass relationships are handled as special cases
-#[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf ?D) (?D owl:equivalentClass all(?P, ?C))
-#						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
-
-#------------------------------------------------------------------
-# Nothing
-#------------------------------------------------------------------
-
-[nothing1: (?C rdfs:subClassOf min(?P, ?n)) (?C rdfs:subClassOf max(?P, ?x))
-           lessThan(?x, ?n)  ->  (?C owl:equivalentClass owl:Nothing) ]
-
-[nothing2: (?C rdfs:subClassOf ?D) (?C rdfs:subClassOf ?E) (?D owl:disjointWith ?E)
-           ->  (?C owl:equivalentClass owl:Nothing) ]
-
-[nothing3: (?C rdfs:subClassOf owl:Nothing) ->  (?C owl:equivalentClass owl:Nothing) ]
-
-[nothing4: (?C owl:oneOf rdf:nil) -> (?C owl:equivalentClass owl:Nothing) ]
-
-#------------------------------------------------------------------
-# Disjointness
-#------------------------------------------------------------------
-
-#[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)
-#						-> (?X owl:differentFrom ?Y) ]
-
-[distinct1: (?X owl:differentFrom ?Y) <-
-    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
-
-# Exploding the pairwise assertions is simply done procedurally here.
-# This is better handled by a dedicated equality reasoner any.
-[distinct2: (?w owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
-
-#------------------------------------------------------------------
-# Class equality
-#------------------------------------------------------------------
-
-# equivalentClass
-[equivalentClass1: (?P owl:equivalentClass ?Q)
-            -> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
-
-[equivalentClass2: (?P owl:equivalentClass ?Q) <-  (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
-
-[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class)
-            -> (?P owl:equivalentClass ?Q) ]
-
-#------------------------------------------------------------------
-# Instance equality
-#------------------------------------------------------------------
-
-# sameAs
-
-#[sameAs1: (?P rdf:type owl:FunctionalProperty) ->
-#      [sameAs1b: (?B owl:sameAs ?C) <- unbound(?C), (?A ?P ?B), (?A ?P ?C) ]
-#      [sameAs1b: (?B owl:sameAs ?C) <-   bound(?C), (?A ?P ?C), (?A ?P ?B) ]
-#      ]
-#
-#[sameAs2: (?P rdf:type owl:InverseFunctionalProperty) ->
-#      [sameAs2b: (?A owl:sameAs ?C) <- unbound(?C), (?A ?P ?B), (?C ?P ?B) ]
-#      [sameAs2b: (?A owl:sameAs ?C) <-   bound(?C), (?C ?P ?B), (?A ?P ?B) ]
-#      ]
-#
-##[sameAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing)
-##                    -> (?X owl:sameAs ?Y) ]
-#
-#[sameAs4a: (?Y ?P ?V) <- unbound(?V), (?X owl:sameAs ?Y), notEqual(?X,?Y), (?X ?P ?V) ]
-#[sameAs4c: (?Y ?P ?V) <- bound(?V), (?X ?P ?V), notEqual(?X,?Y), (?X owl:sameAs ?Y)  ]
-#[sameAs5a: (?V ?P ?Y) <- unbound(?V), (?X owl:sameAs ?Y), notEqual(?X,?Y), (?V ?P ?X)  ]
-#[sameAs5c: (?V ?P ?Y) <- bound(?V), (?V ?P ?X), notEqual(?X,?Y), (?X owl:sameAs ?Y) ]
-#
-#[sameAs6: (?X rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
-##[sameAs6: (?Y rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
-
-#------------------------------------------------------------------
-# Experimental forward version of instance equality
-#------------------------------------------------------------------
-
-# sameAs recognition rules - forward version
-
-[fp1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), notLiteral(?B), (?A ?P ?C), notLiteral(?C)
-          notEqual(?B, ?C) -> (?B owl:sameAs ?C) ]
-
-[ifp1: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B)
-          notEqual(?A, ?C) -> (?A owl:sameAs ?C) ]
-
-[fp1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), notLiteral(?B), (?A ?Q ?C), notLiteral(?C),
-          notEqual(?B, ?C), (?Q rdfs:subPropertyOf ?P) -> (?B owl:sameAs ?C) ]
-
-[ifp1: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?Q ?B)
-          notEqual(?A, ?C), (?Q rdfs:subPropertyOf ?P)  -> (?A owl:sameAs ?C) ]
-
-[fpEarlyProp: (?P rdf:type owl:FunctionalProperty) (?Q rdfs:subPropertyOf ?P) ->
-          (?Q rdf:type owl:FunctionalProperty) ]
-
-[ifpEarlyProp: (?P rdf:type owl:InverseFunctionalProperty) (?Q rdfs:subPropertyOf ?P) ->
-          (?Q rdf:type owl:InverseFunctionalProperty) ]
-
-# This rule is not sufficient if the type inference is being done backwards
-[max1: (?C rdfs:subClassOf max(?P, 1)), (?X ?P ?Y1), notLiteral(?Y1), (?X rdf:type ?C), (?X ?P ?Y2), notLiteral(?Y2),
-          notEqual(?Y1, ?Y2) -> (?Y1 owl:sameAs ?Y2) ]
-
-# Subclass inheritance not normally availabe forward which causes problems for max1,
-# patch this but just for restrictions to limit costs
-[subClassTemp: (?C rdfs:subClassOf ?R), isFunctor(?R), (?B rdfs:subClassOf ?C) -> (?B rdfs:subClassOf ?R) ]
-
-# sameAs propagation rules - forward version
-
-[sameAs1: (?A owl:sameAs ?B) -> (?B owl:sameAs ?A) ]
-
-[sameAs2: (?A owl:sameAs ?B) (?B owl:sameAs ?C) -> (?A owl:sameAs ?C) ]
-
-[sameAs6: (?X rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
-
-# Was
-# [sameAs7: (?X owl:sameAs ?X) <- bound(?X) (?X rdf:type owl:Thing) ]
-# which is not complete and breaks the find() contract.
-# Investigate why I though this was a useful thing to do in the first place!
-[sameAs7: (?X owl:sameAs ?X) <- (?X rdf:type owl:Thing) ]
-
-# Equality processing rules
-
-[equality1: (?X owl:sameAs ?Y), notEqual(?X,?Y) ->
-    [(?X ?P ?V) <- (?Y ?P ?V)]
-    [(?V ?P ?X) <- (?V ?P ?Y)] ]
-
-[equality2: (?X owl:sameAs ?Y), (?X rdf:type owl:Class) -> (?X owl:equivalentClass ?Y) ]
-
-[equality3: (?X owl:sameAs ?Y), (?X rdf:type rdf:Property) -> (?X owl:equivalentProperty ?Y) ]
-
-#------------------------------------------------------------------
-# Property rules
-#------------------------------------------------------------------
-
-# EquivalentProperty
-
-[equivalentProperty1: (?P owl:equivalentProperty ?Q)
-            -> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
-
-[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P)
-            -> (?P owl:equivalentProperty ?Q) ]
-
-[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Property), (?Q rdf:type rdfs:Property)
-            -> (?P owl:equivalentProperty ?Q) ]
-
-# SymmetricProperty
-
-[symmetricProperty1: (?P rdf:type owl:SymmetricProperty) ->
-                     [symmetricProperty1b: (?X ?P ?Y) <- (?Y ?P ?X)] ]
-
-
-# inverseOf
-[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
-
-[inverseOf2: (?P owl:inverseOf ?Q) -> [inverseOf2b: (?X ?P ?Y) <- (?Y ?Q ?X)] ]
-
-[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty)
-            -> (?Q rdf:type owl:InverseFunctionalProperty) ]
-
-[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty)
-            -> (?Q rdf:type owl:FunctionalProperty) ]
-
-[inverseof5:  (?P owl:inverseOf ?Q) (?P rdfs:range ?C) -> (?Q rdfs:domain ?C)]
-[inverseof6:  (?P owl:inverseOf ?Q) (?P rdfs:domain ?C) -> (?Q rdfs:range ?C)]
-
-# TransitiveProperty
-
-[transitiveProperty1: (?P rdf:type owl:TransitiveProperty) ->
-#			[transitiveProperty1b:  (?A ?P ?C) <- (?A ?P ?B), (?B ?P ?C)] ]
-      [transitiveProperty1b:  (?A ?P ?C) <- bound (?C), (?B ?P ?C), (?A ?P ?B)]
-      [transitiveProperty1b:  (?A ?P ?C) <- unbound (?C), (?A ?P ?B) (?B ?P ?C)]
-      ]
-
-# Object properties
-
-[objectProperty: (?P rdf:type owl:ObjectProperty) ->
-            (?P rdfs:domain owl:Thing) (?P rdfs:range owl:Thing) ]
-
-#------------------------------------------------------------------
-# Restricted support for hasValue, even though that is beyond OWL/lite
-#------------------------------------------------------------------
-
-# hasValue
-[hasValueRec: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:hasValue ?V)
-            -> (?C owl:equivalentClass hasValue(?P, ?V)) ]
-
-[hasValueIF: (?C owl:equivalentClass hasValue(?P, ?V)) ->
-                [ (?x ?P ?V) <- (?x rdf:type ?C) ]
-                [ (?x rdf:type ?C) <- (?x ?P ?V) ]
-                ]
-
-[hasValueProp: (?P rdf:type owl:FunctionalProperty) (?Q rdf:type owl:FunctionalProperty)
-               (?P rdfs:domain ?D) (?Q rdfs:domain ?D)
-               (?D owl:equivalentClass hasValue(?P, ?V))
-               (?D owl:equivalentClass hasValue(?Q, ?V))
-               -> (?P owl:equivalentProperty ?Q)]
-
-
-#------------------------------------------------------------------
-# Restricted support for oneOf, even though that is beyond OWL/lite
-#------------------------------------------------------------------
-
-[oneOfFP: (?P rdfs:range ?C) (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil)
-        -> (?P rdf:type owl:FunctionalProperty) ]
-
-[oneOfIFP: (?P rdfs:domain ?C) (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil)
-        -> (?P rdf:type owl:InverseFunctionalProperty) ]
-
-[oneOf1: (?C owl:oneOf ?l) -> listMapAsSubject(?l, rdf:type, ?C) ]
-
-[oneOf2: (?C owl:oneOf ?l1) (?D owl:oneOf ?l2) notEqual(?l1, ?l2) listEqual(?l1, ?l2) -> (?C owl:equivalentClass ?D) ]
-
-[oneOf3: (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil) 	->
-        [ (?Y ?P ?x)  <- (?Y ?P ?I) (?I rdf:type ?C)  ] ]
-
-#------------------------------------------------------------------
-# Declaration of main XSD datatypes
-#------------------------------------------------------------------
-
--> (xsd:float rdf:type rdfs:Datatype).
--> (xsd:double rdf:type rdfs:Datatype).
--> (xsd:int rdf:type rdfs:Datatype).
--> (xsd:long rdf:type rdfs:Datatype).
--> (xsd:short rdf:type rdfs:Datatype).
--> (xsd:byte rdf:type rdfs:Datatype).
--> (xsd:unsignedByte rdf:type rdfs:Datatype).
--> (xsd:unsignedShort rdf:type rdfs:Datatype).
--> (xsd:unsignedInt rdf:type rdfs:Datatype).
--> (xsd:unsignedLong rdf:type rdfs:Datatype).
--> (xsd:decimal rdf:type rdfs:Datatype).
--> (xsd:integer rdf:type rdfs:Datatype).
--> (xsd:nonPositiveInteger rdf:type rdfs:Datatype).
--> (xsd:nonNegativeInteger rdf:type rdfs:Datatype).
--> (xsd:positiveInteger rdf:type rdfs:Datatype).
--> (xsd:negativeInteger rdf:type rdfs:Datatype).
--> (xsd:boolean rdf:type rdfs:Datatype).
--> (xsd:string rdf:type rdfs:Datatype).
--> (xsd:anyURI rdf:type rdfs:Datatype).
--> (xsd:hexBinary rdf:type rdfs:Datatype).
--> (xsd:base64Binary  rdf:type rdfs:Datatype).
--> (xsd:date rdf:type rdfs:Datatype).
--> (xsd:time rdf:type rdfs:Datatype).
--> (xsd:dateTime rdf:type rdfs:Datatype).
--> (xsd:duration rdf:type rdfs:Datatype).
--> (xsd:gDay rdf:type rdfs:Datatype).
--> (xsd:gMonth rdf:type rdfs:Datatype).
--> (xsd:gYear rdf:type rdfs:Datatype).
--> (xsd:gYearMonth rdf:type rdfs:Datatype).
--> (xsd:gMonthDay rdf:type rdfs:Datatype).
-
--> (xsd:integer rdfs:subClassOf xsd:decimal).
-
--> hide(rb:xsdBase).
--> hide(rb:xsdRange).
--> hide(rb:prototype).
-
--> (xsd:byte rb:xsdBase xsd:decimal).
--> (xsd:short rb:xsdBase xsd:decimal).
--> (xsd:int rb:xsdBase xsd:decimal).
--> (xsd:long rb:xsdBase xsd:decimal).
--> (xsd:unsignedByte rb:xsdBase xsd:decimal).
--> (xsd:unsignedShort rb:xsdBase xsd:decimal).
--> (xsd:unsignedInt rb:xsdBase xsd:decimal).
--> (xsd:unsignedLong rb:xsdBase xsd:decimal).
--> (xsd:integer rb:xsdBase xsd:decimal).
--> (xsd:nonNegativeInteger rb:xsdBase xsd:decimal).
--> (xsd:nonPositiveInteger rb:xsdBase xsd:decimal).
--> (xsd:byte rb:xsdBase xsd:decimal).
--> (xsd:float rb:xsdBase xsd:float).
--> (xsd:decimal rb:xsdBase xsd:decimal).
--> (xsd:string rb:xsdBase xsd:string).
--> (xsd:boolean rb:xsdBase xsd:boolean).
--> (xsd:date rb:xsdBase xsd:date).
--> (xsd:time rb:xsdBase xsd:time).
--> (xsd:dateTime rb:xsdBase xsd:dateTime).
--> (xsd:duration rb:xsdBase xsd:duration).
-
-# Describe range (base type, signed, min bits)
--> (xsd:byte    rb:xsdRange xsd(xsd:integer,1,8)).
--> (xsd:short   rb:xsdRange xsd(xsd:integer,1,16)).
--> (xsd:int     rb:xsdRange xsd(xsd:integer,1,32)).
--> (xsd:long    rb:xsdRange xsd(xsd:integer,1,64)).
--> (xsd:integer rb:xsdRange xsd(xsd:integer,1,65)).
-
--> (xsd:unsignedByte    rb:xsdRange xsd(xsd:integer,0,8)).
--> (xsd:unsignedShort   rb:xsdRange xsd(xsd:integer,0,16)).
--> (xsd:unsignedInt     rb:xsdRange xsd(xsd:integer,0,32)).
--> (xsd:unsignedLong    rb:xsdRange xsd(xsd:integer,0,64)).
--> (xsd:nonNegativeInteger rb:xsdRange xsd(xsd:integer,0,65)).
-
-# Some XSD support may be disabled temporarily during performance checking
-
-[xsd1: (?X rdfs:subClassOf ?Y) <-
-        (?X rb:xsdRange xsd(?B, 0, ?L)) (?Y rb:xsdRange xsd(?B, ?S, ?L2)) le(?L, ?L2)]
-
-[xsd2: (?X rdfs:subClassOf ?Y) <-
-        (?X rb:xsdRange xsd(?B, 1, ?L)) (?Y rb:xsdRange xsd(?B, 1, ?L2)) le(?L, ?L2)]
-
-[range2: (?P rdfs:range xsd:byte) <- (?P rdfs:range xsd:nonNegativeInteger),
-          (?P rdfs:range xsd:nonPositiveInteger)]
-
-[range3: (?P rdfs:range owl:Nothing) <- (?P rdfs:range ?C), (?P rdfs:range ?D), notEqual(?C, ?D)
-               (?C owl:disjointWith ?D) ]
-
-[xsd3: (?C owl:disjointWith ?D) <- (?C rb:xsdBase ?BC), (?D rb:xsdBase ?BD), notEqual(?BC, ?BD) ]
-
-[range4: (?P rdfs:subPropertyOf ?Q) <- (?P rdfs:range owl:Nothing) (?Q rdf:type rdf:Property)]
-
-
-#------------------------------------------------------------------
-# Validation rules. These are dormant by default but are triggered
-# by the additional of a validation control triple to the graph.
-#------------------------------------------------------------------
-
-[validationDomainMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0)), (?P rdfs:domain ?C)  ->
-    (?P rb:violation error('inconsistent property definition', 'Property defined with domain which has a max(0) restriction for that property (domain)', ?C) )
-]
-
-[validationMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0))  ->
-    [max2b: (?X rb:violation error('too many values', 'Value for max-0 property (prop, class)', ?P, ?C))
-          <- (?X rdf:type ?C), (?X ?P ?Y) ] ]
-
-[validationMaxN: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, ?N)) ->
-    [max2b: (?X rb:violation error('too many values', 'Too many values on max-N property (prop, class)', ?P, ?C))
-          <- (?X rdf:type ?C), countLiteralValues(?X, ?P, ?M), lessThan(?N, ?M)  ] ]
-
-[validationFP: (?v rb:validation on()), (?P rdf:type owl:FunctionalProperty) ->
-    [fpb: (?X rb:violation error('too many values', 'Clashing literal values for functional property', ?P, ?V, ?U))
-          <- (?X ?P ?V), countLiteralValues(?X, ?P, ?M), greaterThan(?M, 1) ] ]
-
-[validationMax1I: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 1)) (?P rdf:type owl:ObjectProperty) ->
-    [fpb: (?X rb:violation error('too many values', 'Clashing individual  values for card1 property', ?P, ?V, ?U))
-          <- (?X rdf:type ?C) (?X ?P ?V), (?X ?P ?U), notEqual(?V, ?U), (?U owl:differentFrom ?V) ] ]
-
-[validationFPI: (?v rb:validation on()), (?P rdf:type owl:FunctionalProperty) (?P rdf:type owl:ObjectProperty) ->
-    [fpb: (?X rb:violation error('too many values', 'Clashing individual values for functional property', ?P, ?V, ?U))
-          <- (?X ?P ?V), (?X ?P ?U), notEqual(?V, ?U),  (?U owl:differentFrom ?V) ] ]
-
-
-[validationIndiv: (?v rb:validation on())  ->
-  [validationIndiv: (?X rb:violation error('conflict', 'Two individuals both same and different, may be due to disjoint classes or functional properties', ?Y))
-        <- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y), noValue(?T, rb:prototype ?X) ] ]
-
-[validationIndiv2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
-  [validationIndiv: (?I rb:violation error('conflict', 'Individual a member of disjoint classes', ?X, ?Y))
-        <- (?I rdf:type ?X), (?I rdf:type ?Y) noValue(?T rb:prototype ?I)] ]
-
-[validationIndiv3: (?v rb:validation on()) ->
-  [validationIndiv: (?I rb:violation error('conflict', 'Individual a member of Nothing', ?I))
-        <- (?I rdf:type owl:Nothing) noValue(?T rb:prototype ?I) ] ]
-
-[validationDisjoint: (?v rb:validation on()) (?X owl:disjointWith ?Y)  ->
-  [validationIndiv: (?X rb:violation warn('Inconsistent class', 'Two classes related by both subclass and disjoint relations', ?Y))
-        <- (?X owl:disjointWith ?Y), (?X rdfs:subClassOf ?Y) ] ]
-
-[validationDisjoint2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
-  [validationIndiv: (?C rb:violation warn('Inconsistent class', 'subclass of two disjoint classes', ?X, ?Y))
-        <- (?X owl:disjointWith ?Y), (?C rdfs:subClassOf ?X) (?C rdfs:subClassOf ?Y) notEqual(?C, owl:Nothing) ] ]
-
-[validationDTP: (?v rb:validation on()), (?P rdf:type owl:DatatypeProperty) ->
-  [validationDTP: (?X rb:violation error('range check', 'Object value for datatype property (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
-
-[validationOP: (?v rb:validation on()), (?P rdf:type owl:ObjectProperty) ->
-  [validationDTP: (?X rb:violation warn('range check', 'Literal value for object property (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), isLiteral(?V) ] ]
-
-[validationDTRange: (?v rb:validation on()), (?P rdfs:range ?R) (?R rdf:type rdfs:Datatype) ->
-  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), notDType(?V, ?R)  ] ]
-
-[validationDTRange: (?v rb:validation on()), (?P rdfs:range rdfs:Literal)  ->
-  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range rdsf:Literal (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
-
-[validationAllFrom: (?v rb:validation on()), (?C rdfs:subClassOf all(?P, ?R)) (?R rdf:type rdfs:Datatype) ->
-  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, ?R) ] ]
-
-[validationAllFrom: (?v rb:validation on()), (?C owl:equivalentClass all(?P, rdfs:Literal)) ->
-  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom rdfs:Literal (prop, value)', ?P, ?V))
-        <- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, rdfs:Literal)
-         ] ]
-
-[validationNothing: (?v rb:validation on()), (?C owl:equivalentClass owl:Nothing) notEqual(?C, owl:Nothing) ->
-  (?C rb:violation warn('Inconsistent class', 'Class cannot be instantiated, probably subclass of a disjoint classes or of an empty restriction'))
-]
-
-[validationRangeNothing: (?v rb:validation on()), (?P rdfs:range owl:Nothing) ->
-  (?C rb:violation warn('Inconsistent property', 'Property cannot be instantiated, probably due to multiple disjoint range declarations'))
-]
-
-[validationOneOf: (?v rb:validation on()) (?C owl:oneOf ?L) ->
-  [validationIndiv: (?X rb:violation warn('possible oneof violation', 'Culprit is deduced to be of enumerated type (implicicated class) but is not one of the enumerations\n This may be due to aliasing.', ?Y))
-        <- (?X rdf:type ?C), notBNode(?X), listNotContains(?L, ?X) ] ]
+# 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.
+
+#------------------------------------------------------------------
+# OWL mini rule set v 0.1
+#
+# This is identical to the normal OWL rules except for:
+#  - omit XSD range inheritance
+#  - omit bNode introductin for someValuesFrom and minCardality
+#
+# $Id: owl-fb.rules,v 1.47 2004/03/09 18:36:30 der Exp $
+#------------------------------------------------------------------
+
+#------------------------------------------------------------------
+# Tabling directives
+#------------------------------------------------------------------
+
+-> tableAll().
+
+#-> table(rdf:type).
+#-> table(rdfs:subClassOf).
+#-> table(rdfs:range).
+#-> table(rdfs:domain).
+#-> table(owl:equivalentClass).
+
+#------------------------------------------------------------------
+# RDFS Axioms
+#------------------------------------------------------------------
+
+-> (rdf:type      rdfs:range rdfs:Class).
+-> (rdfs:Resource  rdf:type  rdfs:Class).
+-> (rdfs:Literal   rdf:type  rdfs:Class).
+-> (rdf:Statement  rdf:type  rdfs:Class).
+-> (rdf:nil        rdf:type  rdf:List).
+-> (rdf:subject    rdf:type  rdf:Property).
+-> (rdf:object     rdf:type  rdf:Property).
+-> (rdf:predicate  rdf:type  rdf:Property).
+-> (rdf:first      rdf:type  rdf:Property).
+-> (rdf:rest       rdf:type  rdf:Property).
+
+-> (rdfs:subPropertyOf rdfs:domain rdf:Property).
+-> (rdfs:subClassOf rdfs:domain rdfs:Class).
+-> (rdfs:domain rdfs:domain rdf:Property).
+-> (rdfs:range rdfs:domain rdf:Property).
+-> (rdf:subject rdfs:domain rdf:Statement).
+-> (rdf:predicate rdfs:domain rdf:Statement).
+-> (rdf:object rdfs:domain rdf:Statement).
+-> (rdf:first rdfs:domain rdf:List).
+-> (rdf:rest rdfs:domain rdf:List).
+
+-> (rdfs:subPropertyOf rdfs:range rdf:Property).
+-> (rdfs:subClassOf rdfs:range rdfs:Class).
+-> (rdfs:domain rdfs:range rdfs:Class).
+-> (rdfs:range rdfs:range rdfs:Class).
+-> (rdf:type rdfs:range rdfs:Class).
+#-> (rdfs:comment rdfs:range rdfs:Literal).
+#-> (rdfs:label rdfs:range rdfs:Literal).
+-> (rdf:rest rdfs:range rdf:List).
+
+-> (rdf:Alt rdfs:subClassOf rdfs:Container).
+-> (rdf:Bag rdfs:subClassOf rdfs:Container).
+-> (rdf:Seq rdfs:subClassOf rdfs:Container).
+-> (rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property).
+
+-> (rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso).
+
+-> (rdf:XMLLiteral rdf:type rdfs:Datatype).
+-> (rdfs:Datatype rdfs:subClassOf rdfs:Class).
+
+#------------------------------------------------------------------
+# RDFS Closure rules
+#------------------------------------------------------------------
+
+# This one could be omitted since the results are not really very interesting!
+#[rdf1and4: (?x ?p ?y) -> (?p rdf:type rdf:Property), (?x rdf:type rdfs:Resource), (?y rdf:type rdfs:Resource)]
+[rdf4: (?x ?p ?y) -> (?p rdf:type rdf:Property)]
+
+[rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)]
+
+[rdfs2:  (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ]
+[rdfs3:  (?p rdfs:range ?c)  -> [(?y rdf:type ?c) <- (?x ?p ?y), notFunctor(?y)] ]
+[rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)]
+#[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)]
+[rdfs5b: (?a rdfs:subPropertyOf ?a) <- (?a rdf:type rdf:Property)]
+[rdfs6:  (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> [ (?a ?q ?b) <- (?a ?p ?b)] ]
+[rdfs7:  (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)]
+# omit rdfs8, derivable from rdfs9 and prototype2
+[rdfs9:  (?x rdfs:subClassOf ?y), notEqual(?x,?y) -> [ (?a rdf:type ?y) <- (?a rdf:type ?x)] ]
+[rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)]
+
+[rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)]
+[rdfs3-partial: (?p rdfs:range ?c)  -> (?c rdf:type rdfs:Class)]
+
+#------------------------------------------------------------------
+# RDFS iff extensions needed for OWL
+#------------------------------------------------------------------
+
+[rdfs2a: (?x rdfs:domain ?z) <- bound(?x), (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) ]
+[rdfs2a: (?x rdfs:domain ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:domain ?y) ]
+[rdfs3a: (?x rdfs:range  ?z) <- bound(?x), (?x rdfs:range  ?y), (?y rdfs:subClassOf ?z) ]
+[rdfs3a: (?x rdfs:range  ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:range  ?y) ]
+
+[rdfs12a: (rdf:type rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Resource rdfs:subClassOf ?y)]
+[rdfs12a: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
+[rdfs12a: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdf:Property rdfs:subClassOf ?y)]
+
+[rdfs12b: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdfs:Class rdfs:subClassOf ?y)]
+[rdfs12b: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdf:Property rdfs:subClassOf ?y)]
+
+[rdfsder1: (?p rdfs:range ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:range ?z)]
+[rdfsder2: (?p rdfs:domain ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:domain ?z)]
+
+#------------------------------------------------------------------
+# OWL axioms
+#------------------------------------------------------------------
+
+-> (owl:FunctionalProperty rdfs:subClassOf rdf:Property).
+-> (owl:ObjectProperty rdfs:subClassOf rdf:Property).
+-> (owl:DatatypeProperty rdfs:subClassOf rdf:Property).
+-> (owl:InverseFunctionalProperty rdfs:subClassOf owl:ObjectProperty).
+-> (owl:TransitiveProperty rdfs:subClassOf owl:ObjectProperty).
+-> (owl:SymmetricProperty rdfs:subClassOf owl:ObjectProperty).
+
+-> (rdf:first rdf:type owl:FunctionalProperty).
+-> (rdf:rest rdf:type owl:FunctionalProperty).
+
+-> (owl:oneOf rdfs:domain owl:Class).
+
+-> (owl:Class rdfs:subClassOf rdfs:Class).
+-> (owl:Restriction rdfs:subClassOf owl:Class).
+
+-> (owl:Thing rdf:type owl:Class).
+-> (owl:Nothing rdf:type owl:Class).
+
+-> (owl:equivalentClass rdfs:domain owl:Class).
+-> (owl:equivalentClass rdfs:range  owl:Class).
+
+-> (owl:disjointWith rdfs:domain owl:Class).
+-> (owl:disjointWith rdfs:range  owl:Class).
+
+-> (owl:sameAs rdf:type owl:SymmetricProperty).
+#-> (owl:sameIndividualAs owl:equivalentProperty owl:sameAs).
+
+# These are true but mess up the Ont API's notion of declared properties
+#-> (owl:sameAs rdfs:domain owl:Thing).
+#-> (owl:sameAs rdfs:range  owl:Thing).
+#-> (owl:differentFrom rdfs:domain owl:Thing).
+#-> (owl:differentFrom rdfs:range  owl:Thing).
+
+-> (owl:onProperty rdfs:domain owl:Restriction).
+-> (owl:onProperty rdfs:range  owl:Property).
+
+-> (owl:OntologyProperty rdfs:subClassOf rdf:Property).
+-> (owl:imports rdf:type owl:OntologyProperty).
+-> (owl:imports rdfs:domain owl:Ontology).
+-> (owl:imports rdfs:range  owl:Ontology).
+
+-> (owl:priorVersion rdfs:domain owl:Ontology).
+-> (owl:priorVersion rdfs:range  owl:Ontology).
+
+-> (owl:backwardCompatibleWith rdfs:domain owl:Ontology).
+-> (owl:backwardCompatibleWith rdfs:range  owl:Ontology).
+
+-> (owl:incompatibleWith rdfs:domain owl:Ontology).
+-> (owl:incompatibleWith rdfs:range  owl:Ontology).
+
+-> (owl:versionInfo rdf:type owl:AnnotationProperty).
+
+# These properties are derivable from the definitions
+#-> (owl:equivalentProperty rdf:type owl:SymmetricProperty).
+#-> (owl:equivalentProperty rdf:type owl:TransitiveProperty).
+#-> (owl:equivalentClass rdf:type owl:SymmetricProperty).
+#-> (owl:equivalentClass rdf:type owl:TransitiveProperty).
+
+-> (owl:differentFrom rdf:type owl:SymmetricProperty).
+-> (owl:disjointWith rdf:type owl:SymmetricProperty).
+
+-> (owl:intersectionOf rdfs:domain owl:Class).
+
+#------------------------------------------------------------------
+# OWL Rules
+#------------------------------------------------------------------
+
+[thing1: (?C rdf:type owl:Class) -> (?C rdfs:subClassOf owl:Thing)]
+
+#------------------------------------------------------------------
+# One direction of unionOf
+#------------------------------------------------------------------
+
+[unionOf1:  (?C owl:unionOf ?L) -> listMapAsSubject(?L, rdfs:subClassOf ?C) ]
+
+# Note could also add relation between two unionOf's if we add a listSubsumes primitive
+
+#------------------------------------------------------------------
+# Prototype rules to convert instance reasoning to class subsumption checking
+#------------------------------------------------------------------
+
+[earlyTypeProp1: (?C rdf:type owl:Restriction) -> (?C rdf:type owl:Class) ]
+
+[earlyTypeProp2: (?C owl:intersectionOf ?X) -> (?C rdf:type owl:Class) ]
+
+[earlyTypeProp3: (?C rdf:type owl:Class) -> (?C rdf:type rdfs:Class) ]
+
+[prototype1: (?c rdf:type owl:Class), noValue(?c, rb:prototype), notEqual(?c, owl:Nothing), makeTemp(?t), hide(?t)
+                -> (?c rb:prototype ?t), (?t rdf:type ?c) ]
+
+[prototype2: (?c rb:prototype ?p) ->
+                [prototype2b: (?c rdfs:subClassOf ?d) <- (?p rdf:type ?d)] ]
+
+#------------------------------------------------------------------
+# Identify restriction assertions
+#------------------------------------------------------------------
+
+[restriction1: (?C owl:onProperty ?P), (?C owl:someValuesFrom ?D)
+  -> (?C owl:equivalentClass some(?P, ?D))]
+
+[restriction2: (?C owl:onProperty ?P), (?C owl:allValuesFrom ?D)
+  -> (?C owl:equivalentClass all(?P, ?D))]
+
+[restriction3: (?C owl:onProperty ?P), (?C owl:minCardinality ?X)
+  -> (?C owl:equivalentClass min(?P, ?X))]
+
+[restriction4: (?C owl:onProperty ?P), (?C owl:maxCardinality ?X)
+  -> (?C owl:equivalentClass max(?P, ?X)) ]
+
+[restriction5: (?C owl:onProperty ?P), (?C owl:cardinality ?X)
+  -> (?C owl:equivalentClass card(?P, ?X)),
+     (?C rdfs:subClassOf min(?P, ?X)),
+     (?C rdfs:subClassOf max(?P, ?X)) ]
+
+[restriction6: (?C rdfs:subClassOf min(?P, ?X)), (?C rdfs:subClassOf max(?P, ?X))
+                 -> (?C rdfs:subClassOf card(?P, ?X))]
+
+# Could limit the work done here by inserting an isFunctor guard?
+[restrictionPropagate1: (?C owl:equivalentClass ?R), (?D rdfs:subClassOf ?C)
+                                -> (?D rdfs:subClassOf ?R) ]
+[restrictionPropagate2: (?C owl:equivalentClass ?R), (?D owl:equivalentClass ?C)
+                                -> (?D owl:equivalentClass ?R) ]
+
+# Needed for the case where ?R is a restriction literal
+# and so does not appear in the subject position
+[restrictionSubclass1: (?D owl:equivalentClass ?R), isFunctor(?R) ->
+       [restrictionSubclass1b: (?X rdf:type ?D) <- (?X rdf:type ?R)] ]
+
+# This is redundant because equivalentClass is symmetric anyway
+#[restrictionSubclass2: (?D owl:equivalentClass ?R), isFunctor(?R) ->
+#       [restrictionSubclass2b: (?X rdf:type ?R) <- (?X rdf:type ?D)] ]
+
+# Temp trial - might replace above
+#[restrictionSubclass1: (?D owl:equivalentClass ?R), isFunctor(?R) , (?X rdf:type ?R) -> (?X rdf:type ?D)]
+#[restrictionSubclass2: (?D owl:equivalentClass ?R), isFunctor(?R) , (?X rdf:type ?D) -> (?X rdf:type ?R)]
+
+#------------------------------------------------------------------
+# min cardinality
+#------------------------------------------------------------------
+
+[minRec: (?C owl:equivalentClass min(?P, 1)), notEqual(?P, rdf:type) ->
+    [min2b: (?X rdf:type ?C) <- (?X ?P ?Y)] ]
+
+[restriction-inter-MnS: (?P rdfs:range ?D), (?C rdfs:subClassOf min(?P, 1))
+            -> (?C rdfs:subClassOf some(?P, ?D)) ]
+
+#------------------------------------------------------------------
+# max cardinality 1
+#------------------------------------------------------------------
+
+# Rule move to sameInstance block below to ease experimentation
+#[max1: (?C rdfs:subClassOf max(?P, 1)) ->
+#    [max1b: (?Y1 owl:sameAs ?Y2) <- bound(?Y1),   (?X ?P ?Y1), (?X rdf:type ?C), (?X ?P ?Y2), notEqual(?Y1, ?Y2)]
+#    [max1b: (?Y1 owl:sameAs ?Y2) <- unbound(?Y1), (?X ?P ?Y2), (?X rdf:type ?C), (?X ?P ?Y1), notEqual(?Y1, ?Y2)]
+#    ]
+
+[maxRec: (?C owl:equivalentClass max(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
+    [ (?X rdf:type ?C) <- (?X rdf:type owl:Thing)] ]
+
+#------------------------------------------------------------------
+# max cardinality 0
+#------------------------------------------------------------------
+
+# For completeness this requires iff version of rdfs:domain working forwards which it does not just now
+[maxRec2: (?C owl:equivalentClass max(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
+    -> (?E rdfs:subClassOf ?C)]
+
+[cardRec1: (?C owl:equivalentClass card(?P, 0)), (?P rdfs:domain ?D), (?E owl:disjointWith ?D)
+    -> (?E rdfs:subClassOf ?C)]
+
+[cardRec3: (?C owl:equivalentClass card(?P, 0)) ->
+  [cardRec2b: (?X rdf:type ?C) <- (?X rdf:type max(?P, 0))] ]
+
+#------------------------------------------------------------------
+# cardinality 1
+#------------------------------------------------------------------
+
+[restriction-inter-CFP: (?C owl:equivalentClass card(?P, 1)), (?P rdf:type owl:FunctionalProperty) ->
+     (?C owl:equivalentClass min(?P, 1)) ]
+
+[cardRec2: (?C owl:equivalentClass card(?P, 1)) ->
+  [cardRec2b: (?X rdf:type ?C) <- (?X rdf:type min(?P, 1)), (?X rdf:type max(?P, 1)) ] ]
+
+#------------------------------------------------------------------
+# someValuesFrom
+#------------------------------------------------------------------
+
+#[someRec: (?C owl:equivalentClass some(?P, ?D)), (?P rdfs:range ?D) ->
+#     [someRecb: (?X rdf:type ?C) <- (?X ?P ?A) ] ]
+
+[someRec2: (?C owl:equivalentClass some(?P, ?D)) ->
+     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A) (?A rdf:type ?D) ] ]
+
+[someRec2b: (?C owl:equivalentClass some(?P, ?D)), (?D rdf:type rdfs:Datatype)->
+     [someRec2b: (?X rdf:type ?C) <- (?X ?P ?A), isDType(?A, ?D) ] ]
+
+#------------------------------------------------------------------
+# allValuesFrom
+#------------------------------------------------------------------
+
+[all1: (?C rdfs:subClassOf all(?P, ?D)), notEqual(?P, rdf:type), notEqual(?C, ?D) ->
+    [all1b: (?Y rdf:type ?D) <- (?X ?P ?Y), (?X rdf:type ?C) ] ]
+
+[allRec1: (?C rdfs:subClassOf max(?P, 1)), (?C rdfs:subClassOf some(?P, ?D))
+            -> (?C rdfs:subClassOf all(?P, ?D)) ]
+
+[allRec2: (?P rdf:type owl:FunctionalProperty), (?C rdfs:subClassOf some(?P, ?C))
+             -> (?C rdfs:subClassOf all(?P, ?C)) ]
+
+[allRec3: (?C owl:equivalentClass all(?P, ?D)), (?P rdfs:range ?D) ->
+    [ (?X rdf:type ?C) <- (?X rdf:type owl:Thing)] ]
+
+[allRec4: (?P rdf:type owl:FunctionalProperty), (?C owl:equivalentClass all(?P, ?D))
+                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
+
+[allRec5: (?C rdfs:subClassOf max(?P, 1)) (?C owl:equivalentClass all(?P, ?D))
+                         -> [ (?X rdf:type ?C) <- (?X ?P ?Y) (?Y rdf:type ?D) ] ]
+
+[restriction-inter-RA-T: (?P rdfs:range ?C), (?D owl:equivalentClass all(?P, ?C))
+            -> (owl:Thing rdfs:subClassOf ?D) ]
+
+[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf all(?P, ?C))
+            -> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
+
+# This version looks strange but we are experimenting with droping the direct
+# subclass transitive closure and inferring from prototypes, but that is being
+# done backwards for forwards subclass relationships are handled as special cases
+#[restriction-inter-AT-R: (owl:Thing rdfs:subClassOf ?D) (?D owl:equivalentClass all(?P, ?C))
+#						-> (?P rdfs:range ?C), (?P rdf:type owl:ObjectProperty) ]
+
+#------------------------------------------------------------------
+# Nothing
+#------------------------------------------------------------------
+
+[nothing1: (?C rdfs:subClassOf min(?P, ?n)) (?C rdfs:subClassOf max(?P, ?x))
+           lessThan(?x, ?n)  ->  (?C owl:equivalentClass owl:Nothing) ]
+
+[nothing2: (?C rdfs:subClassOf ?D) (?C rdfs:subClassOf ?E) (?D owl:disjointWith ?E)
+           ->  (?C owl:equivalentClass owl:Nothing) ]
+
+[nothing3: (?C rdfs:subClassOf owl:Nothing) ->  (?C owl:equivalentClass owl:Nothing) ]
+
+[nothing4: (?C owl:oneOf rdf:nil) -> (?C owl:equivalentClass owl:Nothing) ]
+
+#------------------------------------------------------------------
+# Disjointness
+#------------------------------------------------------------------
+
+#[distinct1: (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)
+#						-> (?X owl:differentFrom ?Y) ]
+
+[distinct1: (?X owl:differentFrom ?Y) <-
+    (?C owl:disjointWith ?D), (?X rdf:type ?C), (?Y rdf:type ?D)   ]
+
+# Exploding the pairwise assertions is simply done procedurally here.
+# This is better handled by a dedicated equality reasoner any.
+[distinct2: (?w owl:distinctMembers ?L) -> assertDisjointPairs(?L) ]
+
+#------------------------------------------------------------------
+# Class equality
+#------------------------------------------------------------------
+
+# equivalentClass
+[equivalentClass1: (?P owl:equivalentClass ?Q)
+            -> (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
+
+[equivalentClass2: (?P owl:equivalentClass ?Q) <-  (?P rdfs:subClassOf ?Q), (?Q rdfs:subClassOf ?P) ]
+
+[equivalentClass3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Class), (?Q rdf:type rdfs:Class)
+            -> (?P owl:equivalentClass ?Q) ]
+
+#------------------------------------------------------------------
+# Instance equality
+#------------------------------------------------------------------
+
+# sameAs
+
+#[sameAs1: (?P rdf:type owl:FunctionalProperty) ->
+#      [sameAs1b: (?B owl:sameAs ?C) <- unbound(?C), (?A ?P ?B), (?A ?P ?C) ]
+#      [sameAs1b: (?B owl:sameAs ?C) <-   bound(?C), (?A ?P ?C), (?A ?P ?B) ]
+#      ]
+#
+#[sameAs2: (?P rdf:type owl:InverseFunctionalProperty) ->
+#      [sameAs2b: (?A owl:sameAs ?C) <- unbound(?C), (?A ?P ?B), (?C ?P ?B) ]
+#      [sameAs2b: (?A owl:sameAs ?C) <-   bound(?C), (?C ?P ?B), (?A ?P ?B) ]
+#      ]
+#
+##[sameAs3: (?X owl:sameAs ?Y), (?X rdf:type owl:Thing), (?Y rdf:type owl:Thing)
+##                    -> (?X owl:sameAs ?Y) ]
+#
+#[sameAs4a: (?Y ?P ?V) <- unbound(?V), (?X owl:sameAs ?Y), notEqual(?X,?Y), (?X ?P ?V) ]
+#[sameAs4c: (?Y ?P ?V) <- bound(?V), (?X ?P ?V), notEqual(?X,?Y), (?X owl:sameAs ?Y)  ]
+#[sameAs5a: (?V ?P ?Y) <- unbound(?V), (?X owl:sameAs ?Y), notEqual(?X,?Y), (?V ?P ?X)  ]
+#[sameAs5c: (?V ?P ?Y) <- bound(?V), (?V ?P ?X), notEqual(?X,?Y), (?X owl:sameAs ?Y) ]
+#
+#[sameAs6: (?X rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
+##[sameAs6: (?Y rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
+
+#------------------------------------------------------------------
+# Experimental forward version of instance equality
+#------------------------------------------------------------------
+
+# sameAs recognition rules - forward version
+
+[fp1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), notLiteral(?B), (?A ?P ?C), notLiteral(?C)
+          notEqual(?B, ?C) -> (?B owl:sameAs ?C) ]
+
+[ifp1: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?P ?B)
+          notEqual(?A, ?C) -> (?A owl:sameAs ?C) ]
+
+[fp1: (?P rdf:type owl:FunctionalProperty), (?A ?P ?B), notLiteral(?B), (?A ?Q ?C), notLiteral(?C),
+          notEqual(?B, ?C), (?Q rdfs:subPropertyOf ?P) -> (?B owl:sameAs ?C) ]
+
+[ifp1: (?P rdf:type owl:InverseFunctionalProperty), (?A ?P ?B), (?C ?Q ?B)
+          notEqual(?A, ?C), (?Q rdfs:subPropertyOf ?P)  -> (?A owl:sameAs ?C) ]
+
+[fpEarlyProp: (?P rdf:type owl:FunctionalProperty) (?Q rdfs:subPropertyOf ?P) ->
+          (?Q rdf:type owl:FunctionalProperty) ]
+
+[ifpEarlyProp: (?P rdf:type owl:InverseFunctionalProperty) (?Q rdfs:subPropertyOf ?P) ->
+          (?Q rdf:type owl:InverseFunctionalProperty) ]
+
+# This rule is not sufficient if the type inference is being done backwards
+[max1: (?C rdfs:subClassOf max(?P, 1)), (?X ?P ?Y1), notLiteral(?Y1), (?X rdf:type ?C), (?X ?P ?Y2), notLiteral(?Y2),
+          notEqual(?Y1, ?Y2) -> (?Y1 owl:sameAs ?Y2) ]
+
+# Subclass inheritance not normally availabe forward which causes problems for max1,
+# patch this but just for restrictions to limit costs
+[subClassTemp: (?C rdfs:subClassOf ?R), isFunctor(?R), (?B rdfs:subClassOf ?C) -> (?B rdfs:subClassOf ?R) ]
+
+# sameAs propagation rules - forward version
+
+[sameAs1: (?A owl:sameAs ?B) -> (?B owl:sameAs ?A) ]
+
+[sameAs2: (?A owl:sameAs ?B) (?B owl:sameAs ?C) -> (?A owl:sameAs ?C) ]
+
+[sameAs6: (?X rdf:type owl:Thing) <- (?X owl:sameAs ?Y) ]
+
+# Was
+# [sameAs7: (?X owl:sameAs ?X) <- bound(?X) (?X rdf:type owl:Thing) ]
+# which is not complete and breaks the find() contract.
+# Investigate why I though this was a useful thing to do in the first place!
+[sameAs7: (?X owl:sameAs ?X) <- (?X rdf:type owl:Thing) ]
+
+# Equality processing rules
+
+[equality1: (?X owl:sameAs ?Y), notEqual(?X,?Y) ->
+    [(?X ?P ?V) <- (?Y ?P ?V)]
+    [(?V ?P ?X) <- (?V ?P ?Y)] ]
+
+[equality2: (?X owl:sameAs ?Y), (?X rdf:type owl:Class) -> (?X owl:equivalentClass ?Y) ]
+
+[equality3: (?X owl:sameAs ?Y), (?X rdf:type rdf:Property) -> (?X owl:equivalentProperty ?Y) ]
+
+#------------------------------------------------------------------
+# Property rules
+#------------------------------------------------------------------
+
+# EquivalentProperty
+
+[equivalentProperty1: (?P owl:equivalentProperty ?Q)
+            -> (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P) ]
+
+[equivalentProperty2: (?P rdfs:subPropertyOf ?Q), (?Q rdfs:subPropertyOf ?P)
+            -> (?P owl:equivalentProperty ?Q) ]
+
+[equivalentProperty3: (?P owl:sameAs ?Q), (?P rdf:type rdfs:Property), (?Q rdf:type rdfs:Property)
+            -> (?P owl:equivalentProperty ?Q) ]
+
+# SymmetricProperty
+
+[symmetricProperty1: (?P rdf:type owl:SymmetricProperty) ->
+                     [symmetricProperty1b: (?X ?P ?Y) <- (?Y ?P ?X)] ]
+
+
+# inverseOf
+[inverseOf1: (?P owl:inverseOf ?Q) -> (?Q owl:inverseOf ?P) ]
+
+[inverseOf2: (?P owl:inverseOf ?Q) -> [inverseOf2b: (?X ?P ?Y) <- (?Y ?Q ?X)] ]
+
+[inverseOf3: (?P owl:inverseOf ?Q), (?P rdf:type owl:FunctionalProperty)
+            -> (?Q rdf:type owl:InverseFunctionalProperty) ]
+
+[inverseOf4: (?P owl:inverseOf ?Q), (?P rdf:type owl:InverseFunctionalProperty)
+            -> (?Q rdf:type owl:FunctionalProperty) ]
+
+[inverseof5:  (?P owl:inverseOf ?Q) (?P rdfs:range ?C) -> (?Q rdfs:domain ?C)]
+[inverseof6:  (?P owl:inverseOf ?Q) (?P rdfs:domain ?C) -> (?Q rdfs:range ?C)]
+
+# TransitiveProperty
+
+[transitiveProperty1: (?P rdf:type owl:TransitiveProperty) ->
+#			[transitiveProperty1b:  (?A ?P ?C) <- (?A ?P ?B), (?B ?P ?C)] ]
+      [transitiveProperty1b:  (?A ?P ?C) <- bound (?C), (?B ?P ?C), (?A ?P ?B)]
+      [transitiveProperty1b:  (?A ?P ?C) <- unbound (?C), (?A ?P ?B) (?B ?P ?C)]
+      ]
+
+# Object properties
+
+[objectProperty: (?P rdf:type owl:ObjectProperty) ->
+            (?P rdfs:domain owl:Thing) (?P rdfs:range owl:Thing) ]
+
+#------------------------------------------------------------------
+# Restricted support for hasValue, even though that is beyond OWL/lite
+#------------------------------------------------------------------
+
+# hasValue
+[hasValueRec: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), (?C owl:hasValue ?V)
+            -> (?C owl:equivalentClass hasValue(?P, ?V)) ]
+
+[hasValueIF: (?C owl:equivalentClass hasValue(?P, ?V)) ->
+                [ (?x ?P ?V) <- (?x rdf:type ?C) ]
+                [ (?x rdf:type ?C) <- (?x ?P ?V) ]
+                ]
+
+[hasValueProp: (?P rdf:type owl:FunctionalProperty) (?Q rdf:type owl:FunctionalProperty)
+               (?P rdfs:domain ?D) (?Q rdfs:domain ?D)
+               (?D owl:equivalentClass hasValue(?P, ?V))
+               (?D owl:equivalentClass hasValue(?Q, ?V))
+               -> (?P owl:equivalentProperty ?Q)]
+
+
+#------------------------------------------------------------------
+# Restricted support for oneOf, even though that is beyond OWL/lite
+#------------------------------------------------------------------
+
+[oneOfFP: (?P rdfs:range ?C) (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil)
+        -> (?P rdf:type owl:FunctionalProperty) ]
+
+[oneOfIFP: (?P rdfs:domain ?C) (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil)
+        -> (?P rdf:type owl:InverseFunctionalProperty) ]
+
+[oneOf1: (?C owl:oneOf ?l) -> listMapAsSubject(?l, rdf:type, ?C) ]
+
+[oneOf2: (?C owl:oneOf ?l1) (?D owl:oneOf ?l2) notEqual(?l1, ?l2) listEqual(?l1, ?l2) -> (?C owl:equivalentClass ?D) ]
+
+[oneOf3: (?C owl:oneOf ?l) (?l rdf:first ?x) (?l rdf:rest rdf:nil) 	->
+        [ (?Y ?P ?x)  <- (?Y ?P ?I) (?I rdf:type ?C)  ] ]
+
+#------------------------------------------------------------------
+# Declaration of main XSD datatypes
+#------------------------------------------------------------------
+
+-> (xsd:float rdf:type rdfs:Datatype).
+-> (xsd:double rdf:type rdfs:Datatype).
+-> (xsd:int rdf:type rdfs:Datatype).
+-> (xsd:long rdf:type rdfs:Datatype).
+-> (xsd:short rdf:type rdfs:Datatype).
+-> (xsd:byte rdf:type rdfs:Datatype).
+-> (xsd:unsignedByte rdf:type rdfs:Datatype).
+-> (xsd:unsignedShort rdf:type rdfs:Datatype).
+-> (xsd:unsignedInt rdf:type rdfs:Datatype).
+-> (xsd:unsignedLong rdf:type rdfs:Datatype).
+-> (xsd:decimal rdf:type rdfs:Datatype).
+-> (xsd:integer rdf:type rdfs:Datatype).
+-> (xsd:nonPositiveInteger rdf:type rdfs:Datatype).
+-> (xsd:nonNegativeInteger rdf:type rdfs:Datatype).
+-> (xsd:positiveInteger rdf:type rdfs:Datatype).
+-> (xsd:negativeInteger rdf:type rdfs:Datatype).
+-> (xsd:boolean rdf:type rdfs:Datatype).
+-> (xsd:string rdf:type rdfs:Datatype).
+-> (xsd:anyURI rdf:type rdfs:Datatype).
+-> (xsd:hexBinary rdf:type rdfs:Datatype).
+-> (xsd:base64Binary  rdf:type rdfs:Datatype).
+-> (xsd:date rdf:type rdfs:Datatype).
+-> (xsd:time rdf:type rdfs:Datatype).
+-> (xsd:dateTime rdf:type rdfs:Datatype).
+-> (xsd:duration rdf:type rdfs:Datatype).
+-> (xsd:gDay rdf:type rdfs:Datatype).
+-> (xsd:gMonth rdf:type rdfs:Datatype).
+-> (xsd:gYear rdf:type rdfs:Datatype).
+-> (xsd:gYearMonth rdf:type rdfs:Datatype).
+-> (xsd:gMonthDay rdf:type rdfs:Datatype).
+
+-> (xsd:integer rdfs:subClassOf xsd:decimal).
+
+-> hide(rb:xsdBase).
+-> hide(rb:xsdRange).
+-> hide(rb:prototype).
+
+-> (xsd:byte rb:xsdBase xsd:decimal).
+-> (xsd:short rb:xsdBase xsd:decimal).
+-> (xsd:int rb:xsdBase xsd:decimal).
+-> (xsd:long rb:xsdBase xsd:decimal).
+-> (xsd:unsignedByte rb:xsdBase xsd:decimal).
+-> (xsd:unsignedShort rb:xsdBase xsd:decimal).
+-> (xsd:unsignedInt rb:xsdBase xsd:decimal).
+-> (xsd:unsignedLong rb:xsdBase xsd:decimal).
+-> (xsd:integer rb:xsdBase xsd:decimal).
+-> (xsd:nonNegativeInteger rb:xsdBase xsd:decimal).
+-> (xsd:nonPositiveInteger rb:xsdBase xsd:decimal).
+-> (xsd:byte rb:xsdBase xsd:decimal).
+-> (xsd:float rb:xsdBase xsd:float).
+-> (xsd:decimal rb:xsdBase xsd:decimal).
+-> (xsd:string rb:xsdBase xsd:string).
+-> (xsd:boolean rb:xsdBase xsd:boolean).
+-> (xsd:date rb:xsdBase xsd:date).
+-> (xsd:time rb:xsdBase xsd:time).
+-> (xsd:dateTime rb:xsdBase xsd:dateTime).
+-> (xsd:duration rb:xsdBase xsd:duration).
+
+# Describe range (base type, signed, min bits)
+-> (xsd:byte    rb:xsdRange xsd(xsd:integer,1,8)).
+-> (xsd:short   rb:xsdRange xsd(xsd:integer,1,16)).
+-> (xsd:int     rb:xsdRange xsd(xsd:integer,1,32)).
+-> (xsd:long    rb:xsdRange xsd(xsd:integer,1,64)).
+-> (xsd:integer rb:xsdRange xsd(xsd:integer,1,65)).
+
+-> (xsd:unsignedByte    rb:xsdRange xsd(xsd:integer,0,8)).
+-> (xsd:unsignedShort   rb:xsdRange xsd(xsd:integer,0,16)).
+-> (xsd:unsignedInt     rb:xsdRange xsd(xsd:integer,0,32)).
+-> (xsd:unsignedLong    rb:xsdRange xsd(xsd:integer,0,64)).
+-> (xsd:nonNegativeInteger rb:xsdRange xsd(xsd:integer,0,65)).
+
+# Some XSD support may be disabled temporarily during performance checking
+
+[xsd1: (?X rdfs:subClassOf ?Y) <-
+        (?X rb:xsdRange xsd(?B, 0, ?L)) (?Y rb:xsdRange xsd(?B, ?S, ?L2)) le(?L, ?L2)]
+
+[xsd2: (?X rdfs:subClassOf ?Y) <-
+        (?X rb:xsdRange xsd(?B, 1, ?L)) (?Y rb:xsdRange xsd(?B, 1, ?L2)) le(?L, ?L2)]
+
+[range2: (?P rdfs:range xsd:byte) <- (?P rdfs:range xsd:nonNegativeInteger),
+          (?P rdfs:range xsd:nonPositiveInteger)]
+
+[range3: (?P rdfs:range owl:Nothing) <- (?P rdfs:range ?C), (?P rdfs:range ?D), notEqual(?C, ?D)
+               (?C owl:disjointWith ?D) ]
+
+[xsd3: (?C owl:disjointWith ?D) <- (?C rb:xsdBase ?BC), (?D rb:xsdBase ?BD), notEqual(?BC, ?BD) ]
+
+[range4: (?P rdfs:subPropertyOf ?Q) <- (?P rdfs:range owl:Nothing) (?Q rdf:type rdf:Property)]
+
+
+#------------------------------------------------------------------
+# Validation rules. These are dormant by default but are triggered
+# by the additional of a validation control triple to the graph.
+#------------------------------------------------------------------
+
+[validationDomainMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0)), (?P rdfs:domain ?C)  ->
+    (?P rb:violation error('inconsistent property definition', 'Property defined with domain which has a max(0) restriction for that property (domain)', ?C) )
+]
+
+[validationMax0: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 0))  ->
+    [max2b: (?X rb:violation error('too many values', 'Value for max-0 property (prop, class)', ?P, ?C))
+          <- (?X rdf:type ?C), (?X ?P ?Y) ] ]
+
+[validationMaxN: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, ?N)) ->
+    [max2b: (?X rb:violation error('too many values', 'Too many values on max-N property (prop, class)', ?P, ?C))
+          <- (?X rdf:type ?C), countLiteralValues(?X, ?P, ?M), lessThan(?N, ?M)  ] ]
+
+[validationFP: (?v rb:validation on()), (?P rdf:type owl:FunctionalProperty) ->
+    [fpb: (?X rb:violation error('too many values', 'Clashing literal values for functional property', ?P, ?V, ?U))
+          <- (?X ?P ?V), countLiteralValues(?X, ?P, ?M), greaterThan(?M, 1) ] ]
+
+[validationMax1I: (?v rb:validation on()), (?C rdfs:subClassOf max(?P, 1)) (?P rdf:type owl:ObjectProperty) ->
+    [fpb: (?X rb:violation error('too many values', 'Clashing individual  values for card1 property', ?P, ?V, ?U))
+          <- (?X rdf:type ?C) (?X ?P ?V), (?X ?P ?U), notEqual(?V, ?U), (?U owl:differentFrom ?V) ] ]
+
+[validationFPI: (?v rb:validation on()), (?P rdf:type owl:FunctionalProperty) (?P rdf:type owl:ObjectProperty) ->
+    [fpb: (?X rb:violation error('too many values', 'Clashing individual values for functional property', ?P, ?V, ?U))
+          <- (?X ?P ?V), (?X ?P ?U), notEqual(?V, ?U),  (?U owl:differentFrom ?V) ] ]
+
+
+[validationIndiv: (?v rb:validation on())  ->
+  [validationIndiv: (?X rb:violation error('conflict', 'Two individuals both same and different, may be due to disjoint classes or functional properties', ?Y))
+        <- (?X owl:differentFrom ?Y), (?X owl:sameAs ?Y), noValue(?T, rb:prototype ?X) ] ]
+
+[validationIndiv2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
+  [validationIndiv: (?I rb:violation error('conflict', 'Individual a member of disjoint classes', ?X, ?Y))
+        <- (?I rdf:type ?X), (?I rdf:type ?Y) noValue(?T rb:prototype ?I)] ]
+
+[validationIndiv3: (?v rb:validation on()) ->
+  [validationIndiv: (?I rb:violation error('conflict', 'Individual a member of Nothing', ?I))
+        <- (?I rdf:type owl:Nothing) noValue(?T rb:prototype ?I) ] ]
+
+[validationDisjoint: (?v rb:validation on()) (?X owl:disjointWith ?Y)  ->
+  [validationIndiv: (?X rb:violation warn('Inconsistent class', 'Two classes related by both subclass and disjoint relations', ?Y))
+        <- (?X owl:disjointWith ?Y), (?X rdfs:subClassOf ?Y) ] ]
+
+[validationDisjoint2: (?v rb:validation on()) (?X owl:disjointWith ?Y) ->
+  [validationIndiv: (?C rb:violation warn('Inconsistent class', 'subclass of two disjoint classes', ?X, ?Y))
+        <- (?X owl:disjointWith ?Y), (?C rdfs:subClassOf ?X) (?C rdfs:subClassOf ?Y) notEqual(?C, owl:Nothing) ] ]
+
+[validationDTP: (?v rb:validation on()), (?P rdf:type owl:DatatypeProperty) ->
+  [validationDTP: (?X rb:violation error('range check', 'Object value for datatype property (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
+
+[validationOP: (?v rb:validation on()), (?P rdf:type owl:ObjectProperty) ->
+  [validationDTP: (?X rb:violation warn('range check', 'Literal value for object property (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), isLiteral(?V) ] ]
+
+[validationDTRange: (?v rb:validation on()), (?P rdfs:range ?R) (?R rdf:type rdfs:Datatype) ->
+  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), notDType(?V, ?R)  ] ]
+
+[validationDTRange: (?v rb:validation on()), (?P rdfs:range rdfs:Literal)  ->
+  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to range rdsf:Literal (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), notLiteral(?V), notBNode(?V) ] ]
+
+[validationAllFrom: (?v rb:validation on()), (?C rdfs:subClassOf all(?P, ?R)) (?R rdf:type rdfs:Datatype) ->
+  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, ?R) ] ]
+
+[validationAllFrom: (?v rb:validation on()), (?C owl:equivalentClass all(?P, rdfs:Literal)) ->
+  [validationDTRange: (?X rb:violation error('range check', 'Incorrectly typed literal due to allValuesFrom rdfs:Literal (prop, value)', ?P, ?V))
+        <- (?X ?P ?V), (?X rdf:type ?C), notDType(?V, rdfs:Literal)
+         ] ]
+
+[validationNothing: (?v rb:validation on()), (?C owl:equivalentClass owl:Nothing) notEqual(?C, owl:Nothing) ->
+  (?C rb:violation warn('Inconsistent class', 'Class cannot be instantiated, probably subclass of a disjoint classes or of an empty restriction'))
+]
+
+[validationRangeNothing: (?v rb:validation on()), (?P rdfs:range owl:Nothing) ->
+  (?C rb:violation warn('Inconsistent property', 'Property cannot be instantiated, probably due to multiple disjoint range declarations'))
+]
+
+[validationOneOf: (?v rb:validation on()) (?C owl:oneOf ?L) ->
+  [validationIndiv: (?X rb:violation warn('possible oneof violation', 'Culprit is deduced to be of enumerated type (implicicated class) but is not one of the enumerations\n This may be due to aliasing.', ?Y))
+        <- (?X rdf:type ?C), notBNode(?X), listNotContains(?L, ?X) ] ]


[22/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java b/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
index b54df07..24f4738 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
@@ -1,85 +1,85 @@
-/*
- * 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;
-
-import static org.junit.Assert.assertEquals ;
-import static org.junit.Assert.assertFalse ;
-import static org.junit.Assert.assertNotNull ;
-import static org.junit.Assert.assertTrue ;
-
-import java.io.ByteArrayInputStream ;
-import java.nio.charset.StandardCharsets ;
-import java.util.Iterator ;
-
-import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.graph.Triple ;
-import org.junit.Test ;
-
-public class TestRiotReader
-{
-    @Test
-    public void testCreateIteratorTriples_01()
-    {
-        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, "http://example/");
-        
-        assertFalse(it.hasNext());
-    }
-    
-    @Test
-    public void testEncodedUTF8()
-    {
-        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\\u263A\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
-        
-        assertTrue(it.hasNext());
-        assertEquals("\u263a", it.next().getObject().getLiteralLexicalForm());
-    }
-    
-    @Test
-    public void testRawUTF8()
-    {
-        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\u263a\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
-        
-        assertTrue(it.hasNext());
-        assertEquals("\u263a", it.next().getObject().getLiteralLexicalForm());
-    }
-    
-    @Test
-    public void testCreateIteratorTriples_02()
-    {
-        String x = StrUtils.strjoinNL(
-                "<rdf:RDF", 
-                "   xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
-                "   xmlns:j.0=\"http://example/\">" ,
-                "  <rdf:Description rdf:about=\"http://example/s\">" ,
-                "     <j.0:p rdf:resource=\"http://example/o\"/>" ,
-                "   </rdf:Description>" ,
-                "</rdf:RDF>") ;
-        
-        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream(x.getBytes()), RDFLanguages.RDFXML, "http://example/");
-        
-        assertTrue(it.hasNext());
-        Triple t = it.next();
-        assertNotNull(t);
-        assertEquals("http://example/s", t.getSubject().getURI());
-        assertEquals("http://example/p", t.getPredicate().getURI());
-        assertEquals("http://example/o", t.getObject().getURI());
-        
-        assertFalse(it.hasNext());
-    }
-}
+/*
+ * 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;
+
+import static org.junit.Assert.assertEquals ;
+import static org.junit.Assert.assertFalse ;
+import static org.junit.Assert.assertNotNull ;
+import static org.junit.Assert.assertTrue ;
+
+import java.io.ByteArrayInputStream ;
+import java.nio.charset.StandardCharsets ;
+import java.util.Iterator ;
+
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.graph.Triple ;
+import org.junit.Test ;
+
+public class TestRiotReader
+{
+    @Test
+    public void testCreateIteratorTriples_01()
+    {
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, "http://example/");
+        
+        assertFalse(it.hasNext());
+    }
+    
+    @Test
+    public void testEncodedUTF8()
+    {
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\\u263A\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
+        
+        assertTrue(it.hasNext());
+        assertEquals("\u263a", it.next().getObject().getLiteralLexicalForm());
+    }
+    
+    @Test
+    public void testRawUTF8()
+    {
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream("<a> <b> \"\u263a\" .".getBytes(StandardCharsets.UTF_8)), RDFLanguages.NTRIPLES, null);
+        
+        assertTrue(it.hasNext());
+        assertEquals("\u263a", it.next().getObject().getLiteralLexicalForm());
+    }
+    
+    @Test
+    public void testCreateIteratorTriples_02()
+    {
+        String x = StrUtils.strjoinNL(
+                "<rdf:RDF", 
+                "   xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
+                "   xmlns:j.0=\"http://example/\">" ,
+                "  <rdf:Description rdf:about=\"http://example/s\">" ,
+                "     <j.0:p rdf:resource=\"http://example/o\"/>" ,
+                "   </rdf:Description>" ,
+                "</rdf:RDF>") ;
+        
+        Iterator<Triple> it = RDFDataMgr.createIteratorTriples(new ByteArrayInputStream(x.getBytes()), RDFLanguages.RDFXML, "http://example/");
+        
+        assertTrue(it.hasNext());
+        Triple t = it.next();
+        assertNotNull(t);
+        assertEquals("http://example/s", t.getSubject().getURI());
+        assertEquals("http://example/p", t.getPredicate().getURI());
+        assertEquals("http://example/o", t.getObject().getURI());
+        
+        assertFalse(it.hasNext());
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java b/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
index 30ff9d4..5c14139 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
@@ -1,205 +1,205 @@
-/**
- * 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.sparql.engine.index ;
-
-import static org.apache.jena.reasoner.rulesys.Util.makeIntNode ;
-import static org.junit.Assert.assertEquals ;
-import static org.junit.Assert.assertTrue ;
-import static org.junit.Assert.assertFalse ;
-import static org.junit.Assert.fail ;
-
-import java.util.ArrayList ;
-import java.util.Collections ;
-import java.util.LinkedHashSet ;
-import java.util.List ;
-import java.util.Map ;
-import java.util.Set ;
-
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingHashMap ;
-import org.apache.jena.sparql.engine.index.HashIndexTable ;
-import org.apache.jena.sparql.engine.index.IndexFactory ;
-import org.apache.jena.sparql.engine.index.IndexTable ;
-import org.apache.jena.sparql.engine.index.LinearIndex ;
-import org.apache.jena.sparql.engine.index.HashIndexTable.Key ;
-import org.apache.jena.sparql.engine.index.HashIndexTable.MissingBindingException ;
-import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
-import org.junit.Test ;
-import org.junit.Before ;
-
-/**
- * Tests the {@link HashIndexTable} and
- * {@link LinearIndex} classes. Also tests
- * that the {@link IndexFactory} instantiates
- * the correct type of index depending on the data.
- */
-public class TestIndexTable {
-    // Contribution from P Gearon (@quoll)
-
-	private Var[] vars ;
-
-	// sets of vars with different iteration orders
-	private Set<Var> order1 ;
-	private Set<Var> order2 ;
-
-	private List<Binding> fData ;
-	private List<Binding> pData ;
-	
-	@Before
-	public void setup()
-	{
-		vars = new Var[] { Var.alloc("a"), Var.alloc("b"), Var.alloc("c") } ;
-		order1 = new LinkedHashSet<>() ;
-		order2 = new LinkedHashSet<>() ;
-		for ( int i = 0 ; i < vars.length ; i++ )
-		{
-			order1.add(vars[i]) ;
-			order2.add(vars[vars.length - i - 1]) ;
-		}
-		
-		fData = new ArrayList<>() ;
-		pData = new ArrayList<>() ;
-		for ( int i = 10 ; i <= 100 ; i += 10 )
-		{
-			BindingHashMap bindingFull = new BindingHashMap() ;
-			BindingHashMap bindingPart = new BindingHashMap() ;
-			for ( int b = 0 ; b < vars.length ; b++ )
-			{
-				bindingFull.add(vars[b], makeIntNode(i + b)) ;  // 10,11,12 - 20,21,22 - 30,31,32 ... 100,101,102
-				if ( (i + b) % 7 != 0 ) bindingPart.add(vars[b], makeIntNode(i + b)) ; // skips 21, 42, 70, 91
-			}
-			fData.add(bindingFull) ;
-			pData.add(bindingPart) ;
-		}
-	}
-
-	@Test
-	public void testHashIndexTableConstruction() throws Exception
-	{
-		new HashIndexTable(order1, fullData()) ;
-		assertTrue(IndexFactory.createIndex(order1, fullData()) instanceof HashIndexTable) ;
-		assertTrue(IndexFactory.createIndex(order1, partData()) instanceof LinearIndex) ;
-
-		try {
-			
-			new HashIndexTable(order1, partData()) ;
-			fail("Index built without failure on partial bindings") ;
-			
-		} catch (MissingBindingException e)
-		{
-			// check that the expected mapping occurred
-			Map<Var,Integer> map = e.getMap() ;
-			for ( int i = 0 ; i < vars.length ; i++ )
-			{
-				assertEquals(Integer.valueOf(i), map.get(vars[i])) ;
-			}
-
-			// check for rows of {a=10,b=11,c=12}, {a=20,c=22}
-			Set<Key> data = e.getData() ;
-			assertEquals(2, data.size()) ;
-
-			for ( Key key: data )
-			{
-				Binding b = LinearIndex.toBinding(key, map) ;
-				if ( b.size() == 3 )
-				{
-					for ( int i = 0 ; i < vars.length ; i++ )
-						assertEquals(b.get(vars[i]), makeIntNode(10 + i)) ;
-				} else
-				{
-					assertEquals(b.get(vars[0]), makeIntNode(20)) ;
-					assertEquals(b.get(vars[2]), makeIntNode(22)) ;
-				}
-			}
-		}
-	}
-
-	@Test
-	public void testHashIndexTableData() throws Exception
-	{
-		// test twice with different internal mappings
-		testTableData(new HashIndexTable(order1, fullData())) ;
-		testTableData(new HashIndexTable(order2, fullData())) ;
-	}
-	
-	@Test
-	public void testLinearIndexTableData()
-	{
-		// test twice with different internal mappings
-		testTableData(IndexFactory.createIndex(order1, partData())) ;
-		testTableData(IndexFactory.createIndex(order2, partData())) ;
-
-		// test the linear index with full data, since this should also work
-		Set<Key> emptyKeys = Collections.emptySet() ;
-		Map<Var,Integer> emptyMapping = Collections.emptyMap() ;
-
-		testTableData(new LinearIndex(order1, fullData(), emptyKeys, emptyMapping)) ;
-		testTableData(new LinearIndex(order2, fullData(), emptyKeys, emptyMapping)) ;
-		
-		// construction directly from part data should also work
-		testTableData(new LinearIndex(order1, partData(), emptyKeys, emptyMapping)) ;
-		testTableData(new LinearIndex(order2, partData(), emptyKeys, emptyMapping)) ;
-	}
-	
-	private void testTableData(IndexTable index)
-	{
-		// positive test for matching
-		for ( Binding b: fData )
-			assertTrue(index.containsCompatibleWithSharedDomain(b)) ;
-
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("abcd", 10, 11, 12, 13))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("ab", 10, 11))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("bc", 11, 12))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("ac", 10, 12))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("a", 10))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("ab", 70, 71))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("bc", 71, 72))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("ac", 70, 72))) ;
-		assertTrue(index.containsCompatibleWithSharedDomain(binding("a", 80))) ;  // a=70 won't match for partData
-
-		// negative test for matching
-		assertFalse(index.containsCompatibleWithSharedDomain(binding("abc", 10, 11, 11))) ;
-		assertFalse(index.containsCompatibleWithSharedDomain(binding("d", 10))) ;
-		assertFalse(index.containsCompatibleWithSharedDomain(binding("abc", 10, 21, 32))) ;
-		assertFalse(index.containsCompatibleWithSharedDomain(binding("xyz", 10, 11, 12))) ;
-	}
-
-	private QueryIterator fullData() { return new QueryIterPlainWrapper(fData.iterator()) ; }
-
-	private QueryIterator partData() { return new QueryIterPlainWrapper(pData.iterator()) ; }
-
-
-	/**
-	 * A convenience method that creates a binding of Vars with single letter names bound to integers.
-	 * @param varNames A string of variable names. The length must match the number of integers to bind to.
-	 * @param ints The values of the integers to be bound to the variables.
-	 */
-	private static Binding binding(String varNames, Integer... ints)
-	{
-		assert varNames.length() == ints.length ;
-
-		BindingHashMap b = new BindingHashMap() ;
-		for ( int s = 0 ; s < varNames.length() ; s++ )
-			b.add(Var.alloc(varNames.substring(s, s + 1)), makeIntNode(ints[s])) ;
-		return b ;
-	}
-}
-
+/**
+ * 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.sparql.engine.index ;
+
+import static org.apache.jena.reasoner.rulesys.Util.makeIntNode ;
+import static org.junit.Assert.assertEquals ;
+import static org.junit.Assert.assertTrue ;
+import static org.junit.Assert.assertFalse ;
+import static org.junit.Assert.fail ;
+
+import java.util.ArrayList ;
+import java.util.Collections ;
+import java.util.LinkedHashSet ;
+import java.util.List ;
+import java.util.Map ;
+import java.util.Set ;
+
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.engine.binding.BindingHashMap ;
+import org.apache.jena.sparql.engine.index.HashIndexTable ;
+import org.apache.jena.sparql.engine.index.IndexFactory ;
+import org.apache.jena.sparql.engine.index.IndexTable ;
+import org.apache.jena.sparql.engine.index.LinearIndex ;
+import org.apache.jena.sparql.engine.index.HashIndexTable.Key ;
+import org.apache.jena.sparql.engine.index.HashIndexTable.MissingBindingException ;
+import org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
+import org.junit.Test ;
+import org.junit.Before ;
+
+/**
+ * Tests the {@link HashIndexTable} and
+ * {@link LinearIndex} classes. Also tests
+ * that the {@link IndexFactory} instantiates
+ * the correct type of index depending on the data.
+ */
+public class TestIndexTable {
+    // Contribution from P Gearon (@quoll)
+
+	private Var[] vars ;
+
+	// sets of vars with different iteration orders
+	private Set<Var> order1 ;
+	private Set<Var> order2 ;
+
+	private List<Binding> fData ;
+	private List<Binding> pData ;
+	
+	@Before
+	public void setup()
+	{
+		vars = new Var[] { Var.alloc("a"), Var.alloc("b"), Var.alloc("c") } ;
+		order1 = new LinkedHashSet<>() ;
+		order2 = new LinkedHashSet<>() ;
+		for ( int i = 0 ; i < vars.length ; i++ )
+		{
+			order1.add(vars[i]) ;
+			order2.add(vars[vars.length - i - 1]) ;
+		}
+		
+		fData = new ArrayList<>() ;
+		pData = new ArrayList<>() ;
+		for ( int i = 10 ; i <= 100 ; i += 10 )
+		{
+			BindingHashMap bindingFull = new BindingHashMap() ;
+			BindingHashMap bindingPart = new BindingHashMap() ;
+			for ( int b = 0 ; b < vars.length ; b++ )
+			{
+				bindingFull.add(vars[b], makeIntNode(i + b)) ;  // 10,11,12 - 20,21,22 - 30,31,32 ... 100,101,102
+				if ( (i + b) % 7 != 0 ) bindingPart.add(vars[b], makeIntNode(i + b)) ; // skips 21, 42, 70, 91
+			}
+			fData.add(bindingFull) ;
+			pData.add(bindingPart) ;
+		}
+	}
+
+	@Test
+	public void testHashIndexTableConstruction() throws Exception
+	{
+		new HashIndexTable(order1, fullData()) ;
+		assertTrue(IndexFactory.createIndex(order1, fullData()) instanceof HashIndexTable) ;
+		assertTrue(IndexFactory.createIndex(order1, partData()) instanceof LinearIndex) ;
+
+		try {
+			
+			new HashIndexTable(order1, partData()) ;
+			fail("Index built without failure on partial bindings") ;
+			
+		} catch (MissingBindingException e)
+		{
+			// check that the expected mapping occurred
+			Map<Var,Integer> map = e.getMap() ;
+			for ( int i = 0 ; i < vars.length ; i++ )
+			{
+				assertEquals(Integer.valueOf(i), map.get(vars[i])) ;
+			}
+
+			// check for rows of {a=10,b=11,c=12}, {a=20,c=22}
+			Set<Key> data = e.getData() ;
+			assertEquals(2, data.size()) ;
+
+			for ( Key key: data )
+			{
+				Binding b = LinearIndex.toBinding(key, map) ;
+				if ( b.size() == 3 )
+				{
+					for ( int i = 0 ; i < vars.length ; i++ )
+						assertEquals(b.get(vars[i]), makeIntNode(10 + i)) ;
+				} else
+				{
+					assertEquals(b.get(vars[0]), makeIntNode(20)) ;
+					assertEquals(b.get(vars[2]), makeIntNode(22)) ;
+				}
+			}
+		}
+	}
+
+	@Test
+	public void testHashIndexTableData() throws Exception
+	{
+		// test twice with different internal mappings
+		testTableData(new HashIndexTable(order1, fullData())) ;
+		testTableData(new HashIndexTable(order2, fullData())) ;
+	}
+	
+	@Test
+	public void testLinearIndexTableData()
+	{
+		// test twice with different internal mappings
+		testTableData(IndexFactory.createIndex(order1, partData())) ;
+		testTableData(IndexFactory.createIndex(order2, partData())) ;
+
+		// test the linear index with full data, since this should also work
+		Set<Key> emptyKeys = Collections.emptySet() ;
+		Map<Var,Integer> emptyMapping = Collections.emptyMap() ;
+
+		testTableData(new LinearIndex(order1, fullData(), emptyKeys, emptyMapping)) ;
+		testTableData(new LinearIndex(order2, fullData(), emptyKeys, emptyMapping)) ;
+		
+		// construction directly from part data should also work
+		testTableData(new LinearIndex(order1, partData(), emptyKeys, emptyMapping)) ;
+		testTableData(new LinearIndex(order2, partData(), emptyKeys, emptyMapping)) ;
+	}
+	
+	private void testTableData(IndexTable index)
+	{
+		// positive test for matching
+		for ( Binding b: fData )
+			assertTrue(index.containsCompatibleWithSharedDomain(b)) ;
+
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("abcd", 10, 11, 12, 13))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("ab", 10, 11))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("bc", 11, 12))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("ac", 10, 12))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("a", 10))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("ab", 70, 71))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("bc", 71, 72))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("ac", 70, 72))) ;
+		assertTrue(index.containsCompatibleWithSharedDomain(binding("a", 80))) ;  // a=70 won't match for partData
+
+		// negative test for matching
+		assertFalse(index.containsCompatibleWithSharedDomain(binding("abc", 10, 11, 11))) ;
+		assertFalse(index.containsCompatibleWithSharedDomain(binding("d", 10))) ;
+		assertFalse(index.containsCompatibleWithSharedDomain(binding("abc", 10, 21, 32))) ;
+		assertFalse(index.containsCompatibleWithSharedDomain(binding("xyz", 10, 11, 12))) ;
+	}
+
+	private QueryIterator fullData() { return new QueryIterPlainWrapper(fData.iterator()) ; }
+
+	private QueryIterator partData() { return new QueryIterPlainWrapper(pData.iterator()) ; }
+
+
+	/**
+	 * A convenience method that creates a binding of Vars with single letter names bound to integers.
+	 * @param varNames A string of variable names. The length must match the number of integers to bind to.
+	 * @param ints The values of the integers to be bound to the variables.
+	 */
+	private static Binding binding(String varNames, Integer... ints)
+	{
+		assert varNames.length() == ints.length ;
+
+		BindingHashMap b = new BindingHashMap() ;
+		for ( int s = 0 ; s < varNames.length() ; s++ )
+			b.add(Var.alloc(varNames.substring(s, s + 1)), makeIntNode(ints[s])) ;
+		return b ;
+	}
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java b/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
index e013f0c..1aececa 100644
--- a/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
+++ b/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.jena.web;
-
+package org.apache.jena.web;
+
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.GraphUtil ;
@@ -30,8 +30,8 @@ import org.apache.jena.riot.RDFDataMgr ;
 import org.apache.jena.sparql.graph.GraphFactory ;
 import org.apache.jena.sparql.sse.SSE ;
 import org.junit.Test ;
-
-public abstract class AbstractTestDatasetGraphAccessor extends BaseTest
+
+public abstract class AbstractTestDatasetGraphAccessor extends BaseTest
 {
     protected static final String gn1       = "http://graph/1" ;
     protected static final String gn2       = "http://graph/2" ;
@@ -46,135 +46,135 @@ public abstract class AbstractTestDatasetGraphAccessor extends BaseTest
     
     protected static final Model model1     = ModelFactory.createModelForGraph(graph1) ;
     protected static final Model model2     = ModelFactory.createModelForGraph(graph2) ;
-    
-    // return a DatasetGraphAccessor backed by an empty dataset
-    protected abstract DatasetGraphAccessor getDatasetUpdater() ;
-    
-    private static void assertNullOrEmpty(Graph graph)
-    {
+    
+    // return a DatasetGraphAccessor backed by an empty dataset
+    protected abstract DatasetGraphAccessor getDatasetUpdater() ;
+    
+    private static void assertNullOrEmpty(Graph graph)
+    {
         if ( graph == null ) return ; 
         if ( ! graph.isEmpty() ) {
             System.out.println("----") ;
             RDFDataMgr.write(System.out, graph, Lang.TTL) ;
         }
-        
-        assertTrue(graph.isEmpty()) ;
-    }
-    
-    @Test public void get_01()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        Graph graph = updater.httpGet() ;
-        assertNullOrEmpty(graph) ;
-        Graph graph2 = updater.httpGet(n1) ;
-    }
-    
-    @Test public void get_02()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        Graph graph = updater.httpGet(n1) ;
-        assertNullOrEmpty(graph) ;
-    }
-    
-    @Test public void put_01()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        updater.httpPut(graph1) ;
-        
-        Graph graph = updater.httpGet() ;
-        assertNotNull("Graph is null", graph) ;
-        assertTrue(graph.isIsomorphicWith(graph1)) ;
-    }
-
-    
-    @Test public void put_02()
+        
+        assertTrue(graph.isEmpty()) ;
+    }
+    
+    @Test public void get_01()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        Graph graph = updater.httpGet() ;
+        assertNullOrEmpty(graph) ;
+        Graph graph2 = updater.httpGet(n1) ;
+    }
+    
+    @Test public void get_02()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        Graph graph = updater.httpGet(n1) ;
+        assertNullOrEmpty(graph) ;
+    }
+    
+    @Test public void put_01()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        updater.httpPut(graph1) ;
+        
+        Graph graph = updater.httpGet() ;
+        assertNotNull("Graph is null", graph) ;
+        assertTrue(graph.isIsomorphicWith(graph1)) ;
+    }
+
+    
+    @Test public void put_02()
     {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        updater.httpPut(n1, graph1) ;
-        
-        Graph graph = updater.httpGet() ;
-        assertNullOrEmpty(graph) ;
-        
-        graph = updater.httpGet(n1) ;
-        assertNotNull("Graph is null", graph) ;
-        assertTrue(graph.isIsomorphicWith(graph1)) ;
-    }
-
-    @Test public void post_01()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        updater.httpPost(graph1) ;
-        updater.httpPost(graph2) ;
-        Graph graph = updater.httpGet() ;
-        
-        Graph graph3 = GraphFactory.createDefaultGraph() ;
-        GraphUtil.addInto(graph3, graph1) ;
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        updater.httpPut(n1, graph1) ;
+        
+        Graph graph = updater.httpGet() ;
+        assertNullOrEmpty(graph) ;
+        
+        graph = updater.httpGet(n1) ;
+        assertNotNull("Graph is null", graph) ;
+        assertTrue(graph.isIsomorphicWith(graph1)) ;
+    }
+
+    @Test public void post_01()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        updater.httpPost(graph1) ;
+        updater.httpPost(graph2) ;
+        Graph graph = updater.httpGet() ;
+        
+        Graph graph3 = GraphFactory.createDefaultGraph() ;
+        GraphUtil.addInto(graph3, graph1) ;
         GraphUtil.addInto(graph3, graph2) ;
-        assertTrue(graph.isIsomorphicWith(graph3)) ;
-        assertFalse(graph.isIsomorphicWith(graph1)) ;
-        assertFalse(graph.isIsomorphicWith(graph2)) ;
-    }
-    
-    @Test public void post_02()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        updater.httpPost(n1, graph1) ;
-        updater.httpPost(n1, graph2) ;
-        Graph graph = updater.httpGet(n1) ;
-        Graph graph3 = GraphFactory.createDefaultGraph() ;
+        assertTrue(graph.isIsomorphicWith(graph3)) ;
+        assertFalse(graph.isIsomorphicWith(graph1)) ;
+        assertFalse(graph.isIsomorphicWith(graph2)) ;
+    }
+    
+    @Test public void post_02()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        updater.httpPost(n1, graph1) ;
+        updater.httpPost(n1, graph2) ;
+        Graph graph = updater.httpGet(n1) ;
+        Graph graph3 = GraphFactory.createDefaultGraph() ;
         GraphUtil.addInto(graph3, graph1) ;
         GraphUtil.addInto(graph3, graph2) ;
-        assertTrue(graph.isIsomorphicWith(graph3)) ;
-        assertFalse(graph.isIsomorphicWith(graph1)) ;
-        assertFalse(graph.isIsomorphicWith(graph2)) ;
-        
-        graph = updater.httpGet() ;
-        assertFalse(graph.isIsomorphicWith(graph3)) ;
-    }
-
-    // Default graph
-    @Test public void delete_01()
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        updater.httpDelete() ;
-        Graph graph = updater.httpGet() ;
-        assertTrue(graph.isEmpty()) ;
-        
-        updater.httpPut(graph1) ;
-        graph = updater.httpGet() ;
-        assertFalse(graph.isEmpty()) ;
-        
-        updater.httpDelete() ;
-        graph = updater.httpGet() ;
-        assertTrue(graph.isEmpty()) ;
-    }
-    
-    // Named graph, no side effects.
-    @Test public void delete_02() 
-    {
-        DatasetGraphAccessor updater = getDatasetUpdater() ;
-        //updater.httpDelete(n1) ;
-        Graph graph = updater.httpGet(n1) ;
-        assertNullOrEmpty(graph) ;
-
-        updater.httpPut(graph2) ;
-        updater.httpPut(n1, graph1) ;
-        
-        updater.httpDelete() ;
-        graph = updater.httpGet() ;
-        assertTrue(graph.isEmpty()) ;
-        updater.httpPut(graph2) ;
-
-        graph = updater.httpGet(n1) ;
-        assertFalse(graph.isEmpty()) ;
-        
-        updater.httpDelete(n1) ;
-        graph = updater.httpGet(n1) ;
-        assertNullOrEmpty(graph) ;
-        graph = updater.httpGet() ;
-        assertFalse(graph.isEmpty()) ;
-    }
-
-//    @Test public void compound_01() {}
-//    @Test public void compound_02() {}
+        assertTrue(graph.isIsomorphicWith(graph3)) ;
+        assertFalse(graph.isIsomorphicWith(graph1)) ;
+        assertFalse(graph.isIsomorphicWith(graph2)) ;
+        
+        graph = updater.httpGet() ;
+        assertFalse(graph.isIsomorphicWith(graph3)) ;
+    }
+
+    // Default graph
+    @Test public void delete_01()
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        updater.httpDelete() ;
+        Graph graph = updater.httpGet() ;
+        assertTrue(graph.isEmpty()) ;
+        
+        updater.httpPut(graph1) ;
+        graph = updater.httpGet() ;
+        assertFalse(graph.isEmpty()) ;
+        
+        updater.httpDelete() ;
+        graph = updater.httpGet() ;
+        assertTrue(graph.isEmpty()) ;
+    }
+    
+    // Named graph, no side effects.
+    @Test public void delete_02() 
+    {
+        DatasetGraphAccessor updater = getDatasetUpdater() ;
+        //updater.httpDelete(n1) ;
+        Graph graph = updater.httpGet(n1) ;
+        assertNullOrEmpty(graph) ;
+
+        updater.httpPut(graph2) ;
+        updater.httpPut(n1, graph1) ;
+        
+        updater.httpDelete() ;
+        graph = updater.httpGet() ;
+        assertTrue(graph.isEmpty()) ;
+        updater.httpPut(graph2) ;
+
+        graph = updater.httpGet(n1) ;
+        assertFalse(graph.isEmpty()) ;
+        
+        updater.httpDelete(n1) ;
+        graph = updater.httpGet(n1) ;
+        assertNullOrEmpty(graph) ;
+        graph = updater.httpGet() ;
+        assertFalse(graph.isEmpty()) ;
+    }
+
+//    @Test public void compound_01() {}
+//    @Test public void compound_02() {}
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java b/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
index f2a633a..14295c3 100644
--- a/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
+++ b/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
-package org.apache.jena.web;
-
-
+package org.apache.jena.web;
+
+
 import org.apache.jena.query.DatasetAccessorFactory ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.DatasetGraphFactory ;
-
-public class TestDatasetGraphAccessorMem extends AbstractTestDatasetGraphAccessor
-{
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        DatasetGraph dsg = DatasetGraphFactory.create() ;
-        return DatasetAccessorFactory.make(dsg) ;
-    }
+
+public class TestDatasetGraphAccessorMem extends AbstractTestDatasetGraphAccessor
+{
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        DatasetGraph dsg = DatasetGraphFactory.create() ;
+        return DatasetAccessorFactory.make(dsg) ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl b/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
index 9a434a5..858a0bc 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
@@ -1,2 +1,2 @@
-@prefix : <http://example.org/ns#> .
+@prefix : <http://example.org/ns#> .
 :s :p :o .
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
index 2ca2b27..2dd369a 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
@@ -1,4 +1,4 @@
-@prefix : <http://example.org/ns#> .
-{:s :m :o}
-<g1.ttl> {:s1 :m :o1 }
+@prefix : <http://example.org/ns#> .
+{:s :m :o}
+<g1.ttl> {:s1 :m :o1 }
 <g2.ttl> {:s2 :m :o2 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl b/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
index f07c90c..c39d57f 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
@@ -1,3 +1,3 @@
-@prefix : <http://example.org/ns#> .
-:s1 :m :o1 .
-:s2 :m :o2 .
+@prefix : <http://example.org/ns#> .
+:s1 :m :o1 .
+:s2 :m :o2 .

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
index 876197f..d789da4 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
@@ -1,3 +1,3 @@
-@prefix : <http://example.org/ns#> .
-<g1.ttl> {:s1 :m :o1 }
+@prefix : <http://example.org/ns#> .
+<g1.ttl> {:s1 :m :o1 }
 <g2.ttl> {:s2 :m :o2 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
index f95c57b..7ed6d7f 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
@@ -1,3 +1,3 @@
-@prefix : <http://example.org/ns#> .
-<g1.ttl> {:s1 :p :o1 }
+@prefix : <http://example.org/ns#> .
+<g1.ttl> {:s1 :p :o1 }
 <g2.ttl> {:s2 :p :o2 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
index 9a434a5..858a0bc 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
@@ -1,2 +1,2 @@
-@prefix : <http://example.org/ns#> .
+@prefix : <http://example.org/ns#> .
 :s :p :o .
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
index ab87333..6b48ffd 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
@@ -1,4 +1,4 @@
-@prefix : <http://example.org/ns#> .
-{:s :p :o}
-<g1.ttl> {:s1 :p :o1 }
+@prefix : <http://example.org/ns#> .
+{:s :p :o}
+<g1.ttl> {:s1 :p :o1 }
 <g2.ttl> {:s2 :p :o2 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
index ee42de7..78c9d04 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
@@ -1,2 +1,2 @@
-@prefix :      <http://example.org/ns#> .
+@prefix :      <http://example.org/ns#> .
 :g {:s :p :o }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
index 8914bbe..0cb2bd7 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
@@ -1,2 +1,2 @@
-@prefix :      <http://example.org/ns#> .
+@prefix :      <http://example.org/ns#> .
 :s :p :o
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
index eb40f00..7fdc75d 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
@@ -1,6 +1,6 @@
-@prefix :      <http://example.org/ns#> .
-:s1 :p :o1 .
-:s2 :p :o2 .
-:a1 :b1 :c1 .
-<g1.ttl> {:s :p :o}
+@prefix :      <http://example.org/ns#> .
+:s1 :p :o1 .
+:s2 :p :o2 .
+:a1 :b1 :c1 .
+<g1.ttl> {:s :p :o}
 <g2.ttl> {:s :p :o}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
index eb40f00..7fdc75d 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
@@ -1,6 +1,6 @@
-@prefix :      <http://example.org/ns#> .
-:s1 :p :o1 .
-:s2 :p :o2 .
-:a1 :b1 :c1 .
-<g1.ttl> {:s :p :o}
+@prefix :      <http://example.org/ns#> .
+:s1 :p :o1 .
+:s2 :p :o2 .
+:a1 :b1 :c1 .
+<g1.ttl> {:s :p :o}
 <g2.ttl> {:s :p :o}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
index 9ddbf74..67d9665 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
@@ -1,6 +1,6 @@
-@prefix :      <http://example.org/ns#> .
-:s1 :p :o1 .
-:s2 :p :o2 .
-:a1 :b1 :c1 .
-<g1.ttl> {:s :p :o. :s1 :p :o1 . :a1 :b1 :c1 .}
+@prefix :      <http://example.org/ns#> .
+:s1 :p :o1 .
+:s2 :p :o2 .
+:a1 :b1 :c1 .
+<g1.ttl> {:s :p :o. :s1 :p :o1 . :a1 :b1 :c1 .}
 <g2.ttl> {:s :p :o. :s2 :p :o2 .}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
index 8914bbe..0cb2bd7 100644
--- a/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
+++ b/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
@@ -1,2 +1,2 @@
-@prefix :      <http://example.org/ns#> .
+@prefix :      <http://example.org/ns#> .
 :s :p :o
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/DAWG-Final/sort/.manifest.ttl.swp
----------------------------------------------------------------------
diff --git a/jena-arq/testing/DAWG-Final/sort/.manifest.ttl.swp b/jena-arq/testing/DAWG-Final/sort/.manifest.ttl.swp
deleted file mode 100644
index 9a14952..0000000
Binary files a/jena-arq/testing/DAWG-Final/sort/.manifest.ttl.swp and /dev/null differ

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig b/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
index 18d6fe8..0be04a9 100644
--- a/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
+++ b/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
@@ -1,2 +1,2 @@
-{<http://a.example/s> <http://a.example/p> '''
''' .}
+{<http://a.example/s> <http://a.example/p> '''
''' .}
 <http://example/graph> {<http://a.example/s> <http://a.example/p> '''
''' .}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-core/src/main/java/org/apache/jena/vocabulary/SKOS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/vocabulary/SKOS.java b/jena-core/src/main/java/org/apache/jena/vocabulary/SKOS.java
index 426a3a4..a26f05a 100644
--- a/jena-core/src/main/java/org/apache/jena/vocabulary/SKOS.java
+++ b/jena-core/src/main/java/org/apache/jena/vocabulary/SKOS.java
@@ -1,96 +1,96 @@
-/*
- * 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.vocabulary;
-
-
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
-
-/**
- * Vocabulary definition for the 
- * <a href="http://www.w3.org/2009/08/skos-reference/skos.html">W3C SKOS Recommendation</a>.
- */
-public class SKOS {
-	/**
-	 * The RDF model that holds the SKOS entities
-	 */
-	private static final Model m = ModelFactory.createDefaultModel();
-	/**
-	 * The namespace of the SKOS vocabulary as a string
-	 */
-	public static final String uri = "http://www.w3.org/2004/02/skos/core#";
-	/**
-	 * Returns the namespace of the SKOS schema as a string
-	 * @return the namespace of the SKOS schema
-	 */
-	public static String getURI() {
-		return uri;
-	}
-	/**
-	 * The namespace of the SKOS vocabulary
-	 */
-	public static final Resource NAMESPACE = m.createResource( uri );
-	/* ##########################################################
-	 * Defines SKOS Classes
-	   ########################################################## */
-	public static final Resource Concept = m.createResource( uri + "Concept");
-	public static final Resource ConceptScheme = m.createResource( uri + "ConceptScheme");
-	public static final Resource Collection = m.createResource(uri + "Collection");
-	public static final Resource OrderedCollection = m.createResource( uri + "OrderedCollection");
-	/* ##########################################################
-	 * Defines SKOS Properties
-	   ########################################################## */
-	// SKOS lexical label properties
-	public static final Property prefLabel = m.createProperty( uri + "prefLabel");
-	public static final Property altLabel = m.createProperty( uri + "altLabel");
-	public static final Property hiddenLabel = m.createProperty( uri + "hiddenLabel");
-	// SKOS documentation properties
-	public static final Property definition = m.createProperty( uri + "definition");
-	public static final Property note = m.createProperty( uri + "note");
-	public static final Property scopeNote = m.createProperty( uri + "scopeNote");
-	public static final Property historyNote = m.createProperty( uri + "historyNote");
-	public static final Property changeNote = m.createProperty( uri + "changeNote");
-	public static final Property editorialNote = m.createProperty( uri + "editorialNote");
-	public static final Property example = m.createProperty( uri + "example");
-	// SKOS notation properties
-	public static final Property notation = m.createProperty( uri + "notation");
-	// SKOS semantic relations properties
-	public static final Property semanticRelation = m.createProperty( uri + "semanticRelation");
-	public static final Property broaderTransitive = m.createProperty( uri + "broaderTransitive");
-	public static final Property broader = m.createProperty( uri + "broader");
-	public static final Property narrowerTransitive = m.createProperty( uri + "narrowerTransitive");
-	public static final Property narrower = m.createProperty( uri + "narrower");
-	public static final Property related = m.createProperty( uri + "related");
-	// SKOS mapping properties
-	public static final Property mappingRelation = m.createProperty( uri + "mappingRelation");
-	public static final Property exactMatch = m.createProperty( uri + "exactMatch");
-	public static final Property closeMatch = m.createProperty( uri + "closeMatch");
-	public static final Property broadMatch = m.createProperty( uri + "broadMatch");
-	public static final Property narrowMatch = m.createProperty( uri + "narrowMatch");
-	public static final Property relatedMatch = m.createProperty( uri + "relatedMatch");
-	// SKOS concept scheme properties
-	public static final Property inScheme = m.createProperty( uri + "inScheme");
-	public static final Property hasTopConcept = m.createProperty( uri + "hasTopConcept");
-	public static final Property topConceptOf = m.createProperty( uri + "topConceptOf");
-	// SKOS collection properties
-	public static final Property member = m.createProperty( uri + "member");
-	public static final Property memberList = m.createProperty( uri + "memberList");
-}
+/*
+ * 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.vocabulary;
+
+
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
+
+/**
+ * Vocabulary definition for the 
+ * <a href="http://www.w3.org/2009/08/skos-reference/skos.html">W3C SKOS Recommendation</a>.
+ */
+public class SKOS {
+	/**
+	 * The RDF model that holds the SKOS entities
+	 */
+	private static final Model m = ModelFactory.createDefaultModel();
+	/**
+	 * The namespace of the SKOS vocabulary as a string
+	 */
+	public static final String uri = "http://www.w3.org/2004/02/skos/core#";
+	/**
+	 * Returns the namespace of the SKOS schema as a string
+	 * @return the namespace of the SKOS schema
+	 */
+	public static String getURI() {
+		return uri;
+	}
+	/**
+	 * The namespace of the SKOS vocabulary
+	 */
+	public static final Resource NAMESPACE = m.createResource( uri );
+	/* ##########################################################
+	 * Defines SKOS Classes
+	   ########################################################## */
+	public static final Resource Concept = m.createResource( uri + "Concept");
+	public static final Resource ConceptScheme = m.createResource( uri + "ConceptScheme");
+	public static final Resource Collection = m.createResource(uri + "Collection");
+	public static final Resource OrderedCollection = m.createResource( uri + "OrderedCollection");
+	/* ##########################################################
+	 * Defines SKOS Properties
+	   ########################################################## */
+	// SKOS lexical label properties
+	public static final Property prefLabel = m.createProperty( uri + "prefLabel");
+	public static final Property altLabel = m.createProperty( uri + "altLabel");
+	public static final Property hiddenLabel = m.createProperty( uri + "hiddenLabel");
+	// SKOS documentation properties
+	public static final Property definition = m.createProperty( uri + "definition");
+	public static final Property note = m.createProperty( uri + "note");
+	public static final Property scopeNote = m.createProperty( uri + "scopeNote");
+	public static final Property historyNote = m.createProperty( uri + "historyNote");
+	public static final Property changeNote = m.createProperty( uri + "changeNote");
+	public static final Property editorialNote = m.createProperty( uri + "editorialNote");
+	public static final Property example = m.createProperty( uri + "example");
+	// SKOS notation properties
+	public static final Property notation = m.createProperty( uri + "notation");
+	// SKOS semantic relations properties
+	public static final Property semanticRelation = m.createProperty( uri + "semanticRelation");
+	public static final Property broaderTransitive = m.createProperty( uri + "broaderTransitive");
+	public static final Property broader = m.createProperty( uri + "broader");
+	public static final Property narrowerTransitive = m.createProperty( uri + "narrowerTransitive");
+	public static final Property narrower = m.createProperty( uri + "narrower");
+	public static final Property related = m.createProperty( uri + "related");
+	// SKOS mapping properties
+	public static final Property mappingRelation = m.createProperty( uri + "mappingRelation");
+	public static final Property exactMatch = m.createProperty( uri + "exactMatch");
+	public static final Property closeMatch = m.createProperty( uri + "closeMatch");
+	public static final Property broadMatch = m.createProperty( uri + "broadMatch");
+	public static final Property narrowMatch = m.createProperty( uri + "narrowMatch");
+	public static final Property relatedMatch = m.createProperty( uri + "relatedMatch");
+	// SKOS concept scheme properties
+	public static final Property inScheme = m.createProperty( uri + "inScheme");
+	public static final Property hasTopConcept = m.createProperty( uri + "hasTopConcept");
+	public static final Property topConceptOf = m.createProperty( uri + "topConceptOf");
+	// SKOS collection properties
+	public static final Property member = m.createProperty( uri + "member");
+	public static final Property memberList = m.createProperty( uri + "memberList");
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-core/src/main/java/org/apache/jena/vocabulary/SKOSXL.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/vocabulary/SKOSXL.java b/jena-core/src/main/java/org/apache/jena/vocabulary/SKOSXL.java
index 05f4b0f..1b14ce2 100644
--- a/jena-core/src/main/java/org/apache/jena/vocabulary/SKOSXL.java
+++ b/jena-core/src/main/java/org/apache/jena/vocabulary/SKOSXL.java
@@ -1,62 +1,62 @@
-/*
- * 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.vocabulary;
-
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
-
-/**
- * Vocabulary definition for the 
- * <a href="http://www.w3.org/TR/skos-reference/skos-xl.html">W3C SKOS-XL Recommendation</a>.
- */
-public class SKOSXL {
-	/**
-	 * The RDF model that holds the SKOS-XL entities
-	 */
-	private static final Model m = ModelFactory.createDefaultModel();
-	/**
-	 * The namespace of the SKOS-XL vocabulary as a string
-	 */
-	public static final String uri = "http://www.w3.org/2008/05/skos-xl#";
-	/**
-	 * Returns the namespace of the SKOS-XL schema as a string
-	 * @return the namespace of the SKOS-XL schema
-	 */
-	public static String getURI() {
-		return uri;
-	}
-	/**
-	 * The namespace of the SKOS-XL vocabulary
-	 */
-	public static final Resource NAMESPACE = m.createResource( uri );
-	/* ##########################################################
-	 * Defines SKOS-XL Classes
-	   ########################################################## */
-	public static final Resource Label = m.createResource( uri + "Label");
-	/* ##########################################################
-	 * Defines SKOS-XL Properties
-	   ########################################################## */
-	public static final Property prefLabel = m.createProperty( uri + "prefLabel");
-	public static final Property altLabel = m.createProperty( uri + "altLabel");
-	public static final Property hiddenLabel = m.createProperty( uri + "hiddenLabel");
-	public static final Property labelRelation = m.createProperty( uri + "labelRelation");
-	public static final Property literalForm = m.createProperty( uri + "literalForm");
-}
+/*
+ * 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.vocabulary;
+
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
+
+/**
+ * Vocabulary definition for the 
+ * <a href="http://www.w3.org/TR/skos-reference/skos-xl.html">W3C SKOS-XL Recommendation</a>.
+ */
+public class SKOSXL {
+	/**
+	 * The RDF model that holds the SKOS-XL entities
+	 */
+	private static final Model m = ModelFactory.createDefaultModel();
+	/**
+	 * The namespace of the SKOS-XL vocabulary as a string
+	 */
+	public static final String uri = "http://www.w3.org/2008/05/skos-xl#";
+	/**
+	 * Returns the namespace of the SKOS-XL schema as a string
+	 * @return the namespace of the SKOS-XL schema
+	 */
+	public static String getURI() {
+		return uri;
+	}
+	/**
+	 * The namespace of the SKOS-XL vocabulary
+	 */
+	public static final Resource NAMESPACE = m.createResource( uri );
+	/* ##########################################################
+	 * Defines SKOS-XL Classes
+	   ########################################################## */
+	public static final Resource Label = m.createResource( uri + "Label");
+	/* ##########################################################
+	 * Defines SKOS-XL Properties
+	   ########################################################## */
+	public static final Property prefLabel = m.createProperty( uri + "prefLabel");
+	public static final Property altLabel = m.createProperty( uri + "altLabel");
+	public static final Property hiddenLabel = m.createProperty( uri + "hiddenLabel");
+	public static final Property labelRelation = m.createProperty( uri + "labelRelation");
+	public static final Property literalForm = m.createProperty( uri + "literalForm");
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/Column.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/Column.java b/jena-csv/src/main/java/org/apache/jena/propertytable/Column.java
index 5650d07..50d7ebf 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/Column.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/Column.java
@@ -1,45 +1,45 @@
-/*
- * 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.propertytable;
-
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-
-/**
- * Each Column of the PropertyTable has an unique columnKey Node of the predicate (or p for short).
- * 
- */
-public interface Column {
-
-	/**
-	 * @return the PropertyTable it belongs to
-	 */
-	PropertyTable getTable();
-
-	/**
-	 * @return the columnKey Node of the predicate
-	 */
-	Node getColumnKey();
-	
-	/**
-	 * @return all the values within a Column
-	 */
-	List<Node> getValues();
-
-}
+/*
+ * 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.propertytable;
+
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+
+/**
+ * Each Column of the PropertyTable has an unique columnKey Node of the predicate (or p for short).
+ * 
+ */
+public interface Column {
+
+	/**
+	 * @return the PropertyTable it belongs to
+	 */
+	PropertyTable getTable();
+
+	/**
+	 * @return the columnKey Node of the predicate
+	 */
+	Node getColumnKey();
+	
+	/**
+	 * @return all the values within a Column
+	 */
+	List<Node> getValues();
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/PropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/PropertyTable.java b/jena-csv/src/main/java/org/apache/jena/propertytable/PropertyTable.java
index 93b68c1..78c6967 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/PropertyTable.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/PropertyTable.java
@@ -1,126 +1,126 @@
-/*
- * 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.propertytable;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-
-/**
- * PropertyTable is designed to be a table of RDF terms, or Nodes in Jena. 
- * Each Column of the PropertyTable has an unique columnKey Node of the predicate (or p for short).
- * Each Row of the PropertyTable has an unique rowKey Node of the subject (or s for short).
- * You can use getColumn() to get the Column by its columnKey Node of the predicate, while getRow() for Row.
- * 
- */
-public interface PropertyTable {
-	
-	/**
-	 * Query for ?s <p> <o>
-	 * @param column the Column with the columnKey Node of the predicate
-	 * @param value the object (or value) Node
-	 * @return the ExtendedIterator of the matching Triples
-	 */
-	ExtendedIterator<Triple> getTripleIterator(Column column, Node value);
-
-	/**
-	 * Query for ?s <p> ?o
-	 * @param column the Column with the columnKey Node of the predicate
-	 * @return the ExtendedIterator of the matching Triples
-	 */
-	ExtendedIterator<Triple> getTripleIterator(Column column);
-	
-	/**
-	 * Query for ?s ?p <o>
-	 * @param value the object (or value) Node
-	 * @return the ExtendedIterator of the matching Triples
-	 */
-	ExtendedIterator<Triple> getTripleIterator(Node value);
-	
-	/**
-	 * Query for <s> ?p ?o
-	 * @param row the Row with the rowKey Node of the subject
-	 * @return the ExtendedIterator of the matching Triples
-	 */
-	ExtendedIterator<Triple> getTripleIterator(Row row);
-	
-	/**
-	 * Query for ?s ?p ?o
-	 * @return all of the Triples of the PropertyTable
-	 */
-	ExtendedIterator<Triple> getTripleIterator();
-
-	/**
-	 * @return all of the Columns of the PropertyTable
-	 */
-	Collection<Column> getColumns();
-
-	/**
-	 * Get Column by its columnKey Node of the predicate
-	 * @param p columnKey Node of the predicate
-	 * @return the Column
-	 */
-	Column getColumn(Node p);
-
-	/**
-	 * Create a Column by its columnKey Node of the predicate
-	 * @param p
-	 */
-	Column createColumn(Node p);
-
-	/**
-	 * Get Row by its rowKey Node of the subject
-	 * @param s rowKey Node of the subject
-	 * @return the Row
-	 */
-	Row getRow(Node s);
-	
-	
-	/**
-	 * Create Row by its rowKey Node of the subject
-	 * @param s rowKey Node of the subject
-	 * @return the Row created
-	 */
-	Row createRow(Node s);
-	
-	
-	/**
-	 * Get all of the rows
-	 */
-	List<Row> getAllRows() ;
-	
-	
-	/**
-	 * Get all the values within a Column
-	 * @param column
-	 * @return the values
-	 */
-	List<Node> getColumnValues(Column column);
-	
-	/**
-	 * Get the Rows matching the value of a Column
-	 * @param column the Column with the columnKey Node of the predicate
-	 * @param value the object (or value) Node
-	 * @return the matching Rows
-	 */
-	Collection<Row> getMatchingRows(Column column, Node value);
-	
-}
+/*
+ * 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.propertytable;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+
+/**
+ * PropertyTable is designed to be a table of RDF terms, or Nodes in Jena. 
+ * Each Column of the PropertyTable has an unique columnKey Node of the predicate (or p for short).
+ * Each Row of the PropertyTable has an unique rowKey Node of the subject (or s for short).
+ * You can use getColumn() to get the Column by its columnKey Node of the predicate, while getRow() for Row.
+ * 
+ */
+public interface PropertyTable {
+	
+	/**
+	 * Query for ?s <p> <o>
+	 * @param column the Column with the columnKey Node of the predicate
+	 * @param value the object (or value) Node
+	 * @return the ExtendedIterator of the matching Triples
+	 */
+	ExtendedIterator<Triple> getTripleIterator(Column column, Node value);
+
+	/**
+	 * Query for ?s <p> ?o
+	 * @param column the Column with the columnKey Node of the predicate
+	 * @return the ExtendedIterator of the matching Triples
+	 */
+	ExtendedIterator<Triple> getTripleIterator(Column column);
+	
+	/**
+	 * Query for ?s ?p <o>
+	 * @param value the object (or value) Node
+	 * @return the ExtendedIterator of the matching Triples
+	 */
+	ExtendedIterator<Triple> getTripleIterator(Node value);
+	
+	/**
+	 * Query for <s> ?p ?o
+	 * @param row the Row with the rowKey Node of the subject
+	 * @return the ExtendedIterator of the matching Triples
+	 */
+	ExtendedIterator<Triple> getTripleIterator(Row row);
+	
+	/**
+	 * Query for ?s ?p ?o
+	 * @return all of the Triples of the PropertyTable
+	 */
+	ExtendedIterator<Triple> getTripleIterator();
+
+	/**
+	 * @return all of the Columns of the PropertyTable
+	 */
+	Collection<Column> getColumns();
+
+	/**
+	 * Get Column by its columnKey Node of the predicate
+	 * @param p columnKey Node of the predicate
+	 * @return the Column
+	 */
+	Column getColumn(Node p);
+
+	/**
+	 * Create a Column by its columnKey Node of the predicate
+	 * @param p
+	 */
+	Column createColumn(Node p);
+
+	/**
+	 * Get Row by its rowKey Node of the subject
+	 * @param s rowKey Node of the subject
+	 * @return the Row
+	 */
+	Row getRow(Node s);
+	
+	
+	/**
+	 * Create Row by its rowKey Node of the subject
+	 * @param s rowKey Node of the subject
+	 * @return the Row created
+	 */
+	Row createRow(Node s);
+	
+	
+	/**
+	 * Get all of the rows
+	 */
+	List<Row> getAllRows() ;
+	
+	
+	/**
+	 * Get all the values within a Column
+	 * @param column
+	 * @return the values
+	 */
+	List<Node> getColumnValues(Column column);
+	
+	/**
+	 * Get the Rows matching the value of a Column
+	 * @param column the Column with the columnKey Node of the predicate
+	 * @param value the object (or value) Node
+	 * @return the matching Rows
+	 */
+	Collection<Row> getMatchingRows(Column column, Node value);
+	
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/Row.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/Row.java b/jena-csv/src/main/java/org/apache/jena/propertytable/Row.java
index 3824d8f..cb2ae9b 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/Row.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/Row.java
@@ -1,75 +1,75 @@
-/*
- * 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.propertytable;
-
-import java.util.Collection;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-
-/**
- * Each Row of the PropertyTable has an unique rowKey Node of the subject (or s for short).
- *
- */
-public interface Row {
-
-	/**
-	 * @return the PropertyTable it belongs to
-	 */
-	PropertyTable getTable();
-	
-	/**
-	 * Set the value of the Column in this Row
-	 * @param column
-	 * @param value
-	 */
-	void setValue(Column column, Node value);
-	
-	/**
-	 * Get the value of the Column in this Row
-	 * @param column
-	 * @return value
-	 */
-	Node getValue(Column column);
-	
-	
-	/**
-	 * Get the value of the Column in this Row
-	 * @param ColumnKey
-	 * @return value
-	 */
-	Node getValue(Node ColumnKey);
-	
-	/**
-	 * @return the rowKey Node of the subject
-	 */
-	Node getRowKey();
-	
-	/**
-	 * @return the Triple Iterator over the values in this Row
-	 */
-	ExtendedIterator<Triple> getTripleIterator();
-	
-	/**
-	 * @return all of the Columns of the PropertyTable
-	 */
-	Collection<Column> getColumns();
-
-}
+/*
+ * 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.propertytable;
+
+import java.util.Collection;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+
+/**
+ * Each Row of the PropertyTable has an unique rowKey Node of the subject (or s for short).
+ *
+ */
+public interface Row {
+
+	/**
+	 * @return the PropertyTable it belongs to
+	 */
+	PropertyTable getTable();
+	
+	/**
+	 * Set the value of the Column in this Row
+	 * @param column
+	 * @param value
+	 */
+	void setValue(Column column, Node value);
+	
+	/**
+	 * Get the value of the Column in this Row
+	 * @param column
+	 * @return value
+	 */
+	Node getValue(Column column);
+	
+	
+	/**
+	 * Get the value of the Column in this Row
+	 * @param ColumnKey
+	 * @return value
+	 */
+	Node getValue(Node ColumnKey);
+	
+	/**
+	 * @return the rowKey Node of the subject
+	 */
+	Node getRowKey();
+	
+	/**
+	 * @return the Triple Iterator over the values in this Row
+	 */
+	ExtendedIterator<Triple> getTripleIterator();
+	
+	/**
+	 * @return all of the Columns of the PropertyTable
+	 */
+	Collection<Column> getColumns();
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphCSV.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphCSV.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphCSV.java
index d002ec6..4f2e3fd 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphCSV.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphCSV.java
@@ -1,62 +1,62 @@
-/*
- * 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.propertytable.graph;
-
-import org.apache.jena.propertytable.PropertyTable;
-import org.apache.jena.propertytable.impl.PropertyTableBuilder;
-
-
-/**
- * GraphCSV is a sub class of GraphPropertyTable aiming at CSV data.
- * Its constructor takes a CSV file path as the parameter, parse the file using a CSV Parser,
- * and makes a PropertyTable through PropertyTableBuilder.
- *
- */
-public class GraphCSV extends GraphPropertyTable {
-	
-	public static GraphCSV createHashMapImpl( String csvFilePath ){
-		return new GraphCSVHashMapImpl(csvFilePath);
-	}
-	
-	public static GraphCSV createArrayImpl( String csvFilePath ){
-		return new GraphCSVArrayImpl(csvFilePath);
-	}
-	
-	protected GraphCSV (PropertyTable table) {
-		super(table);
-	}
-	
-	// use the Java array implementation of PropertyTable for default
-	public GraphCSV ( String csvFilePath ){
-		super(PropertyTableBuilder.buildPropetyTableArrayImplFromCsv(csvFilePath));
-	}
-}
-
-
-class GraphCSVHashMapImpl extends GraphCSV{
-	protected GraphCSVHashMapImpl(String csvFilePath){
-		super(PropertyTableBuilder.buildPropetyTableHashMapImplFromCsv(csvFilePath));
-	}
-}
-
-class GraphCSVArrayImpl extends GraphCSV{
-	protected GraphCSVArrayImpl(String csvFilePath){
-		super(PropertyTableBuilder.buildPropetyTableArrayImplFromCsv(csvFilePath));
-	}
-}
+/*
+ * 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.propertytable.graph;
+
+import org.apache.jena.propertytable.PropertyTable;
+import org.apache.jena.propertytable.impl.PropertyTableBuilder;
+
+
+/**
+ * GraphCSV is a sub class of GraphPropertyTable aiming at CSV data.
+ * Its constructor takes a CSV file path as the parameter, parse the file using a CSV Parser,
+ * and makes a PropertyTable through PropertyTableBuilder.
+ *
+ */
+public class GraphCSV extends GraphPropertyTable {
+	
+	public static GraphCSV createHashMapImpl( String csvFilePath ){
+		return new GraphCSVHashMapImpl(csvFilePath);
+	}
+	
+	public static GraphCSV createArrayImpl( String csvFilePath ){
+		return new GraphCSVArrayImpl(csvFilePath);
+	}
+	
+	protected GraphCSV (PropertyTable table) {
+		super(table);
+	}
+	
+	// use the Java array implementation of PropertyTable for default
+	public GraphCSV ( String csvFilePath ){
+		super(PropertyTableBuilder.buildPropetyTableArrayImplFromCsv(csvFilePath));
+	}
+}
+
+
+class GraphCSVHashMapImpl extends GraphCSV{
+	protected GraphCSVHashMapImpl(String csvFilePath){
+		super(PropertyTableBuilder.buildPropetyTableHashMapImplFromCsv(csvFilePath));
+	}
+}
+
+class GraphCSVArrayImpl extends GraphCSV{
+	protected GraphCSVArrayImpl(String csvFilePath){
+		super(PropertyTableBuilder.buildPropetyTableArrayImplFromCsv(csvFilePath));
+	}
+}


[13/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractNodeTupleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractNodeTupleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractNodeTupleInputFormatTests.java
index 155d10a..bfaff01 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractNodeTupleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractNodeTupleInputFormatTests.java
@@ -1,611 +1,611 @@
-/*
- * 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.hadoop.rdf.io.input;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.List;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.hadoop.mapreduce.InputSplit;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.JobContext;
-import org.apache.hadoop.mapreduce.RecordReader;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.TaskAttemptID;
-import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
-import org.apache.hadoop.mapreduce.lib.input.FileSplit;
-import org.apache.hadoop.mapreduce.lib.input.NLineInputFormat;
-import org.apache.hadoop.mapreduce.task.JobContextImpl;
-import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl;
-import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.junit.* ;
-import org.junit.rules.TemporaryFolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract node tuple input format tests
- * 
- * 
- * 
- * @param <TValue>
- * @param <T>
- */
-public abstract class AbstractNodeTupleInputFormatTests<TValue, T extends AbstractNodeTupleWritable<TValue>> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleInputFormatTests.class);
-
-    protected static final int EMPTY_SIZE = 0, SMALL_SIZE = 100, LARGE_SIZE = 10000, BAD_SIZE = 100, MIXED_SIZE = 100;
-    protected static final String EMPTY = "empty";
-    protected static final String SMALL = "small";
-    protected static final String LARGE = "large";
-    protected static final String BAD = "bad";
-    protected static final String MIXED = "mixed";
-
-    /**
-     * Temporary folder for the tests
-     */
-    @Rule
-    public TemporaryFolder folder = new TemporaryFolder();
-
-    protected File empty, small, large, bad, mixed;
-
-    /**
-     * Prepares the inputs for the tests
-     * 
-     * @throws IOException
-     */
-    @Before
-    public void beforeTest() throws IOException {
-        this.prepareInputs();
-    }
-
-    /**
-     * Cleans up the inputs after each test
-     */
-    @After
-    public void afterTest() {
-        // Should be unnecessary since JUnit will clean up the temporary folder
-        // anyway but best to do this regardless
-        if (empty != null)
-            empty.delete();
-        if (small != null)
-            small.delete();
-        if (large != null)
-            large.delete();
-        if (bad != null)
-            bad.delete();
-        if (mixed != null)
-            mixed.delete();
-    }
-
-    /**
-     * Prepares a fresh configuration
-     * 
-     * @return Configuration
-     */
-    protected Configuration prepareConfiguration() {
-        Configuration config = new Configuration(true);
-        // Nothing else to do
-        return config;
-    }
-
-    /**
-     * Prepares the inputs
-     * 
-     * @throws IOException
-     */
-    protected void prepareInputs() throws IOException {
-        String ext = this.getFileExtension();
-        empty = folder.newFile(EMPTY + ext);
-        this.generateTuples(empty, EMPTY_SIZE);
-        small = folder.newFile(SMALL + ext);
-        this.generateTuples(small, SMALL_SIZE);
-        large = folder.newFile(LARGE + ext);
-        this.generateTuples(large, LARGE_SIZE);
-        bad = folder.newFile(BAD + ext);
-        this.generateBadTuples(bad, BAD_SIZE);
-        mixed = folder.newFile(MIXED + ext);
-        this.generateMixedTuples(mixed, MIXED_SIZE);
-    }
-
-    /**
-     * Gets the extra file extension to add to the filenames
-     * 
-     * @return File extension
-     */
-    protected abstract String getFileExtension();
-
-    /**
-     * Generates tuples used for tests
-     * 
-     * @param f
-     *            File
-     * @param num
-     *            Number of tuples to generate
-     * @throws IOException
-     */
-    protected final void generateTuples(File f, int num) throws IOException {
-        this.generateTuples(this.getOutputStream(f), num);
-    }
-
-    /**
-     * Gets the output stream to use for generating tuples
-     * 
-     * @param f
-     *            File
-     * @return Output Stream
-     * @throws IOException
-     */
-    protected OutputStream getOutputStream(File f) throws IOException {
-        return new FileOutputStream(f, false);
-    }
-
-    /**
-     * Generates tuples used for tests
-     * 
-     * @param output
-     *            Output Stream to write to
-     * @param num
-     *            Number of tuples to generate
-     * @throws IOException
-     */
-    protected abstract void generateTuples(OutputStream output, int num) throws IOException;
-
-    /**
-     * Generates bad tuples used for tests
-     * 
-     * @param f
-     *            File
-     * @param num
-     *            Number of bad tuples to generate
-     * @throws IOException
-     */
-    protected final void generateBadTuples(File f, int num) throws IOException {
-        this.generateBadTuples(this.getOutputStream(f), num);
-    }
-
-    /**
-     * Generates bad tuples used for tests
-     * 
-     * @param output
-     *            Output Stream to write to
-     * @param num
-     *            Number of bad tuples to generate
-     * @throws IOException
-     */
-    protected abstract void generateBadTuples(OutputStream output, int num) throws IOException;
-
-    /**
-     * Generates a mixture of good and bad tuples used for tests
-     * 
-     * @param f
-     *            File
-     * @param num
-     *            Number of tuples to generate, they should be a 50/50 mix of
-     *            good and bad tuples
-     * @throws IOException
-     */
-    protected final void generateMixedTuples(File f, int num) throws IOException {
-        this.generateMixedTuples(this.getOutputStream(f), num);
-    }
-
-    /**
-     * Generates a mixture of good and bad tuples used for tests
-     * 
-     * @param output
-     *            Output Stream to write to
-     * @param num
-     *            Number of tuples to generate, they should be a 50/50 mix of
-     *            good and bad tuples
-     * @throws IOException
-     */
-    protected abstract void generateMixedTuples(OutputStream output, int num) throws IOException;
-
-    /**
-     * Adds an input path to the job configuration
-     * 
-     * @param f
-     *            File
-     * @param config
-     *            Configuration
-     * @param job
-     *            Job
-     * @throws IOException
-     */
-    protected void addInputPath(File f, Configuration config, Job job) throws IOException {
-        FileSystem fs = FileSystem.getLocal(config);
-        Path inputPath = fs.makeQualified(new Path(f.getAbsolutePath()));
-        FileInputFormat.addInputPath(job, inputPath);
-    }
-
-    protected final int countTuples(RecordReader<LongWritable, T> reader) throws IOException, InterruptedException {
-        int count = 0;
-
-        // Check initial progress
-        LOG.info(String.format("Initial Reported Progress %f", reader.getProgress()));
-        float progress = reader.getProgress();
-        if (Float.compare(0.0f, progress) == 0) {
-            Assert.assertEquals(0.0d, reader.getProgress(), 0.0d);
-        } else if (Float.compare(1.0f, progress) == 0) {
-            // If reader is reported 1.0 straight away then we expect there to
-            // be no key values
-            Assert.assertEquals(1.0d, reader.getProgress(), 0.0d);
-            Assert.assertFalse(reader.nextKeyValue());
-        } else {
-            Assert.fail(String.format(
-                    "Expected progress of 0.0 or 1.0 before reader has been accessed for first time but got %f",
-                    progress));
-        }
-
-        // Count tuples
-        boolean debug = LOG.isDebugEnabled();
-        while (reader.nextKeyValue()) {
-            count++;
-            progress = reader.getProgress();
-            if (debug)
-                LOG.debug(String.format("Current Reported Progress %f", progress));
-            Assert.assertTrue(String.format("Progress should be in the range 0.0 < p <= 1.0 but got %f", progress),
-                    progress > 0.0f && progress <= 1.0f);
-        }
-        reader.close();
-        LOG.info(String.format("Got %d tuples from this record reader", count));
-
-        // Check final progress
-        LOG.info(String.format("Final Reported Progress %f", reader.getProgress()));
-        Assert.assertEquals(1.0d, reader.getProgress(), 0.0d);
-
-        return count;
-    }
-
-    protected final void checkTuples(RecordReader<LongWritable, T> reader, int expected) throws IOException,
-            InterruptedException {
-        Assert.assertEquals(expected, this.countTuples(reader));
-    }
-
-    /**
-     * Runs a test with a single input
-     * 
-     * @param input
-     *            Input
-     * @param expectedTuples
-     *            Expected tuples
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    protected final void testSingleInput(File input, int expectedSplits, int expectedTuples) throws IOException,
-            InterruptedException {
-        // Prepare configuration
-        Configuration config = this.prepareConfiguration();
-        this.testSingleInput(config, input, expectedSplits, expectedTuples);
-    }
-
-    /**
-     * Runs a test with a single input
-     * 
-     * @param config
-     *            Configuration
-     * @param input
-     *            Input
-     * @param expectedTuples
-     *            Expected tuples
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    protected final void testSingleInput(Configuration config, File input, int expectedSplits, int expectedTuples)
-            throws IOException, InterruptedException {
-        // Set up fake job
-        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
-        Job job = Job.getInstance(config);
-        job.setInputFormatClass(inputFormat.getClass());
-        this.addInputPath(input, job.getConfiguration(), job);
-        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
-        Assert.assertEquals(1, FileInputFormat.getInputPaths(context).length);
-        NLineInputFormat.setNumLinesPerSplit(job, LARGE_SIZE);
-
-        // Check splits
-        List<InputSplit> splits = inputFormat.getSplits(context);
-        Assert.assertEquals(expectedSplits, splits.size());
-
-        // Check tuples
-        for (InputSplit split : splits) {
-            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
-            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
-            reader.initialize(split, taskContext);
-            this.checkTuples(reader, expectedTuples);
-        }
-    }
-
-    protected abstract InputFormat<LongWritable, T> getInputFormat();
-
-    /**
-     * Basic tuples input test
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void single_input_01() throws IOException, InterruptedException {
-        testSingleInput(empty, this.canSplitInputs() ? 0 : 1, EMPTY_SIZE);
-    }
-
-    /**
-     * Basic tuples input test
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void single_input_02() throws IOException, InterruptedException {
-        testSingleInput(small, 1, SMALL_SIZE);
-    }
-
-    /**
-     * Basic tuples input test
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void single_input_03() throws IOException, InterruptedException {
-        testSingleInput(large, 1, LARGE_SIZE);
-    }
-
-    /**
-     * Basic tuples input test
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void single_input_04() throws IOException, InterruptedException {
-        testSingleInput(bad, 1, 0);
-    }
-
-    /**
-     * Basic tuples input test
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void single_input_05() throws IOException, InterruptedException {
-        // JSON-LD overrides this because in JSON-LD parsing a bad document gives no triples. 
-        int x = single_input_05_expected() ;
-        testSingleInput(mixed, 1, x);
-    }
-
-    /** Results exected for test single_input_05 */ 
-    protected int single_input_05_expected() {
-        return MIXED_SIZE / 2 ;
-    }
-
-    /**
-     * Tests behaviour when ignoring bad tuples is disabled
-     * 
-     * @throws InterruptedException
-     * @throws IOException
-     */
-    @Test(expected = IOException.class)
-    public final void fail_on_bad_input_01() throws IOException, InterruptedException {
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        Assert.assertFalse(config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true));
-        testSingleInput(config, bad, 1, 0);
-    }
-
-    /**
-     * Tests behaviour when ignoring bad tuples is disabled
-     * 
-     * @throws InterruptedException
-     * @throws IOException
-     */
-    @Test(expected = IOException.class)
-    public final void fail_on_bad_input_02() throws IOException, InterruptedException {
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        Assert.assertFalse(config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true));
-        testSingleInput(config, mixed, 1, MIXED_SIZE / 2);
-    }
-
-    /**
-     * Runs a multiple input test
-     * 
-     * @param inputs
-     *            Inputs
-     * @param expectedSplits
-     *            Number of splits expected
-     * @param expectedTuples
-     *            Number of tuples expected
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    protected final void testMultipleInputs(File[] inputs, int expectedSplits, int expectedTuples) throws IOException,
-            InterruptedException {
-        // Prepare configuration and inputs
-        Configuration config = this.prepareConfiguration();
-
-        // Set up fake job
-        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
-        Job job = Job.getInstance(config);
-        job.setInputFormatClass(inputFormat.getClass());
-        for (File input : inputs) {
-            this.addInputPath(input, job.getConfiguration(), job);
-        }
-        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
-        Assert.assertEquals(inputs.length, FileInputFormat.getInputPaths(context).length);
-        NLineInputFormat.setNumLinesPerSplit(job, expectedTuples);
-
-        // Check splits
-        List<InputSplit> splits = inputFormat.getSplits(context);
-        Assert.assertEquals(expectedSplits, splits.size());
-
-        // Check tuples
-        int count = 0;
-        for (InputSplit split : splits) {
-            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
-            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
-            reader.initialize(split, taskContext);
-            count += this.countTuples(reader);
-        }
-        Assert.assertEquals(expectedTuples, count);
-    }
-
-    /**
-     * tuples test with multiple inputs
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void multiple_inputs_01() throws IOException, InterruptedException {
-        testMultipleInputs(new File[] { empty, small, large }, this.canSplitInputs() ? 2 : 3, EMPTY_SIZE + SMALL_SIZE
-                + LARGE_SIZE);
-    }
-
-    /**
-     * tuples test with multiple inputs
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void multiple_inputs_02() throws IOException, InterruptedException {
-        int expectedTriples = multiple_inputs_02_expected() ; 
-        testMultipleInputs(new File[] { folder.getRoot() }, this.canSplitInputs() ? 4 : 5, expectedTriples);
-    }
-
-    /** Results exected for test multiple_inputs_02.
-     * JSON_LD has different characteristics on bad documents.
-     * See {@link #single_input_05}.
-     */ 
-    protected int multiple_inputs_02_expected() {
-        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE + (MIXED_SIZE / 2) ;
-    }
-
-    protected final void testSplitInputs(Configuration config, File[] inputs, int expectedSplits, int expectedTuples)
-            throws IOException, InterruptedException {
-        // Set up fake job
-        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
-        Job job = Job.getInstance(config);
-        job.setInputFormatClass(inputFormat.getClass());
-        for (File input : inputs) {
-            this.addInputPath(input, job.getConfiguration(), job);
-        }
-        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
-        Assert.assertEquals(inputs.length, FileInputFormat.getInputPaths(context).length);
-
-        // Check splits
-        List<InputSplit> splits = inputFormat.getSplits(context);
-        Assert.assertEquals(expectedSplits, splits.size());
-
-        // Check tuples
-        int count = 0;
-        for (InputSplit split : splits) {
-            // Validate split
-            Assert.assertTrue(this.isValidSplit(split, config));
-
-            // Read split
-            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
-            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
-            reader.initialize(split, taskContext);
-            count += this.countTuples(reader);
-        }
-        Assert.assertEquals(expectedTuples, count);
-    }
-
-    /**
-     * Determines whether an input split is valid
-     * 
-     * @param split
-     *            Input split
-     * @return True if a valid split, false otherwise
-     */
-    protected boolean isValidSplit(InputSplit split, Configuration config) {
-        return split instanceof FileSplit;
-    }
-
-    /**
-     * Indicates whether inputs can be split, defaults to true
-     * 
-     * @return Whether inputs can be split
-     */
-    protected boolean canSplitInputs() {
-        return true;
-    }
-
-    /**
-     * Tests for input splitting
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void split_input_01() throws IOException, InterruptedException {
-        Assume.assumeTrue(this.canSplitInputs());
-
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
-        this.testSplitInputs(config, new File[] { small }, 100, SMALL_SIZE);
-    }
-
-    /**
-     * Tests for input splitting
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void split_input_02() throws IOException, InterruptedException {
-        Assume.assumeTrue(this.canSplitInputs());
-
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        config.setLong(NLineInputFormat.LINES_PER_MAP, 10);
-        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
-        this.testSplitInputs(config, new File[] { small }, 10, SMALL_SIZE);
-    }
-
-    /**
-     * Tests for input splitting
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public final void split_input_03() throws IOException, InterruptedException {
-        Assume.assumeTrue(this.canSplitInputs());
-
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        config.setLong(NLineInputFormat.LINES_PER_MAP, 100);
-        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
-        this.testSplitInputs(config, new File[] { large }, 100, LARGE_SIZE);
-    }
+/*
+ * 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.hadoop.rdf.io.input;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.hadoop.mapreduce.InputSplit;
+import org.apache.hadoop.mapreduce.Job;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.RecordReader;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.TaskAttemptID;
+import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
+import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.hadoop.mapreduce.lib.input.NLineInputFormat;
+import org.apache.hadoop.mapreduce.task.JobContextImpl;
+import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl;
+import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.junit.* ;
+import org.junit.rules.TemporaryFolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract node tuple input format tests
+ * 
+ * 
+ * 
+ * @param <TValue>
+ * @param <T>
+ */
+public abstract class AbstractNodeTupleInputFormatTests<TValue, T extends AbstractNodeTupleWritable<TValue>> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleInputFormatTests.class);
+
+    protected static final int EMPTY_SIZE = 0, SMALL_SIZE = 100, LARGE_SIZE = 10000, BAD_SIZE = 100, MIXED_SIZE = 100;
+    protected static final String EMPTY = "empty";
+    protected static final String SMALL = "small";
+    protected static final String LARGE = "large";
+    protected static final String BAD = "bad";
+    protected static final String MIXED = "mixed";
+
+    /**
+     * Temporary folder for the tests
+     */
+    @Rule
+    public TemporaryFolder folder = new TemporaryFolder();
+
+    protected File empty, small, large, bad, mixed;
+
+    /**
+     * Prepares the inputs for the tests
+     * 
+     * @throws IOException
+     */
+    @Before
+    public void beforeTest() throws IOException {
+        this.prepareInputs();
+    }
+
+    /**
+     * Cleans up the inputs after each test
+     */
+    @After
+    public void afterTest() {
+        // Should be unnecessary since JUnit will clean up the temporary folder
+        // anyway but best to do this regardless
+        if (empty != null)
+            empty.delete();
+        if (small != null)
+            small.delete();
+        if (large != null)
+            large.delete();
+        if (bad != null)
+            bad.delete();
+        if (mixed != null)
+            mixed.delete();
+    }
+
+    /**
+     * Prepares a fresh configuration
+     * 
+     * @return Configuration
+     */
+    protected Configuration prepareConfiguration() {
+        Configuration config = new Configuration(true);
+        // Nothing else to do
+        return config;
+    }
+
+    /**
+     * Prepares the inputs
+     * 
+     * @throws IOException
+     */
+    protected void prepareInputs() throws IOException {
+        String ext = this.getFileExtension();
+        empty = folder.newFile(EMPTY + ext);
+        this.generateTuples(empty, EMPTY_SIZE);
+        small = folder.newFile(SMALL + ext);
+        this.generateTuples(small, SMALL_SIZE);
+        large = folder.newFile(LARGE + ext);
+        this.generateTuples(large, LARGE_SIZE);
+        bad = folder.newFile(BAD + ext);
+        this.generateBadTuples(bad, BAD_SIZE);
+        mixed = folder.newFile(MIXED + ext);
+        this.generateMixedTuples(mixed, MIXED_SIZE);
+    }
+
+    /**
+     * Gets the extra file extension to add to the filenames
+     * 
+     * @return File extension
+     */
+    protected abstract String getFileExtension();
+
+    /**
+     * Generates tuples used for tests
+     * 
+     * @param f
+     *            File
+     * @param num
+     *            Number of tuples to generate
+     * @throws IOException
+     */
+    protected final void generateTuples(File f, int num) throws IOException {
+        this.generateTuples(this.getOutputStream(f), num);
+    }
+
+    /**
+     * Gets the output stream to use for generating tuples
+     * 
+     * @param f
+     *            File
+     * @return Output Stream
+     * @throws IOException
+     */
+    protected OutputStream getOutputStream(File f) throws IOException {
+        return new FileOutputStream(f, false);
+    }
+
+    /**
+     * Generates tuples used for tests
+     * 
+     * @param output
+     *            Output Stream to write to
+     * @param num
+     *            Number of tuples to generate
+     * @throws IOException
+     */
+    protected abstract void generateTuples(OutputStream output, int num) throws IOException;
+
+    /**
+     * Generates bad tuples used for tests
+     * 
+     * @param f
+     *            File
+     * @param num
+     *            Number of bad tuples to generate
+     * @throws IOException
+     */
+    protected final void generateBadTuples(File f, int num) throws IOException {
+        this.generateBadTuples(this.getOutputStream(f), num);
+    }
+
+    /**
+     * Generates bad tuples used for tests
+     * 
+     * @param output
+     *            Output Stream to write to
+     * @param num
+     *            Number of bad tuples to generate
+     * @throws IOException
+     */
+    protected abstract void generateBadTuples(OutputStream output, int num) throws IOException;
+
+    /**
+     * Generates a mixture of good and bad tuples used for tests
+     * 
+     * @param f
+     *            File
+     * @param num
+     *            Number of tuples to generate, they should be a 50/50 mix of
+     *            good and bad tuples
+     * @throws IOException
+     */
+    protected final void generateMixedTuples(File f, int num) throws IOException {
+        this.generateMixedTuples(this.getOutputStream(f), num);
+    }
+
+    /**
+     * Generates a mixture of good and bad tuples used for tests
+     * 
+     * @param output
+     *            Output Stream to write to
+     * @param num
+     *            Number of tuples to generate, they should be a 50/50 mix of
+     *            good and bad tuples
+     * @throws IOException
+     */
+    protected abstract void generateMixedTuples(OutputStream output, int num) throws IOException;
+
+    /**
+     * Adds an input path to the job configuration
+     * 
+     * @param f
+     *            File
+     * @param config
+     *            Configuration
+     * @param job
+     *            Job
+     * @throws IOException
+     */
+    protected void addInputPath(File f, Configuration config, Job job) throws IOException {
+        FileSystem fs = FileSystem.getLocal(config);
+        Path inputPath = fs.makeQualified(new Path(f.getAbsolutePath()));
+        FileInputFormat.addInputPath(job, inputPath);
+    }
+
+    protected final int countTuples(RecordReader<LongWritable, T> reader) throws IOException, InterruptedException {
+        int count = 0;
+
+        // Check initial progress
+        LOG.info(String.format("Initial Reported Progress %f", reader.getProgress()));
+        float progress = reader.getProgress();
+        if (Float.compare(0.0f, progress) == 0) {
+            Assert.assertEquals(0.0d, reader.getProgress(), 0.0d);
+        } else if (Float.compare(1.0f, progress) == 0) {
+            // If reader is reported 1.0 straight away then we expect there to
+            // be no key values
+            Assert.assertEquals(1.0d, reader.getProgress(), 0.0d);
+            Assert.assertFalse(reader.nextKeyValue());
+        } else {
+            Assert.fail(String.format(
+                    "Expected progress of 0.0 or 1.0 before reader has been accessed for first time but got %f",
+                    progress));
+        }
+
+        // Count tuples
+        boolean debug = LOG.isDebugEnabled();
+        while (reader.nextKeyValue()) {
+            count++;
+            progress = reader.getProgress();
+            if (debug)
+                LOG.debug(String.format("Current Reported Progress %f", progress));
+            Assert.assertTrue(String.format("Progress should be in the range 0.0 < p <= 1.0 but got %f", progress),
+                    progress > 0.0f && progress <= 1.0f);
+        }
+        reader.close();
+        LOG.info(String.format("Got %d tuples from this record reader", count));
+
+        // Check final progress
+        LOG.info(String.format("Final Reported Progress %f", reader.getProgress()));
+        Assert.assertEquals(1.0d, reader.getProgress(), 0.0d);
+
+        return count;
+    }
+
+    protected final void checkTuples(RecordReader<LongWritable, T> reader, int expected) throws IOException,
+            InterruptedException {
+        Assert.assertEquals(expected, this.countTuples(reader));
+    }
+
+    /**
+     * Runs a test with a single input
+     * 
+     * @param input
+     *            Input
+     * @param expectedTuples
+     *            Expected tuples
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    protected final void testSingleInput(File input, int expectedSplits, int expectedTuples) throws IOException,
+            InterruptedException {
+        // Prepare configuration
+        Configuration config = this.prepareConfiguration();
+        this.testSingleInput(config, input, expectedSplits, expectedTuples);
+    }
+
+    /**
+     * Runs a test with a single input
+     * 
+     * @param config
+     *            Configuration
+     * @param input
+     *            Input
+     * @param expectedTuples
+     *            Expected tuples
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    protected final void testSingleInput(Configuration config, File input, int expectedSplits, int expectedTuples)
+            throws IOException, InterruptedException {
+        // Set up fake job
+        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
+        Job job = Job.getInstance(config);
+        job.setInputFormatClass(inputFormat.getClass());
+        this.addInputPath(input, job.getConfiguration(), job);
+        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
+        Assert.assertEquals(1, FileInputFormat.getInputPaths(context).length);
+        NLineInputFormat.setNumLinesPerSplit(job, LARGE_SIZE);
+
+        // Check splits
+        List<InputSplit> splits = inputFormat.getSplits(context);
+        Assert.assertEquals(expectedSplits, splits.size());
+
+        // Check tuples
+        for (InputSplit split : splits) {
+            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
+            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
+            reader.initialize(split, taskContext);
+            this.checkTuples(reader, expectedTuples);
+        }
+    }
+
+    protected abstract InputFormat<LongWritable, T> getInputFormat();
+
+    /**
+     * Basic tuples input test
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void single_input_01() throws IOException, InterruptedException {
+        testSingleInput(empty, this.canSplitInputs() ? 0 : 1, EMPTY_SIZE);
+    }
+
+    /**
+     * Basic tuples input test
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void single_input_02() throws IOException, InterruptedException {
+        testSingleInput(small, 1, SMALL_SIZE);
+    }
+
+    /**
+     * Basic tuples input test
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void single_input_03() throws IOException, InterruptedException {
+        testSingleInput(large, 1, LARGE_SIZE);
+    }
+
+    /**
+     * Basic tuples input test
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void single_input_04() throws IOException, InterruptedException {
+        testSingleInput(bad, 1, 0);
+    }
+
+    /**
+     * Basic tuples input test
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void single_input_05() throws IOException, InterruptedException {
+        // JSON-LD overrides this because in JSON-LD parsing a bad document gives no triples. 
+        int x = single_input_05_expected() ;
+        testSingleInput(mixed, 1, x);
+    }
+
+    /** Results exected for test single_input_05 */ 
+    protected int single_input_05_expected() {
+        return MIXED_SIZE / 2 ;
+    }
+
+    /**
+     * Tests behaviour when ignoring bad tuples is disabled
+     * 
+     * @throws InterruptedException
+     * @throws IOException
+     */
+    @Test(expected = IOException.class)
+    public final void fail_on_bad_input_01() throws IOException, InterruptedException {
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        Assert.assertFalse(config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true));
+        testSingleInput(config, bad, 1, 0);
+    }
+
+    /**
+     * Tests behaviour when ignoring bad tuples is disabled
+     * 
+     * @throws InterruptedException
+     * @throws IOException
+     */
+    @Test(expected = IOException.class)
+    public final void fail_on_bad_input_02() throws IOException, InterruptedException {
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        Assert.assertFalse(config.getBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, true));
+        testSingleInput(config, mixed, 1, MIXED_SIZE / 2);
+    }
+
+    /**
+     * Runs a multiple input test
+     * 
+     * @param inputs
+     *            Inputs
+     * @param expectedSplits
+     *            Number of splits expected
+     * @param expectedTuples
+     *            Number of tuples expected
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    protected final void testMultipleInputs(File[] inputs, int expectedSplits, int expectedTuples) throws IOException,
+            InterruptedException {
+        // Prepare configuration and inputs
+        Configuration config = this.prepareConfiguration();
+
+        // Set up fake job
+        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
+        Job job = Job.getInstance(config);
+        job.setInputFormatClass(inputFormat.getClass());
+        for (File input : inputs) {
+            this.addInputPath(input, job.getConfiguration(), job);
+        }
+        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
+        Assert.assertEquals(inputs.length, FileInputFormat.getInputPaths(context).length);
+        NLineInputFormat.setNumLinesPerSplit(job, expectedTuples);
+
+        // Check splits
+        List<InputSplit> splits = inputFormat.getSplits(context);
+        Assert.assertEquals(expectedSplits, splits.size());
+
+        // Check tuples
+        int count = 0;
+        for (InputSplit split : splits) {
+            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
+            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
+            reader.initialize(split, taskContext);
+            count += this.countTuples(reader);
+        }
+        Assert.assertEquals(expectedTuples, count);
+    }
+
+    /**
+     * tuples test with multiple inputs
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void multiple_inputs_01() throws IOException, InterruptedException {
+        testMultipleInputs(new File[] { empty, small, large }, this.canSplitInputs() ? 2 : 3, EMPTY_SIZE + SMALL_SIZE
+                + LARGE_SIZE);
+    }
+
+    /**
+     * tuples test with multiple inputs
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void multiple_inputs_02() throws IOException, InterruptedException {
+        int expectedTriples = multiple_inputs_02_expected() ; 
+        testMultipleInputs(new File[] { folder.getRoot() }, this.canSplitInputs() ? 4 : 5, expectedTriples);
+    }
+
+    /** Results exected for test multiple_inputs_02.
+     * JSON_LD has different characteristics on bad documents.
+     * See {@link #single_input_05}.
+     */ 
+    protected int multiple_inputs_02_expected() {
+        return EMPTY_SIZE + SMALL_SIZE + LARGE_SIZE + (MIXED_SIZE / 2) ;
+    }
+
+    protected final void testSplitInputs(Configuration config, File[] inputs, int expectedSplits, int expectedTuples)
+            throws IOException, InterruptedException {
+        // Set up fake job
+        InputFormat<LongWritable, T> inputFormat = this.getInputFormat();
+        Job job = Job.getInstance(config);
+        job.setInputFormatClass(inputFormat.getClass());
+        for (File input : inputs) {
+            this.addInputPath(input, job.getConfiguration(), job);
+        }
+        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
+        Assert.assertEquals(inputs.length, FileInputFormat.getInputPaths(context).length);
+
+        // Check splits
+        List<InputSplit> splits = inputFormat.getSplits(context);
+        Assert.assertEquals(expectedSplits, splits.size());
+
+        // Check tuples
+        int count = 0;
+        for (InputSplit split : splits) {
+            // Validate split
+            Assert.assertTrue(this.isValidSplit(split, config));
+
+            // Read split
+            TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), new TaskAttemptID());
+            RecordReader<LongWritable, T> reader = inputFormat.createRecordReader(split, taskContext);
+            reader.initialize(split, taskContext);
+            count += this.countTuples(reader);
+        }
+        Assert.assertEquals(expectedTuples, count);
+    }
+
+    /**
+     * Determines whether an input split is valid
+     * 
+     * @param split
+     *            Input split
+     * @return True if a valid split, false otherwise
+     */
+    protected boolean isValidSplit(InputSplit split, Configuration config) {
+        return split instanceof FileSplit;
+    }
+
+    /**
+     * Indicates whether inputs can be split, defaults to true
+     * 
+     * @return Whether inputs can be split
+     */
+    protected boolean canSplitInputs() {
+        return true;
+    }
+
+    /**
+     * Tests for input splitting
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void split_input_01() throws IOException, InterruptedException {
+        Assume.assumeTrue(this.canSplitInputs());
+
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
+        this.testSplitInputs(config, new File[] { small }, 100, SMALL_SIZE);
+    }
+
+    /**
+     * Tests for input splitting
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void split_input_02() throws IOException, InterruptedException {
+        Assume.assumeTrue(this.canSplitInputs());
+
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        config.setLong(NLineInputFormat.LINES_PER_MAP, 10);
+        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
+        this.testSplitInputs(config, new File[] { small }, 10, SMALL_SIZE);
+    }
+
+    /**
+     * Tests for input splitting
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public final void split_input_03() throws IOException, InterruptedException {
+        Assume.assumeTrue(this.canSplitInputs());
+
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        config.setLong(NLineInputFormat.LINES_PER_MAP, 100);
+        Assert.assertEquals(Integer.MAX_VALUE, config.getInt(HadoopIOConstants.MAX_LINE_LENGTH, Integer.MAX_VALUE));
+        this.testSplitInputs(config, new File[] { large }, 100, LARGE_SIZE);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractQuadsInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractQuadsInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractQuadsInputFormatTests.java
index ec2a40d..febed20 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractQuadsInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractQuadsInputFormatTests.java
@@ -1,37 +1,37 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import java.nio.charset.Charset;
+
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for Quad input formats
  * 
  *
  */
-public abstract class AbstractQuadsInputFormatTests extends AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
-    
+public abstract class AbstractQuadsInputFormatTests extends AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractTriplesInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractTriplesInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractTriplesInputFormatTests.java
index 1f1f652..edd99c7 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractTriplesInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractTriplesInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for Triple input formats
@@ -31,8 +31,8 @@ import org.apache.jena.hadoop.rdf.types.TripleWritable;
  * 
  * 
  */
-public abstract class AbstractTriplesInputFormatTests extends AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
-    
+public abstract class AbstractTriplesInputFormatTests extends AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override
@@ -45,7 +45,7 @@ public abstract class AbstractTriplesInputFormatTests extends AbstractNodeTupleI
     }
 
     @Override
-    protected void generateBadTuples(OutputStream output, int num) throws IOException {
+    protected void generateBadTuples(OutputStream output, int num) throws IOException {
         byte[] junk = "<http://broken\n".getBytes(utf8);
         for (int i = 0; i < num; i++) {
             output.write(junk);

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileQuadInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileQuadInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileQuadInputFormatTests.java
index 50a468b..8181148 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileQuadInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileQuadInputFormatTests.java
@@ -1,38 +1,38 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.DatasetFactory ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.DatasetFactory ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.riot.RDFWriterRegistry;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for Quad input formats
@@ -40,8 +40,8 @@ import org.apache.jena.sparql.core.Quad ;
  * 
  * 
  */
-public abstract class AbstractWholeFileQuadInputFormatTests extends AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
-    
+public abstract class AbstractWholeFileQuadInputFormatTests extends AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override
@@ -92,7 +92,7 @@ public abstract class AbstractWholeFileQuadInputFormatTests extends AbstractNode
         // Write good data
         this.writeGoodTuples(output, num / 2);
 
-        // Write junk data
+        // Write junk data
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num / 2; i++) {
             output.write(junk);
@@ -103,7 +103,7 @@ public abstract class AbstractWholeFileQuadInputFormatTests extends AbstractNode
     }
 
     @Override
-    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
+    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num; i++) {
             output.write(junk);

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileTripleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileTripleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileTripleInputFormatTests.java
index da3789a..0a9d0f9 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileTripleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/AbstractWholeFileTripleInputFormatTests.java
@@ -1,33 +1,33 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input;
 
 import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
 
@@ -37,8 +37,8 @@ import org.apache.jena.riot.RDFDataMgr;
  * 
  * 
  */
-public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
-    
+public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override
@@ -48,7 +48,7 @@ public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNo
     
     private void writeTuples(Model m, OutputStream output) {
         RDFDataMgr.write(output, m, this.getRdfLanguage());
-    }
+    }
         
     /**
      * Gets the RDF language to write out generate tuples in
@@ -69,7 +69,7 @@ public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNo
         }
         this.writeTuples(m, output);
         output.close();
-    }
+    }
     
     @Override
     protected final void generateMixedTuples(OutputStream output, int num) throws IOException {
@@ -85,7 +85,7 @@ public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNo
         }
         this.writeTuples(m, output);
         
-        // Write junk data
+        // Write junk data
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num / 2; i++) {
             output.write(junk);
@@ -96,7 +96,7 @@ public abstract class AbstractWholeFileTripleInputFormatTests extends AbstractNo
     }
 
     @Override
-    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
+    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num; i++) {
             output.write(junk);

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedNodeTupleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedNodeTupleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedNodeTupleInputFormatTests.java
index 1f18a95..b34aa74 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedNodeTupleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedNodeTupleInputFormatTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed;
 
 import java.io.File;
@@ -25,10 +25,10 @@ import java.io.OutputStream;
 import org.apache.hadoop.conf.Configurable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-
+import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+
 
 /**
  * 
@@ -37,8 +37,8 @@ import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
  * @param <T>
  */
 public abstract class AbstractCompressedNodeTupleInputFormatTests<TValue, T extends AbstractNodeTupleWritable<TValue>> extends
-        AbstractNodeTupleInputFormatTests<TValue, T> {
-    
+        AbstractNodeTupleInputFormatTests<TValue, T> {
+    
     @Override
     protected Configuration prepareConfiguration() {
         Configuration config = super.prepareConfiguration();

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedQuadsInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedQuadsInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedQuadsInputFormatTests.java
index 40f3733..06bdbf4 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedQuadsInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedQuadsInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import java.nio.charset.Charset;
+
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for Quad input formats
@@ -32,8 +32,8 @@ import org.apache.jena.sparql.core.Quad ;
  * 
  */
 public abstract class AbstractCompressedQuadsInputFormatTests extends
-        AbstractCompressedNodeTupleInputFormatTests<Quad, QuadWritable> {
-    
+        AbstractCompressedNodeTupleInputFormatTests<Quad, QuadWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedTriplesInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedTriplesInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedTriplesInputFormatTests.java
index f5e3d5a..675ccab 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedTriplesInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedTriplesInputFormatTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import java.nio.charset.Charset;
+
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for Triple input formats
@@ -32,8 +32,8 @@ import org.apache.jena.hadoop.rdf.types.TripleWritable;
  * 
  */
 public abstract class AbstractCompressedTriplesInputFormatTests extends
-        AbstractCompressedNodeTupleInputFormatTests<Triple, TripleWritable> {
-    
+        AbstractCompressedNodeTupleInputFormatTests<Triple, TripleWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileQuadInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileQuadInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileQuadInputFormatTests.java
index 029203b..ecd4616 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileQuadInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileQuadInputFormatTests.java
@@ -1,45 +1,45 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.compressed;
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.nio.charset.Charset;
-
+import java.nio.charset.Charset;
+
 import org.apache.hadoop.conf.Configurable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.DatasetFactory ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.DatasetFactory ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.RDFWriterRegistry;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.riot.RDFWriterRegistry;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for compressed whole file quad formats
@@ -47,8 +47,8 @@ import org.apache.jena.sparql.core.Quad ;
  * 
  */
 public abstract class AbstractCompressedWholeFileQuadInputFormatTests extends
-        AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
-    
+        AbstractNodeTupleInputFormatTests<Quad, QuadWritable> {
+    
     private static final Charset utf8 = Charset.forName("utf-8");
 
     @Override
@@ -127,7 +127,7 @@ public abstract class AbstractCompressedWholeFileQuadInputFormatTests extends
         // Write good data
         this.writeGoodTuples(output, num / 2);
 
-        // Write junk data
+        // Write junk data
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num / 2; i++) {
             output.write(junk);
@@ -138,7 +138,7 @@ public abstract class AbstractCompressedWholeFileQuadInputFormatTests extends
     }
 
     @Override
-    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
+    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
         byte[] junk = "junk data\n".getBytes(utf8);
         for (int i = 0; i < num; i++) {
             output.write(junk);

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileTripleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileTripleInputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileTripleInputFormatTests.java
index f6454ea..a55729c 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileTripleInputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/AbstractCompressedWholeFileTripleInputFormatTests.java
@@ -1,143 +1,143 @@
-/*
- * 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.hadoop.rdf.io.input.compressed;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import org.apache.hadoop.conf.Configurable;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.compress.CompressionCodec;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.Property ;
-import org.apache.jena.rdf.model.Resource ;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-
-/**
- * Abstract tests for compressed whole file triple formats
- * 
- * 
- */
-public abstract class AbstractCompressedWholeFileTripleInputFormatTests extends
-        AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
-
-    private static final Charset utf8 = Charset.forName("utf-8");
-
-    @Override
-    protected Configuration prepareConfiguration() {
-        Configuration config = super.prepareConfiguration();
-        config.set(HadoopIOConstants.IO_COMPRESSION_CODECS, this.getCompressionCodec().getClass().getCanonicalName());
-        return config;
-    }
-
-    @Override
-    protected OutputStream getOutputStream(File f) throws IOException {
-        CompressionCodec codec = this.getCompressionCodec();
-        if (codec instanceof Configurable) {
-            ((Configurable) codec).setConf(this.prepareConfiguration());
-        }
-        FileOutputStream fileOutput = new FileOutputStream(f, false);
-        return codec.createOutputStream(fileOutput);
-    }
-
-    /**
-     * Gets the compression codec to use
-     * 
-     * @return Compression codec
-     */
-    protected abstract CompressionCodec getCompressionCodec();
-
-    /**
-     * Indicates whether inputs can be split, defaults to false for compressed
-     * input tests
-     */
-    @Override
-    protected boolean canSplitInputs() {
-        return false;
-    }
-
-    private void writeTuples(Model m, OutputStream output) {
-        RDFDataMgr.write(output, m, this.getRdfLanguage());
-    }
-
-    /**
-     * Gets the RDF language to write out generated tuples in
-     * 
-     * @return RDF language
-     */
-    protected abstract Lang getRdfLanguage();
-
-    @Override
-    protected final void generateTuples(OutputStream output, int num) throws IOException {
-        Model m = ModelFactory.createDefaultModel();
-        Resource currSubj = m.createResource("http://example.org/subjects/0");
-        Property predicate = m.createProperty("http://example.org/predicate");
-        for (int i = 0; i < num; i++) {
-            if (i % 10 == 0) {
-                currSubj = m.createResource("http://example.org/subjects/" + (i / 10));
-            }
-            m.add(currSubj, predicate, m.createTypedLiteral(i));
-        }
-        this.writeTuples(m, output);
-        output.close();
-    }
-
-    @Override
-    protected final void generateMixedTuples(OutputStream output, int num) throws IOException {
-        // Write good data
-        Model m = ModelFactory.createDefaultModel();
-        Resource currSubj = m.createResource("http://example.org/subjects/0");
-        Property predicate = m.createProperty("http://example.org/predicate");
-        for (int i = 0; i < num / 2; i++) {
-            if (i % 10 == 0) {
-                currSubj = m.createResource("http://example.org/subjects/" + (i / 10));
-            }
-            m.add(currSubj, predicate, m.createTypedLiteral(i));
-        }
-        this.writeTuples(m, output);
-
-        // Write junk data
-        byte[] junk = "junk data\n".getBytes(utf8);
-        for (int i = 0; i < num / 2; i++) {
-            output.write(junk);
-        }
-
-        output.flush();
-        output.close();
-    }
-
-    @Override
-    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
-        byte[] junk = "junk data\n".getBytes(utf8);
-        for (int i = 0; i < num; i++) {
-            output.write(junk);
-        }
-        output.flush();
-        output.close();
-    }
-}
+/*
+ * 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.hadoop.rdf.io.input.compressed;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+
+import org.apache.hadoop.conf.Configurable;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.HadoopIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.AbstractNodeTupleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.Property ;
+import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+
+/**
+ * Abstract tests for compressed whole file triple formats
+ * 
+ * 
+ */
+public abstract class AbstractCompressedWholeFileTripleInputFormatTests extends
+        AbstractNodeTupleInputFormatTests<Triple, TripleWritable> {
+
+    private static final Charset utf8 = Charset.forName("utf-8");
+
+    @Override
+    protected Configuration prepareConfiguration() {
+        Configuration config = super.prepareConfiguration();
+        config.set(HadoopIOConstants.IO_COMPRESSION_CODECS, this.getCompressionCodec().getClass().getCanonicalName());
+        return config;
+    }
+
+    @Override
+    protected OutputStream getOutputStream(File f) throws IOException {
+        CompressionCodec codec = this.getCompressionCodec();
+        if (codec instanceof Configurable) {
+            ((Configurable) codec).setConf(this.prepareConfiguration());
+        }
+        FileOutputStream fileOutput = new FileOutputStream(f, false);
+        return codec.createOutputStream(fileOutput);
+    }
+
+    /**
+     * Gets the compression codec to use
+     * 
+     * @return Compression codec
+     */
+    protected abstract CompressionCodec getCompressionCodec();
+
+    /**
+     * Indicates whether inputs can be split, defaults to false for compressed
+     * input tests
+     */
+    @Override
+    protected boolean canSplitInputs() {
+        return false;
+    }
+
+    private void writeTuples(Model m, OutputStream output) {
+        RDFDataMgr.write(output, m, this.getRdfLanguage());
+    }
+
+    /**
+     * Gets the RDF language to write out generated tuples in
+     * 
+     * @return RDF language
+     */
+    protected abstract Lang getRdfLanguage();
+
+    @Override
+    protected final void generateTuples(OutputStream output, int num) throws IOException {
+        Model m = ModelFactory.createDefaultModel();
+        Resource currSubj = m.createResource("http://example.org/subjects/0");
+        Property predicate = m.createProperty("http://example.org/predicate");
+        for (int i = 0; i < num; i++) {
+            if (i % 10 == 0) {
+                currSubj = m.createResource("http://example.org/subjects/" + (i / 10));
+            }
+            m.add(currSubj, predicate, m.createTypedLiteral(i));
+        }
+        this.writeTuples(m, output);
+        output.close();
+    }
+
+    @Override
+    protected final void generateMixedTuples(OutputStream output, int num) throws IOException {
+        // Write good data
+        Model m = ModelFactory.createDefaultModel();
+        Resource currSubj = m.createResource("http://example.org/subjects/0");
+        Property predicate = m.createProperty("http://example.org/predicate");
+        for (int i = 0; i < num / 2; i++) {
+            if (i % 10 == 0) {
+                currSubj = m.createResource("http://example.org/subjects/" + (i / 10));
+            }
+            m.add(currSubj, predicate, m.createTypedLiteral(i));
+        }
+        this.writeTuples(m, output);
+
+        // Write junk data
+        byte[] junk = "junk data\n".getBytes(utf8);
+        for (int i = 0; i < num / 2; i++) {
+            output.write(junk);
+        }
+
+        output.flush();
+        output.close();
+    }
+
+    @Override
+    protected final void generateBadTuples(OutputStream output, int num) throws IOException {
+        byte[] junk = "junk data\n".getBytes(utf8);
+        for (int i = 0; i < num; i++) {
+            output.write(junk);
+        }
+        output.flush();
+        output.close();
+    }
+}


[40/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
Fix line endings (part 2)


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

Branch: refs/heads/master
Commit: 587c66ae52d71f574ebd5ed96644554aef81023b
Parents: d6ae87f
Author: Andy Seaborne <an...@apache.org>
Authored: Sat May 14 18:00:20 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 14 18:00:20 2016 +0100

----------------------------------------------------------------------
 jena-arq/Grammar/Notes                          |   92 +-
 jena-arq/Grammar/grammarExtracts                |  114 +-
 jena-arq/Vocabularies/EARL-v0.rdf               |  486 ++--
 jena-arq/Vocabularies/FOAF.rdf                  | 1214 ++++----
 jena-arq/Vocabularies/FOAF.ttl                  | 1866 ++++++------
 jena-arq/Vocabularies/doap.ttl                  |  806 +++---
 jena-arq/Vocabularies/list-pfunction.ttl        |   86 +-
 jena-arq/Vocabularies/result-set.ttl            |  194 +-
 jena-arq/Vocabularies/test-dawg.ttl             |  276 +-
 jena-arq/Vocabularies/test-manifest-1_0.ttl     |  302 +-
 jena-arq/Vocabularies/test-manifest-1_1.ttl     |  116 +-
 jena-arq/Vocabularies/test-manifest-x.ttl       |  134 +-
 jena-arq/Vocabularies/test-manifest.ttl         |  306 +-
 jena-arq/Vocabularies/test-query.ttl            |   94 +-
 jena-arq/etc/dataset-db.ttl                     |   96 +-
 jena-arq/etc/dataset-owl-inf.ttl                |   96 +-
 jena-arq/etc/dataset-owl.ttl                    |   66 +-
 jena-arq/etc/dataset-rdfs.ttl                   |   70 +-
 jena-arq/etc/dataset-rules.ttl                  |   78 +-
 jena-arq/etc/dataset-trans.ttl                  |   70 +-
 jena-arq/etc/dataset.ttl                        |   86 +-
 jena-arq/etc/graphstore.ttl                     |   84 +-
 jena-arq/etc/update-data.ttl                    |   38 +-
 .../java/org/apache/jena/query/package.html     |   22 +-
 jena-core/src-examples/data/eswc-2006-09-21.rdf | 1438 +++++-----
 jena-core/src-examples/data/test1.owl           |   52 +-
 .../jena/reasoner/rulesys/impl/package.html     |   16 +-
 .../apache/jena/reasoner/rulesys/package.html   |   44 +-
 .../main/java/org/apache/jena/util/package.html |   18 +-
 .../src/main/resources/etc/owl-fb-micro.rules   | 1164 ++++----
 .../src/main/resources/etc/owl-fb-mini.rules    | 1496 +++++-----
 jena-core/src/main/resources/etc/owl.rules      |  610 ++--
 jena-core/src/main/resources/etc/rdfs.rules     |  166 +-
 .../src/test/resources/ont-policy-test.rdf      |  116 +-
 jena-core/src/test/resources/ontology/list0.rdf |   40 +-
 jena-core/src/test/resources/ontology/list1.rdf |   42 +-
 jena-core/src/test/resources/ontology/list2.rdf |   44 +-
 jena-core/src/test/resources/ontology/list3.rdf |   46 +-
 jena-core/src/test/resources/ontology/list4.rdf |   48 +-
 jena-core/src/test/resources/ontology/list5.rdf |   50 +-
 jena-core/testing/Turtle/build                  |   60 +-
 jena-core/testing/arp/i18n/badbom16be.rdf       |  Bin 1882 -> 906 bytes
 jena-core/testing/arp/i18n/badbom16le.rdf       |  Bin 1882 -> 906 bytes
 jena-core/testing/arp/i18n/badbom8.rdf          |   68 +-
 jena-core/testing/arp/i18n/bom16be.rdf          |  Bin 1792 -> 862 bytes
 jena-core/testing/arp/i18n/bom16le.rdf          |  Bin 1792 -> 862 bytes
 jena-core/testing/arp/i18n/bom8.rdf             |   66 +-
 jena-core/testing/arp/i18n/i18nID.rdf           |   52 +-
 jena-core/testing/arp/xml-prop.rdf              |   10 +-
 jena-core/testing/ontology/list0.rdf            |   40 +-
 jena-core/testing/ontology/list1.rdf            |   42 +-
 jena-core/testing/ontology/list2.rdf            |   44 +-
 jena-core/testing/ontology/list3.rdf            |   46 +-
 jena-core/testing/ontology/list4.rdf            |   48 +-
 jena-core/testing/ontology/list5.rdf            |   50 +-
 jena-core/testing/ontology/owl/Wine/food.owl    | 2700 +++++++++---------
 .../ontology/owl/list-syntax/test-proptypes.rdf |   64 +-
 jena-core/testing/ontology/relativenames.rdf    |   44 +-
 jena-core/testing/ontology/testImport1/a.owl    |   28 +-
 jena-core/testing/ontology/testImport1/readme   |    2 +-
 jena-core/testing/ontology/testImport2/a.owl    |   30 +-
 jena-core/testing/ontology/testImport2/b.owl    |   28 +-
 jena-core/testing/ontology/testImport2/readme   |    2 +-
 jena-core/testing/ontology/testImport3/a.owl    |   28 +-
 jena-core/testing/ontology/testImport3/b.owl    |   28 +-
 jena-core/testing/ontology/testImport3/c.owl    |   26 +-
 jena-core/testing/ontology/testImport3/readme   |    2 +-
 jena-core/testing/ontology/testImport4/a.owl    |   30 +-
 jena-core/testing/ontology/testImport4/b.owl    |   32 +-
 jena-core/testing/ontology/testImport4/readme   |    2 +-
 jena-core/testing/ontology/testImport5/a.owl    |   30 +-
 jena-core/testing/ontology/testImport5/b.owl    |   28 +-
 jena-core/testing/ontology/testImport5/readme   |    4 +-
 jena-core/testing/ontology/testImport6/a.owl    |   32 +-
 jena-core/testing/ontology/testImport6/b.owl    |   30 +-
 jena-core/testing/ontology/testImport6/c.owl    |   28 +-
 jena-core/testing/ontology/testImport6/d.owl    |   30 +-
 jena-core/testing/ontology/testImport6/readme   |    6 +-
 jena-core/testing/ontology/testImport7/a.owl    |   20 +-
 jena-core/testing/ontology/testImport8/a.owl    |   50 +-
 jena-core/testing/ontology/testImport8/b.owl    |   38 +-
 jena-core/testing/reasoners/bugs/sbug.owl       |   80 +-
 jena-core/testing/reasoners/bugs/sbug.rdf       |   48 +-
 .../testing/reasoners/bugs/userDatatypes.owl    |   98 +-
 jena-core/testing/reasoners/include.rules       |   10 +-
 .../testing/reasoners/owl/inconsistent7.rdf     |   58 +-
 jena-core/testing/reasoners/owl/nondetbug.rdf   |   64 +-
 jena-core/testing/reasoners/owl/nondetbug.rules |   38 +-
 jena-core/testing/reasoners/rdfs/data1.rdf      |   36 +-
 jena-core/testing/reasoners/rdfs/data2.rdf      |   38 +-
 jena-core/testing/reasoners/rdfs/data3.rdf      |   54 +-
 jena-core/testing/reasoners/rdfs/dttest1.nt     |    4 +-
 jena-core/testing/reasoners/rdfs/dttest2.nt     |    4 +-
 jena-core/testing/reasoners/rdfs/dttest3.nt     |    4 +-
 .../reasoners/rdfs/manifest-nodirect.rdf        |  350 +--
 jena-core/testing/reasoners/rdfs/manifest.rdf   |  378 +--
 jena-core/testing/reasoners/rdfs/query-res.nt   |    8 +-
 jena-core/testing/reasoners/rdfs/query10.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query11.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query12.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query13.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query14.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query15.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query16.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query17.nt     |   10 +-
 jena-core/testing/reasoners/rdfs/query18.nt     |    8 +-
 jena-core/testing/reasoners/rdfs/query19.nt     |   10 +-
 jena-core/testing/reasoners/rdfs/query2.nt      |    8 +-
 jena-core/testing/reasoners/rdfs/query20.nt     |    8 +-
 jena-core/testing/reasoners/rdfs/query21.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query22.nt     |    6 +-
 jena-core/testing/reasoners/rdfs/query3.nt      |    8 +-
 jena-core/testing/reasoners/rdfs/query4.nt      |    8 +-
 jena-core/testing/reasoners/rdfs/query5.nt      |    8 +-
 jena-core/testing/reasoners/rdfs/query7.nt      |    8 +-
 jena-core/testing/reasoners/rdfs/query8.nt      |    6 +-
 jena-core/testing/reasoners/rdfs/query9.nt      |    6 +-
 jena-core/testing/reasoners/rdfs/result1.rdf    |   28 +-
 jena-core/testing/reasoners/rdfs/result10.rdf   |   32 +-
 jena-core/testing/reasoners/rdfs/result11.rdf   |  418 +--
 jena-core/testing/reasoners/rdfs/result12.rdf   |  178 +-
 jena-core/testing/reasoners/rdfs/result13.rdf   |   70 +-
 jena-core/testing/reasoners/rdfs/result14.rdf   |   26 +-
 jena-core/testing/reasoners/rdfs/result15.rdf   |   26 +-
 .../reasoners/rdfs/result16-noresource.rdf      |   62 +-
 jena-core/testing/reasoners/rdfs/result16.rdf   |  126 +-
 jena-core/testing/reasoners/rdfs/result17.rdf   |   62 +-
 jena-core/testing/reasoners/rdfs/result18.rdf   |   46 +-
 .../reasoners/rdfs/result19-nodirect.rdf        |  464 +--
 jena-core/testing/reasoners/rdfs/result19.rdf   |  462 +--
 jena-core/testing/reasoners/rdfs/result2.rdf    |   26 +-
 .../reasoners/rdfs/result20-nodirect.rdf        |   42 +-
 jena-core/testing/reasoners/rdfs/result20.rdf   |   48 +-
 jena-core/testing/reasoners/rdfs/result3.rdf    |   38 +-
 jena-core/testing/reasoners/rdfs/result4.rdf    |   34 +-
 jena-core/testing/reasoners/rdfs/result7.rdf    |   26 +-
 jena-core/testing/reasoners/rdfs/result8.rdf    |   28 +-
 jena-core/testing/reasoners/rdfs/result9.rdf    |   26 +-
 jena-core/testing/reasoners/rdfs/tbox1.rdf      |   64 +-
 .../testing/reasoners/rdfs/timing-data.rdf      |  108 +-
 .../testing/reasoners/rdfs/timing-tbox.rdf      |   78 +-
 .../testing/reasoners/ruleParserTest1.rules     |   24 +-
 .../testing/reasoners/transitive/data1.rdf      |   50 +-
 .../testing/reasoners/transitive/data2.rdf      |   40 +-
 .../testing/reasoners/transitive/data3.rdf      |   30 +-
 .../testing/reasoners/transitive/data6.rdf      |   30 +-
 .../testing/reasoners/transitive/data8.rdf      |   74 +-
 .../testing/reasoners/transitive/data9.rdf      |   72 +-
 .../testing/reasoners/transitive/empty.rdf      |   24 +-
 .../testing/reasoners/transitive/manifest.rdf   |  194 +-
 .../testing/reasoners/transitive/query-all.nt   |   10 +-
 .../testing/reasoners/transitive/query2.nt      |   10 +-
 .../testing/reasoners/transitive/querysc.nt     |   10 +-
 .../testing/reasoners/transitive/querysp.nt     |   12 +-
 .../testing/reasoners/transitive/querysp2.nt    |   12 +-
 .../testing/reasoners/transitive/result2.rdf    |   28 +-
 .../testing/reasoners/transitive/result4.rdf    |   62 +-
 .../testing/reasoners/transitive/result5.rdf    |   34 +-
 .../testing/reasoners/transitive/result6.rdf    |   48 +-
 .../testing/reasoners/transitive/tbox1.rdf      |   70 +-
 .../testing/reasoners/transitive/tbox7.rdf      |   70 +-
 .../testing/wg/cardinality/Manifest005.rdf      |   90 +-
 .../testing/wg/cardinality/conclusions005.rdf   |   80 +-
 .../testing/wg/cardinality/premises005.rdf      |   60 +-
 jena-core/testing/wg/localtests/Manifest008.rdf |   60 +-
 .../wg/localtests/ManifestRestriction001.rdf    |   60 +-
 .../wg/localtests/ManifestSubclass001.rdf       |   60 +-
 .../testing/wg/localtests/conclusions008.rdf    |   48 +-
 .../wg/localtests/conclusionsRestriction001.rdf |   34 +-
 .../wg/localtests/conclusionsSubclass001.rdf    |   40 +-
 jena-core/testing/wg/localtests/premises008.rdf |   62 +-
 .../wg/localtests/premisesRestriction001.rdf    |   66 +-
 .../wg/localtests/premisesSubclass001.rdf       |   62 +-
 jena-sdb/Data/data.ttl                          |   68 +-
 jena-sdb/Data/data2.ttl                         |   40 +-
 jena-sdb/Reports/explain.rb                     |   58 +-
 jena-sdb/Reports/format.rb                      |   82 +-
 jena-sdb/Reports/jdbc.rb                        |  278 +-
 jena-sdb/bin2/sdbscript                         |   18 +-
 .../org/apache/jena/sdb/sdb-properties.xml      |   18 +-
 .../SolrHome/SolrARQCollection/conf/schema.xml  |  112 +-
 .../SolrARQCollection/conf/solrconfig.xml       |  154 +-
 .../src/test/resources/SolrHome/solr.xml        |   14 +-
 .../src/test/resources/geoarq-data-1.ttl        |  172 +-
 .../resources/spatial-config-spatialindexer.ttl |  104 +-
 .../src/test/resources/spatial-config.ttl       |  108 +-
 .../src/test/resources/spatial-solr-config.ttl  |  100 +-
 187 files changed, 11467 insertions(+), 11467 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Grammar/Notes
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/Notes b/jena-arq/Grammar/Notes
index 203470c..b36d9cf 100644
--- a/jena-arq/Grammar/Notes
+++ b/jena-arq/Grammar/Notes
@@ -1,46 +1,46 @@
-## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-==== The Grammars
-See Archive for old, historical material.
-
-master.jj - Template for SPARQL and ARQ
-    cpp input to produce sparql.jj or arq.jj
-
-sparql_11.jj - The SPARQL working group syntax
-    This should be exactly the grammar in the SPARQL rec.
-    Generates org.apache.jena.query.parser.sparql_11.SPARQLParser
-
-arq.jj - The native query language of the query engine
-    Generates org.apache.jena.query.parser.arq.ARQParser
-
-
-sparql_10.jj - SPARQL 1.0, but updated to match internal chnages in ARQ.
-    This should produce the grammar in the SPARQ 1.0/DAWG rec.
-    Generates org.apache.jena.query.parser.sparql_10.SPARQLParser
-    
-Archive/sparql_10-REC.jj is original for the SPARQL 1.0 specification. 
-
-Archive/rdql-arq.jjt
-    RDQL for the ARQ query engine.
-    Generates org.apache.jena.query.parser.rdql.RDQLParser
-
-==== Making the parsers
-
-See "grammar"
-Note this runs cpp over master.jj to produce arq.jj or sparql.jj
-
-==== Making the HTML
-
-sparql_N.txt is produced by "grammar", used to make HTML.
-We don't use jjdoc to produce HTML but instead get jjdoc to produce
-its text form and process that, toegther with a hand-managed
-token.txt file.
-
-== Tokens
-
-Run "jj2tokens sparql_11.jj > tokens.txt" to get a first pass at a tokens file.
-Manually tidy, noting which to inline
-
-Produce HTML suiatble for inclusion in the SPARQL recomendations.
-Includes some hand-craft tidying up. 
-  jj2html arq.txt tokens.txt 
+## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+==== The Grammars
+See Archive for old, historical material.
+
+master.jj - Template for SPARQL and ARQ
+    cpp input to produce sparql.jj or arq.jj
+
+sparql_11.jj - The SPARQL working group syntax
+    This should be exactly the grammar in the SPARQL rec.
+    Generates org.apache.jena.query.parser.sparql_11.SPARQLParser
+
+arq.jj - The native query language of the query engine
+    Generates org.apache.jena.query.parser.arq.ARQParser
+
+
+sparql_10.jj - SPARQL 1.0, but updated to match internal chnages in ARQ.
+    This should produce the grammar in the SPARQ 1.0/DAWG rec.
+    Generates org.apache.jena.query.parser.sparql_10.SPARQLParser
+    
+Archive/sparql_10-REC.jj is original for the SPARQL 1.0 specification. 
+
+Archive/rdql-arq.jjt
+    RDQL for the ARQ query engine.
+    Generates org.apache.jena.query.parser.rdql.RDQLParser
+
+==== Making the parsers
+
+See "grammar"
+Note this runs cpp over master.jj to produce arq.jj or sparql.jj
+
+==== Making the HTML
+
+sparql_N.txt is produced by "grammar", used to make HTML.
+We don't use jjdoc to produce HTML but instead get jjdoc to produce
+its text form and process that, toegther with a hand-managed
+token.txt file.
+
+== Tokens
+
+Run "jj2tokens sparql_11.jj > tokens.txt" to get a first pass at a tokens file.
+Manually tidy, noting which to inline
+
+Produce HTML suiatble for inclusion in the SPARQL recomendations.
+Includes some hand-craft tidying up. 
+  jj2html arq.txt tokens.txt 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Grammar/grammarExtracts
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/grammarExtracts b/jena-arq/Grammar/grammarExtracts
index 4c070d2..ac41eec 100644
--- a/jena-arq/Grammar/grammarExtracts
+++ b/jena-arq/Grammar/grammarExtracts
@@ -1,57 +1,57 @@
-#!/bin/perl
-## 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.
-
-# Grammar HTML to a form of HTML suitable for cut&paste as fragments.
-
-# Remove definition links.
-# In <code class="gRuleHead">
-# <a id="XXX" name="XXX"> ==> <a href="#XXX"> or id="fragXXX"
-#
-# ??
-# In <code class="gRuleBody">
-# <a href="#XXX"> => <a href="#fragXXX">
-
-$DOC = 1 ;
-
-if ( $DOC )
-{
-    print <<'EOF'
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-  <head>
-  <title>SPARQL Grammar Fragments</title>
-  <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/base.css" />
-  <link rel="stylesheet" type="text/css" href="http://www.w3.org/2001/sw/DataAccess/rq23/local.css" />
-  </head>
-<body>
-EOF
-}
-
-while(<>)
-{
-    s/\<a id="([^=\"]*)" name="([^=\"]*)"\>/<a href="#$1">/ ;
-    print ;
-}
-
-if ( $DOC )
-{
-    print <<'EOF'
-</body>
-</html>
-EOF
-}
+#!/bin/perl
+## 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.
+
+# Grammar HTML to a form of HTML suitable for cut&paste as fragments.
+
+# Remove definition links.
+# In <code class="gRuleHead">
+# <a id="XXX" name="XXX"> ==> <a href="#XXX"> or id="fragXXX"
+#
+# ??
+# In <code class="gRuleBody">
+# <a href="#XXX"> => <a href="#fragXXX">
+
+$DOC = 1 ;
+
+if ( $DOC )
+{
+    print <<'EOF'
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+  <head>
+  <title>SPARQL Grammar Fragments</title>
+  <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/base.css" />
+  <link rel="stylesheet" type="text/css" href="http://www.w3.org/2001/sw/DataAccess/rq23/local.css" />
+  </head>
+<body>
+EOF
+}
+
+while(<>)
+{
+    s/\<a id="([^=\"]*)" name="([^=\"]*)"\>/<a href="#$1">/ ;
+    print ;
+}
+
+if ( $DOC )
+{
+    print <<'EOF'
+</body>
+</html>
+EOF
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/EARL-v0.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/EARL-v0.rdf b/jena-arq/Vocabularies/EARL-v0.rdf
index 08a2f57..8b98375 100644
--- a/jena-arq/Vocabularies/EARL-v0.rdf
+++ b/jena-arq/Vocabularies/EARL-v0.rdf
@@ -1,243 +1,243 @@
-<?xml version="1.0" encoding='UTF-8'?>
-<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-         xmlns:owl="http://www.w3.org/2002/07/owl#">
-
-  <rdf:Description rdf:about="http://www.w3.org/ns/earl#">
-    <rdfs:label xml:lang="en">EARL 1.0 Schema</rdfs:label>
-    <rdfs:comment xml:lang="en">Evaluation And Report Language (EARL) 1.0 Schema as defined by http://www.w3.org/TR/EARL10-Schema/</rdfs:comment>
-  </rdf:Description>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Assertion">
-    <rdfs:label xml:lang="en">An assertion</rdfs:label>
-    <rdfs:comment xml:lang="en">Parent node that contains all parts of an assertion</rdfs:comment>
-    <rdfs:subClassOf rdf:parseType="Collection">
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#assertedBy"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#subject"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#test"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#result"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#mode"/>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </rdfs:Class>
-
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#assertedBy">
-    <rdfs:label xml:lang="en">Is Asserted By</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#subject">
-    <rdfs:label xml:lang="en">Has Test Subject</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestSubject"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#test">
-    <rdfs:label xml:lang="en">Has Test Criterion</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#result">
-    <rdfs:label xml:lang="en">Has Test Result</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#mode">
-    <rdfs:label xml:lang="en">Has Test Mode</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestMode"/>
-  </rdf:Property>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Assertor">
-    <rdfs:label xml:lang="en">Assertor</rdfs:label>
-    <rdfs:comment xml:lang="en">Persons or evaluation tools that claim assertions</rdfs:comment>
-    <owl:oneOf rdf:parseType="Collection">
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#SingleAssertor"/>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#CompoundAssertor"/>
-    </owl:oneOf>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#SingleAssertor">
-    <rdfs:label xml:lang="en">Single Assertor</rdfs:label>
-    <rdfs:comment xml:lang="en">One person or evaluation tool that claims assertions</rdfs:comment>
-    <owl:oneOf rdf:parseType="Collection">
-      <owl:Thing rdf:type="http://www.w3.org/ns/earl#Software"/>
-      <owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Agent"/>
-    </owl:oneOf>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#CompoundAssertor">
-    <rdfs:label xml:lang="en">Compound Assertor</rdfs:label>
-    <rdfs:comment xml:lang="en">Group of persons or evaluation tools that claim assertions</rdfs:comment>
-    <rdfs:subClassOf rdf:parseType="Collection">
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#mainAssertor"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </rdfs:Class>
-
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#mainAssertor">
-    <rdfs:label xml:lang="en">Has Main Assertor</rdfs:label>
-    <rdfs:comment xml:lang="en">Assertor mainly responsible for determining assertion result</rdfs:comment>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#CompoundAssertor"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#helpAssertor">
-    <rdfs:label xml:lang="en">Has Help Assertor</rdfs:label>
-    <rdfs:comment xml:lang="en">Assertor assisting to determine assertion result</rdfs:comment>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#CompoundAssertor"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
-  </rdf:Property>
-	
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestSubject">
-    <rdfs:label xml:lang="en">Test Subject</rdfs:label>
-    <rdfs:comment xml:lang="en">Subject of the assertion</rdfs:comment>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestCriterion">
-    <rdfs:label xml:lang="en">Test Criterion</rdfs:label>
-    <rdfs:comment xml:lang="en">A testable statement against which subjects are tested</rdfs:comment>
-  </rdfs:Class> 
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestRequirement">
-    <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
-    <rdfs:label xml:lang="en">Test Requirement</rdfs:label>
-    <rdfs:comment xml:lang="en">A requirement against which subjects are tested</rdfs:comment>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestCase">
-    <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
-    <rdfs:label xml:lang="en">Test Case</rdfs:label>
-    <rdfs:comment xml:lang="en">A test case against which subjects are tested</rdfs:comment>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestMode">
-    <rdfs:label xml:lang="en">Test Mode</rdfs:label>
-    <rdfs:comment xml:lang="en">Mode in which tests were conducted</rdfs:comment>
-    <owl:oneOf rdf:parseType="Collection">
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#manual">
-        <rdfs:label xml:lang="en">Manual</rdfs:label>
-        <rdfs:comment xml:lang="en">Test was performed by a human only</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#automatic">
-        <rdfs:label xml:lang="en">Automatic</rdfs:label>
-        <rdfs:comment xml:lang="en">Test was performed by a tool only</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#semiAutomatic">
-        <rdfs:label xml:lang="en">Semi-Automatic</rdfs:label>
-        <rdfs:comment xml:lang="en">Test was performed primarily by a tool, and human assistance</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notAvailable">
-        <rdfs:label xml:lang="en">Not Available</rdfs:label>
-        <rdfs:comment xml:lang="en">Test was performed by a combination of persons and tools</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#heuristic">
-        <rdfs:label xml:lang="en">Heuristic</rdfs:label>
-        <rdfs:comment xml:lang="en">Result was derived from other results</rdfs:comment>
-      </owl:Thing>
-    </owl:oneOf>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestResult">
-    <rdfs:label xml:lang="en">Test Result</rdfs:label>
-    <rdfs:comment xml:lang="en">Result from conducting test cases on subjects</rdfs:comment>
-    <rdfs:subClassOf rdf:parseType="Collection">
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#outcome"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </rdfs:Class>
-
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#outcome">
-    <rdfs:label xml:lang="en">Has Outcome</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
-    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#OutcomeValue"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#pointer">
-    <rdfs:label xml:lang="en">Has Location Pointer</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#info">
-    <rdfs:label xml:lang="en">Has Additional Information</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
-  </rdf:Property>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#OutcomeValue">
-    <rdfs:label xml:lang="en">Outcome Value</rdfs:label>
-    <rdfs:comment xml:lang="en">Nominal value of the result</rdfs:comment>
-    <owl:oneOf rdf:parseType="Collection">
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#pass">
-        <rdfs:label xml:lang="en">Pass</rdfs:label>
-        <rdfs:comment xml:lang="en">Test passed</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#fail">
-        <rdfs:label xml:lang="en">Fail</rdfs:label>
-        <rdfs:comment xml:lang="en">Test failed</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#cannotTell">
-        <rdfs:label xml:lang="en">Can Not Tell</rdfs:label>
-        <rdfs:comment xml:lang="en">Outcome of the test is uncertain</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notApplicable">
-        <rdfs:label xml:lang="en">Not Applicable</rdfs:label>
-        <rdfs:comment xml:lang="en">Test is not applicable to the subject</rdfs:comment>
-      </owl:Thing>
-      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notTested">
-        <rdfs:label xml:lang="en">Not Tested</rdfs:label>
-        <rdfs:comment xml:lang="en">Test has not been carried out</rdfs:comment>
-      </owl:Thing>
-    </owl:oneOf>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Software">
-    <rdfs:label xml:lang="en">Software Tool</rdfs:label>
-    <rdfs:comment xml:lang="en">A tool that can perform tests or be the subject of testing</rdfs:comment>
-    <rdfs:subClassOf rdf:parseType="Collection">
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/title"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Content">
-    <rdfs:label xml:lang="en">Content</rdfs:label>
-    <rdfs:comment xml:lang="en">Subjects that are available on the Web</rdfs:comment>
-    <rdfs:subClassOf rdf:parseType="Collection">
-      <owl:Restriction>
-        <owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/date"/>
-        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
-      </owl:Restriction>
-    </rdfs:subClassOf>
-  </rdfs:Class>
-
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#sourceCopy">
-    <rdfs:label xml:lang="en">Has Copy of Source</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Content"/> 
-  </rdf:Property>
-  <rdf:Property rdf:about="http://www.w3.org/ns/earl#context">
-    <rdfs:label xml:lang="en">Has Context</rdfs:label>
-    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Content"/> 
-  </rdf:Property>
-
-</rdf:RDF>
+<?xml version="1.0" encoding='UTF-8'?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+         xmlns:owl="http://www.w3.org/2002/07/owl#">
+
+  <rdf:Description rdf:about="http://www.w3.org/ns/earl#">
+    <rdfs:label xml:lang="en">EARL 1.0 Schema</rdfs:label>
+    <rdfs:comment xml:lang="en">Evaluation And Report Language (EARL) 1.0 Schema as defined by http://www.w3.org/TR/EARL10-Schema/</rdfs:comment>
+  </rdf:Description>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Assertion">
+    <rdfs:label xml:lang="en">An assertion</rdfs:label>
+    <rdfs:comment xml:lang="en">Parent node that contains all parts of an assertion</rdfs:comment>
+    <rdfs:subClassOf rdf:parseType="Collection">
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#assertedBy"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#subject"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#test"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#result"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#mode"/>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </rdfs:Class>
+
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#assertedBy">
+    <rdfs:label xml:lang="en">Is Asserted By</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#subject">
+    <rdfs:label xml:lang="en">Has Test Subject</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestSubject"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#test">
+    <rdfs:label xml:lang="en">Has Test Criterion</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#result">
+    <rdfs:label xml:lang="en">Has Test Result</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#mode">
+    <rdfs:label xml:lang="en">Has Test Mode</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Assertion"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#TestMode"/>
+  </rdf:Property>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Assertor">
+    <rdfs:label xml:lang="en">Assertor</rdfs:label>
+    <rdfs:comment xml:lang="en">Persons or evaluation tools that claim assertions</rdfs:comment>
+    <owl:oneOf rdf:parseType="Collection">
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#SingleAssertor"/>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#CompoundAssertor"/>
+    </owl:oneOf>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#SingleAssertor">
+    <rdfs:label xml:lang="en">Single Assertor</rdfs:label>
+    <rdfs:comment xml:lang="en">One person or evaluation tool that claims assertions</rdfs:comment>
+    <owl:oneOf rdf:parseType="Collection">
+      <owl:Thing rdf:type="http://www.w3.org/ns/earl#Software"/>
+      <owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Agent"/>
+    </owl:oneOf>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#CompoundAssertor">
+    <rdfs:label xml:lang="en">Compound Assertor</rdfs:label>
+    <rdfs:comment xml:lang="en">Group of persons or evaluation tools that claim assertions</rdfs:comment>
+    <rdfs:subClassOf rdf:parseType="Collection">
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#mainAssertor"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </rdfs:Class>
+
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#mainAssertor">
+    <rdfs:label xml:lang="en">Has Main Assertor</rdfs:label>
+    <rdfs:comment xml:lang="en">Assertor mainly responsible for determining assertion result</rdfs:comment>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#CompoundAssertor"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#helpAssertor">
+    <rdfs:label xml:lang="en">Has Help Assertor</rdfs:label>
+    <rdfs:comment xml:lang="en">Assertor assisting to determine assertion result</rdfs:comment>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#CompoundAssertor"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#Assertor"/>
+  </rdf:Property>
+	
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestSubject">
+    <rdfs:label xml:lang="en">Test Subject</rdfs:label>
+    <rdfs:comment xml:lang="en">Subject of the assertion</rdfs:comment>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestCriterion">
+    <rdfs:label xml:lang="en">Test Criterion</rdfs:label>
+    <rdfs:comment xml:lang="en">A testable statement against which subjects are tested</rdfs:comment>
+  </rdfs:Class> 
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestRequirement">
+    <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
+    <rdfs:label xml:lang="en">Test Requirement</rdfs:label>
+    <rdfs:comment xml:lang="en">A requirement against which subjects are tested</rdfs:comment>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestCase">
+    <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#TestCriterion"/>
+    <rdfs:label xml:lang="en">Test Case</rdfs:label>
+    <rdfs:comment xml:lang="en">A test case against which subjects are tested</rdfs:comment>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestMode">
+    <rdfs:label xml:lang="en">Test Mode</rdfs:label>
+    <rdfs:comment xml:lang="en">Mode in which tests were conducted</rdfs:comment>
+    <owl:oneOf rdf:parseType="Collection">
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#manual">
+        <rdfs:label xml:lang="en">Manual</rdfs:label>
+        <rdfs:comment xml:lang="en">Test was performed by a human only</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#automatic">
+        <rdfs:label xml:lang="en">Automatic</rdfs:label>
+        <rdfs:comment xml:lang="en">Test was performed by a tool only</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#semiAutomatic">
+        <rdfs:label xml:lang="en">Semi-Automatic</rdfs:label>
+        <rdfs:comment xml:lang="en">Test was performed primarily by a tool, and human assistance</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notAvailable">
+        <rdfs:label xml:lang="en">Not Available</rdfs:label>
+        <rdfs:comment xml:lang="en">Test was performed by a combination of persons and tools</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#heuristic">
+        <rdfs:label xml:lang="en">Heuristic</rdfs:label>
+        <rdfs:comment xml:lang="en">Result was derived from other results</rdfs:comment>
+      </owl:Thing>
+    </owl:oneOf>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#TestResult">
+    <rdfs:label xml:lang="en">Test Result</rdfs:label>
+    <rdfs:comment xml:lang="en">Result from conducting test cases on subjects</rdfs:comment>
+    <rdfs:subClassOf rdf:parseType="Collection">
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://www.w3.org/ns/earl#outcome"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </rdfs:Class>
+
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#outcome">
+    <rdfs:label xml:lang="en">Has Outcome</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
+    <rdfs:range rdf:resource="http://www.w3.org/ns/earl#OutcomeValue"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#pointer">
+    <rdfs:label xml:lang="en">Has Location Pointer</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#info">
+    <rdfs:label xml:lang="en">Has Additional Information</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#TestResult"/>
+  </rdf:Property>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#OutcomeValue">
+    <rdfs:label xml:lang="en">Outcome Value</rdfs:label>
+    <rdfs:comment xml:lang="en">Nominal value of the result</rdfs:comment>
+    <owl:oneOf rdf:parseType="Collection">
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#pass">
+        <rdfs:label xml:lang="en">Pass</rdfs:label>
+        <rdfs:comment xml:lang="en">Test passed</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#fail">
+        <rdfs:label xml:lang="en">Fail</rdfs:label>
+        <rdfs:comment xml:lang="en">Test failed</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#cannotTell">
+        <rdfs:label xml:lang="en">Can Not Tell</rdfs:label>
+        <rdfs:comment xml:lang="en">Outcome of the test is uncertain</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notApplicable">
+        <rdfs:label xml:lang="en">Not Applicable</rdfs:label>
+        <rdfs:comment xml:lang="en">Test is not applicable to the subject</rdfs:comment>
+      </owl:Thing>
+      <owl:Thing rdf:about="http://www.w3.org/ns/earl#notTested">
+        <rdfs:label xml:lang="en">Not Tested</rdfs:label>
+        <rdfs:comment xml:lang="en">Test has not been carried out</rdfs:comment>
+      </owl:Thing>
+    </owl:oneOf>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Software">
+    <rdfs:label xml:lang="en">Software Tool</rdfs:label>
+    <rdfs:comment xml:lang="en">A tool that can perform tests or be the subject of testing</rdfs:comment>
+    <rdfs:subClassOf rdf:parseType="Collection">
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/title"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </rdfs:Class>
+
+  <rdfs:Class rdf:about="http://www.w3.org/ns/earl#Content">
+    <rdfs:label xml:lang="en">Content</rdfs:label>
+    <rdfs:comment xml:lang="en">Subjects that are available on the Web</rdfs:comment>
+    <rdfs:subClassOf rdf:parseType="Collection">
+      <owl:Restriction>
+        <owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/date"/>
+        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
+      </owl:Restriction>
+    </rdfs:subClassOf>
+  </rdfs:Class>
+
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#sourceCopy">
+    <rdfs:label xml:lang="en">Has Copy of Source</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Content"/> 
+  </rdf:Property>
+  <rdf:Property rdf:about="http://www.w3.org/ns/earl#context">
+    <rdfs:label xml:lang="en">Has Context</rdfs:label>
+    <rdfs:domain rdf:resource="http://www.w3.org/ns/earl#Content"/> 
+  </rdf:Property>
+
+</rdf:RDF>


[20/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
index 622b3f1..45ec40f 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
@@ -1,352 +1,352 @@
-/*
- * 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.propertytable.impl;
-
-import java.util.* ;
-import java.util.Map.Entry;
-
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.iterator.IteratorConcat;
-import org.apache.jena.ext.com.google.common.collect.HashMultimap;
-import org.apache.jena.ext.com.google.common.collect.SetMultimap ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.propertytable.Column;
-import org.apache.jena.propertytable.PropertyTable;
-import org.apache.jena.propertytable.Row;
-import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.NullIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
-
-/**
- * A PropertyTable Implementation using HashMap.
- * It contains PSO and POS indexes.
- * 
- */
-public class PropertyTableHashMapImpl implements PropertyTable {
-
-	private Map<Node, Column> columnIndex; // Maps property Node key to Column
-	private List<Column> columnList; // Stores the list of columns in the table
-	private Map<Node, Row> rowIndex; // Maps the subject Node key to Row.
-	private List<Row> rowList; // Stores the list of rows in the table
-
-	// PSO index
-	// Maps column Node to (subject Node, value) pairs
-	private Map<Node, Map<Node, Node>> valueIndex; 
-	// POS index
-	// Maps column Node to (value, subject Node) pairs
-	private Map<Node, SetMultimap<Node, Node>> valueReverseIndex; 
-
-	PropertyTableHashMapImpl() {
-		columnIndex = new HashMap<Node, Column>();
-		columnList = new ArrayList<Column>();
-		rowIndex = new HashMap<Node, Row>();
-		rowList = new ArrayList<Row>();
-		valueIndex = new HashMap<Node, Map<Node, Node>>();
-		valueReverseIndex = new HashMap<Node, SetMultimap<Node, Node>>();
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator() {
-		
-		// use PSO index to scan all the table (slow)
-		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
-		for (Column column : getColumns()) {
-			iter.add(getTripleIterator(column));
-		}
-		return WrappedIterator.create(Iter.distinct(iter));
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Column column) {
-		
-		// use PSO index directly (fast)
-		
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-		Map<Node, Node> values = valueIndex.get(column.getColumnKey());
-
-		for (Entry<Node, Node> entry : values.entrySet()) {
-			Node subject = entry.getKey();
-			Node value = entry.getValue();
-			triples.add(Triple.create(subject, column.getColumnKey(), value));
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Node value) {
-		
-		// use POS index ( O(n), n= column count )
-		
-		if (value == null)
-			throw new NullPointerException("value is null");
-		
-		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
-		for (Column column : this.getColumns()) {
-			ExtendedIterator<Triple> eIter = getTripleIterator(column,value);
-			iter.add(eIter);
-		}
-		return WrappedIterator.create(Iter.distinct(iter));
-	}
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Column column, Node value) {
-		
-		// use POS index directly (fast)
-		
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		if (value == null)
-			throw new NullPointerException("value is null");
-		
-		
-		Node p = column.getColumnKey();
-		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
-		if ( valueToSubjectMap == null ) 
-		    return NullIterator.instance() ;
-		final Set<Node> subjects = valueToSubjectMap.get(value);
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-		for (Node subject : subjects) {
-		    triples.add(Triple.create(subject, p, value));
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-
-	@Override
-	public ExtendedIterator<Triple> getTripleIterator(Row row) {
-		// use PSO index ( O(n), n= column count )
-		
-		if (row == null || row.getRowKey() == null)
-			throw new NullPointerException("row is null");
-		
-		ArrayList<Triple> triples = new ArrayList<Triple>();
-		for (Column column : getColumns()) {
-			Node value = row.getValue(column);
-			triples.add(Triple.create(row.getRowKey(), column.getColumnKey(), value));
-		}
-		return WrappedIterator.create(triples.iterator());
-	}
-
-	@Override
-	public Collection<Column> getColumns() {
-		return columnList;
-	}
-
-	@Override
-	public Column getColumn(Node p) {
-		if (p == null)
-			throw new NullPointerException("column node is null");
-		return columnIndex.get(p);
-	}
-
-	@Override
-	public Column createColumn(Node p) {
-		if (p == null)
-			throw new NullPointerException("column node is null");
-
-		if (columnIndex.containsKey(p))
-			throw new IllegalArgumentException("column already exists: '"
-					+ p.toString());
-
-		columnIndex.put(p, new ColumnImpl(this, p));
-		columnList.add(columnIndex.get(p));
-		valueIndex.put(p, new HashMap<Node, Node>());
-		valueReverseIndex.put(p, HashMultimap.create());
-		return getColumn(p);
-	}
-
-	@Override
-	public Row getRow(final Node s) {
-		if (s == null)
-			throw new NullPointerException("subject node is null");
-		Row row = rowIndex.get(s);
-		return row;
-
-	}
-	
-	@Override
-	public Row createRow(final Node s){
-		Row row = this.getRow(s);
-		if (row != null)
-			return row;
-
-		row = new InternalRow(s);
-		rowIndex.put(s, row);
-		rowList.add(row);
-
-		return row;
-	}
-	
-	@Override
-	public List<Row> getAllRows() {
-		return rowList;
-	}
-
-	
-	
-	@Override
-	public List<Node> getColumnValues(Column column) {
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		Map<Node, Node> values = valueIndex.get(column.getColumnKey());
-
-		List<Node> list = new ArrayList<Node>(values.size());
-		list.addAll(values.values());
-		return list;
-	}
-	
-	@Override
-	public Collection<Row> getMatchingRows(Column column, Node value) {
-		if (column == null || column.getColumnKey() == null)
-			throw new NullPointerException("column is null");
-		
-		if (value == null)
-			throw new NullPointerException("value is null");
-		
-		
-		Node p = column.getColumnKey();
-		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
-		if ( valueToSubjectMap == null )
-		    return Collections.emptyList() ;
-		final Set<Node> subjects = valueToSubjectMap.get(value);
-		if ( subjects == null )
-		    return Collections.emptyList() ;
-		final ArrayList<Row> matchingRows = new ArrayList<Row>();
-		for (Node subject : subjects) {
-		    matchingRows.add(this.getRow(subject));
-		}
-		return matchingRows;
-	}
-
-	private final void setX(final Node s, final Node p, final Node value) {
-		if (p == null)
-			throw new NullPointerException("column Node must not be null.");
-		if (value == null)
-			throw new NullPointerException("value must not be null.");
-
-		Map<Node, Node> subjectToValueMap = valueIndex.get(p);
-		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
-			throw new IllegalArgumentException("column: '" + p
-					+ "' does not yet exist.");
-
-		Node oldValue = subjectToValueMap.get(s);
-		subjectToValueMap.put(s, value);
-		addToReverseMap(p, s, oldValue, value);
-	}
-
-	private void addToReverseMap(final Node p, final Node s, final Node oldValue, final Node value) {
-
-		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
-		if ( valueToSubjectMap == null )
-            return ; 
-		valueToSubjectMap.remove(oldValue, s);
-		valueToSubjectMap.put(value, s);
-	}
-
-	private void unSetX(final Node s, final Node p) {
-
-		final Map<Node, Node> subjectToValueMap = valueIndex.get(p);
-		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
-			throw new IllegalArgumentException("column: '" + p
-					+ "' does not yet exist.");
-
-		final Node value = subjectToValueMap.get(s);
-		if (value == null)
-			return;
-
-		subjectToValueMap.remove(s);
-		removeFromReverseMap(p, s, value);
-	}
-
-	private void removeFromReverseMap(final Node p, final Node s,
-			final Node value) {
-		final SetMultimap<Node, Node> valueTokeysMap = valueReverseIndex.get(p);
-		if ( valueTokeysMap == null )
-		    return ;
-		valueTokeysMap.remove(s, value);
-	}
-
-	private Node getX(final Node s, final Node p) {
-		final Map<Node, Node> subjectToValueMap = valueIndex.get(p);
-		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
-			throw new IllegalArgumentException("column: '" + p
-					+ "' does not yet exist.");
-		return subjectToValueMap.get(s);
-	}
-
-	private final class InternalRow implements Row {
-		private final Node key;
-
-		InternalRow(final Node key) {
-			this.key = key;
-		}
-
-		@Override
-		public void setValue(Column column, Node value) {
-			if (value == null)
-				unSetX(key, column.getColumnKey());
-			else
-				setX(key, column.getColumnKey(), value);
-		}
-
-		@Override
-		public Node getValue(Column column) {
-			return getX(key, column.getColumnKey());
-		}
-		
-		@Override
-		public Node getValue(Node columnKey) {
-			return getX(key, columnKey);
-		}
-
-		@Override
-		public PropertyTable getTable() {
-			return PropertyTableHashMapImpl.this;
-		}
-
-		@Override
-		public Node getRowKey() {
-			return key;
-		}
-
-		@Override
-		public Collection<Column> getColumns() {
-			// TODO Auto-generated method stub
-			return PropertyTableHashMapImpl.this.getColumns();
-		}
-
-		@Override
-		public ExtendedIterator<Triple> getTripleIterator() {
-			ArrayList<Triple> triples = new ArrayList<Triple>();
-			for (Column column : getColumns()) {
-				Node value = this.getValue(column);
-				triples.add(Triple.create(key, column.getColumnKey(), value));
-			}
-			return WrappedIterator.create(triples.iterator());
-		}
-
-	}
-
-}
+/*
+ * 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.propertytable.impl;
+
+import java.util.* ;
+import java.util.Map.Entry;
+
+import org.apache.jena.atlas.iterator.Iter;
+import org.apache.jena.atlas.iterator.IteratorConcat;
+import org.apache.jena.ext.com.google.common.collect.HashMultimap;
+import org.apache.jena.ext.com.google.common.collect.SetMultimap ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.propertytable.Column;
+import org.apache.jena.propertytable.PropertyTable;
+import org.apache.jena.propertytable.Row;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.NullIterator ;
+import org.apache.jena.util.iterator.WrappedIterator ;
+
+/**
+ * A PropertyTable Implementation using HashMap.
+ * It contains PSO and POS indexes.
+ * 
+ */
+public class PropertyTableHashMapImpl implements PropertyTable {
+
+	private Map<Node, Column> columnIndex; // Maps property Node key to Column
+	private List<Column> columnList; // Stores the list of columns in the table
+	private Map<Node, Row> rowIndex; // Maps the subject Node key to Row.
+	private List<Row> rowList; // Stores the list of rows in the table
+
+	// PSO index
+	// Maps column Node to (subject Node, value) pairs
+	private Map<Node, Map<Node, Node>> valueIndex; 
+	// POS index
+	// Maps column Node to (value, subject Node) pairs
+	private Map<Node, SetMultimap<Node, Node>> valueReverseIndex; 
+
+	PropertyTableHashMapImpl() {
+		columnIndex = new HashMap<Node, Column>();
+		columnList = new ArrayList<Column>();
+		rowIndex = new HashMap<Node, Row>();
+		rowList = new ArrayList<Row>();
+		valueIndex = new HashMap<Node, Map<Node, Node>>();
+		valueReverseIndex = new HashMap<Node, SetMultimap<Node, Node>>();
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator() {
+		
+		// use PSO index to scan all the table (slow)
+		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
+		for (Column column : getColumns()) {
+			iter.add(getTripleIterator(column));
+		}
+		return WrappedIterator.create(Iter.distinct(iter));
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Column column) {
+		
+		// use PSO index directly (fast)
+		
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+		Map<Node, Node> values = valueIndex.get(column.getColumnKey());
+
+		for (Entry<Node, Node> entry : values.entrySet()) {
+			Node subject = entry.getKey();
+			Node value = entry.getValue();
+			triples.add(Triple.create(subject, column.getColumnKey(), value));
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Node value) {
+		
+		// use POS index ( O(n), n= column count )
+		
+		if (value == null)
+			throw new NullPointerException("value is null");
+		
+		IteratorConcat<Triple> iter = new IteratorConcat<Triple>();
+		for (Column column : this.getColumns()) {
+			ExtendedIterator<Triple> eIter = getTripleIterator(column,value);
+			iter.add(eIter);
+		}
+		return WrappedIterator.create(Iter.distinct(iter));
+	}
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Column column, Node value) {
+		
+		// use POS index directly (fast)
+		
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		if (value == null)
+			throw new NullPointerException("value is null");
+		
+		
+		Node p = column.getColumnKey();
+		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+		if ( valueToSubjectMap == null ) 
+		    return NullIterator.instance() ;
+		final Set<Node> subjects = valueToSubjectMap.get(value);
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+		for (Node subject : subjects) {
+		    triples.add(Triple.create(subject, p, value));
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+
+	@Override
+	public ExtendedIterator<Triple> getTripleIterator(Row row) {
+		// use PSO index ( O(n), n= column count )
+		
+		if (row == null || row.getRowKey() == null)
+			throw new NullPointerException("row is null");
+		
+		ArrayList<Triple> triples = new ArrayList<Triple>();
+		for (Column column : getColumns()) {
+			Node value = row.getValue(column);
+			triples.add(Triple.create(row.getRowKey(), column.getColumnKey(), value));
+		}
+		return WrappedIterator.create(triples.iterator());
+	}
+
+	@Override
+	public Collection<Column> getColumns() {
+		return columnList;
+	}
+
+	@Override
+	public Column getColumn(Node p) {
+		if (p == null)
+			throw new NullPointerException("column node is null");
+		return columnIndex.get(p);
+	}
+
+	@Override
+	public Column createColumn(Node p) {
+		if (p == null)
+			throw new NullPointerException("column node is null");
+
+		if (columnIndex.containsKey(p))
+			throw new IllegalArgumentException("column already exists: '"
+					+ p.toString());
+
+		columnIndex.put(p, new ColumnImpl(this, p));
+		columnList.add(columnIndex.get(p));
+		valueIndex.put(p, new HashMap<Node, Node>());
+		valueReverseIndex.put(p, HashMultimap.create());
+		return getColumn(p);
+	}
+
+	@Override
+	public Row getRow(final Node s) {
+		if (s == null)
+			throw new NullPointerException("subject node is null");
+		Row row = rowIndex.get(s);
+		return row;
+
+	}
+	
+	@Override
+	public Row createRow(final Node s){
+		Row row = this.getRow(s);
+		if (row != null)
+			return row;
+
+		row = new InternalRow(s);
+		rowIndex.put(s, row);
+		rowList.add(row);
+
+		return row;
+	}
+	
+	@Override
+	public List<Row> getAllRows() {
+		return rowList;
+	}
+
+	
+	
+	@Override
+	public List<Node> getColumnValues(Column column) {
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		Map<Node, Node> values = valueIndex.get(column.getColumnKey());
+
+		List<Node> list = new ArrayList<Node>(values.size());
+		list.addAll(values.values());
+		return list;
+	}
+	
+	@Override
+	public Collection<Row> getMatchingRows(Column column, Node value) {
+		if (column == null || column.getColumnKey() == null)
+			throw new NullPointerException("column is null");
+		
+		if (value == null)
+			throw new NullPointerException("value is null");
+		
+		
+		Node p = column.getColumnKey();
+		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+		if ( valueToSubjectMap == null )
+		    return Collections.emptyList() ;
+		final Set<Node> subjects = valueToSubjectMap.get(value);
+		if ( subjects == null )
+		    return Collections.emptyList() ;
+		final ArrayList<Row> matchingRows = new ArrayList<Row>();
+		for (Node subject : subjects) {
+		    matchingRows.add(this.getRow(subject));
+		}
+		return matchingRows;
+	}
+
+	private final void setX(final Node s, final Node p, final Node value) {
+		if (p == null)
+			throw new NullPointerException("column Node must not be null.");
+		if (value == null)
+			throw new NullPointerException("value must not be null.");
+
+		Map<Node, Node> subjectToValueMap = valueIndex.get(p);
+		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
+			throw new IllegalArgumentException("column: '" + p
+					+ "' does not yet exist.");
+
+		Node oldValue = subjectToValueMap.get(s);
+		subjectToValueMap.put(s, value);
+		addToReverseMap(p, s, oldValue, value);
+	}
+
+	private void addToReverseMap(final Node p, final Node s, final Node oldValue, final Node value) {
+
+		final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+		if ( valueToSubjectMap == null )
+            return ; 
+		valueToSubjectMap.remove(oldValue, s);
+		valueToSubjectMap.put(value, s);
+	}
+
+	private void unSetX(final Node s, final Node p) {
+
+		final Map<Node, Node> subjectToValueMap = valueIndex.get(p);
+		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
+			throw new IllegalArgumentException("column: '" + p
+					+ "' does not yet exist.");
+
+		final Node value = subjectToValueMap.get(s);
+		if (value == null)
+			return;
+
+		subjectToValueMap.remove(s);
+		removeFromReverseMap(p, s, value);
+	}
+
+	private void removeFromReverseMap(final Node p, final Node s,
+			final Node value) {
+		final SetMultimap<Node, Node> valueTokeysMap = valueReverseIndex.get(p);
+		if ( valueTokeysMap == null )
+		    return ;
+		valueTokeysMap.remove(s, value);
+	}
+
+	private Node getX(final Node s, final Node p) {
+		final Map<Node, Node> subjectToValueMap = valueIndex.get(p);
+		if (!columnIndex.containsKey(p) || subjectToValueMap == null)
+			throw new IllegalArgumentException("column: '" + p
+					+ "' does not yet exist.");
+		return subjectToValueMap.get(s);
+	}
+
+	private final class InternalRow implements Row {
+		private final Node key;
+
+		InternalRow(final Node key) {
+			this.key = key;
+		}
+
+		@Override
+		public void setValue(Column column, Node value) {
+			if (value == null)
+				unSetX(key, column.getColumnKey());
+			else
+				setX(key, column.getColumnKey(), value);
+		}
+
+		@Override
+		public Node getValue(Column column) {
+			return getX(key, column.getColumnKey());
+		}
+		
+		@Override
+		public Node getValue(Node columnKey) {
+			return getX(key, columnKey);
+		}
+
+		@Override
+		public PropertyTable getTable() {
+			return PropertyTableHashMapImpl.this;
+		}
+
+		@Override
+		public Node getRowKey() {
+			return key;
+		}
+
+		@Override
+		public Collection<Column> getColumns() {
+			// TODO Auto-generated method stub
+			return PropertyTableHashMapImpl.this.getColumns();
+		}
+
+		@Override
+		public ExtendedIterator<Triple> getTripleIterator() {
+			ArrayList<Triple> triples = new ArrayList<Triple>();
+			for (Column column : getColumns()) {
+				Node value = this.getValue(column);
+				triples.add(Triple.create(key, column.getColumnKey(), value));
+			}
+			return WrappedIterator.create(triples.iterator());
+		}
+
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/org/apache/jena/propertytable/lang/LangCSV.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/lang/LangCSV.java b/jena-csv/src/main/java/org/apache/jena/propertytable/lang/LangCSV.java
index bd2ff29..d816f46 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/lang/LangCSV.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/lang/LangCSV.java
@@ -1,154 +1,154 @@
-/**
- * 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.propertytable.lang;
-
-import java.io.InputStream ;
-import java.io.Reader ;
-import java.util.ArrayList ;
-import java.util.List ;
-
-import org.apache.jena.atlas.csv.CSVParser ;
-import org.apache.jena.atlas.lib.IRILib ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.RDFLanguages ;
-import org.apache.jena.riot.lang.LangRIOT ;
-import org.apache.jena.riot.system.* ;
-
-/**
- * The LangRIOT implementation for CSV
- *
- */
-public class LangCSV implements LangRIOT {
-
-    /** @deprecated Use {@linkplain CSV2RDF#init} */
-    @Deprecated
-    public static void register() { CSV2RDF.init() ; }
-    
-	public static final String CSV_PREFIX = "http://w3c/future-csv-vocab/";
-	public static final String CSV_ROW = CSV_PREFIX + "row";
-
-	private InputStream input = null;
-	private Reader reader = null;
-	private String base;
-	private String filename;
-	private StreamRDF sink;
-	private ParserProfile profile; // Warning - we don't use all of this.
-
-	@Override
-	public Lang getLang() {
-		return RDFLanguages.CSV;
-	}
-
-	@Override
-	public ParserProfile getProfile() {
-		return profile;
-	}
-
-	@Override
-	public void setProfile(ParserProfile profile) {
-		this.profile = profile;
-	}
-
-	public LangCSV(Reader reader, String base, String filename, ErrorHandler errorHandler, StreamRDF sink) {
-		this.reader = reader;
-		this.base = base;
-		this.filename = filename;
-		this.sink = sink;
-		this.profile = RiotLib.profile(getLang(), base, errorHandler);
-	}
-
-	public LangCSV(InputStream in, String base, String filename, ErrorHandler errorHandler, StreamRDF sink) {
-		this.input = in;
-		this.base = base;
-		this.filename = filename;
-		this.sink = sink;
-		this.profile = RiotLib.profile(getLang(), base, errorHandler);
-	}
-
-	@Override
-	public void parse() {
-		sink.start();
-		CSVParser parser = (input != null) ? CSVParser.create(input) : CSVParser.create(reader);
-		List<String> row = null;
-		ArrayList<Node> predicates = new ArrayList<Node>();
-		int rowNum = 0;
-		while ((row = parser.parse1()) != null) {
-			
-			if (rowNum == 0) {
-				for (String column : row) {
-					String uri = IRIResolver.resolveString(filename) + "#"
-							+ toSafeLocalname(column);
-					Node predicate = this.profile.createURI(uri, rowNum, 0);
-					predicates.add(predicate);
-				}
-			} else {
-				//Node subject = this.profile.createBlankNode(null, -1, -1);
-				Node subject = caculateSubject(rowNum, filename);
-				Node predicateRow = this.profile.createURI(CSV_ROW, -1, -1);
-				Node objectRow = this.profile
-						.createTypedLiteral((rowNum + ""),
-								XSDDatatype.XSDinteger, rowNum, 0);
-				sink.triple(this.profile.createTriple(subject, predicateRow,
-						objectRow, rowNum, 0));
-				for (int col = 0; col < row.size() && col<predicates.size(); col++) {
-					Node predicate = predicates.get(col);
-					String columnValue = row.get(col).trim();
-					if("".equals(columnValue)){
-						continue;
-					}					
-					Node o;
-					try {
-						// Try for a double.
-						double d = Double.parseDouble(columnValue);
-						o = NodeFactory.createLiteral(columnValue,
-								XSDDatatype.XSDdouble);
-					} catch (Exception e) {
-						o = NodeFactory.createLiteral(columnValue);
-					}
-					sink.triple(this.profile.createTriple(subject, predicate,
-							o, rowNum, col));
-				}
-
-			}
-			rowNum++;
-		}
-		sink.finish();
-
-	}
-
-	public static String toSafeLocalname(String raw) {
-		String ret = raw.trim();
-		return encodeURIComponent(ret);
-		
-	}
-	
-	public static String encodeURIComponent(String s) {
-	    return IRILib.encodeUriComponent(s);
-	}
-	
-	public static Node caculateSubject(int rowNum, String filename){
-		Node subject = NodeFactory.createBlankNode();
-//		String uri = IRIResolver.resolveString(filename) + "#Row_" + rowNum; 
-//		Node subject =  NodeFactory.createURI(uri);
-		return subject;
-	}
-}
+/**
+ * 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.propertytable.lang;
+
+import java.io.InputStream ;
+import java.io.Reader ;
+import java.util.ArrayList ;
+import java.util.List ;
+
+import org.apache.jena.atlas.csv.CSVParser ;
+import org.apache.jena.atlas.lib.IRILib ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.* ;
+
+/**
+ * The LangRIOT implementation for CSV
+ *
+ */
+public class LangCSV implements LangRIOT {
+
+    /** @deprecated Use {@linkplain CSV2RDF#init} */
+    @Deprecated
+    public static void register() { CSV2RDF.init() ; }
+    
+	public static final String CSV_PREFIX = "http://w3c/future-csv-vocab/";
+	public static final String CSV_ROW = CSV_PREFIX + "row";
+
+	private InputStream input = null;
+	private Reader reader = null;
+	private String base;
+	private String filename;
+	private StreamRDF sink;
+	private ParserProfile profile; // Warning - we don't use all of this.
+
+	@Override
+	public Lang getLang() {
+		return RDFLanguages.CSV;
+	}
+
+	@Override
+	public ParserProfile getProfile() {
+		return profile;
+	}
+
+	@Override
+	public void setProfile(ParserProfile profile) {
+		this.profile = profile;
+	}
+
+	public LangCSV(Reader reader, String base, String filename, ErrorHandler errorHandler, StreamRDF sink) {
+		this.reader = reader;
+		this.base = base;
+		this.filename = filename;
+		this.sink = sink;
+		this.profile = RiotLib.profile(getLang(), base, errorHandler);
+	}
+
+	public LangCSV(InputStream in, String base, String filename, ErrorHandler errorHandler, StreamRDF sink) {
+		this.input = in;
+		this.base = base;
+		this.filename = filename;
+		this.sink = sink;
+		this.profile = RiotLib.profile(getLang(), base, errorHandler);
+	}
+
+	@Override
+	public void parse() {
+		sink.start();
+		CSVParser parser = (input != null) ? CSVParser.create(input) : CSVParser.create(reader);
+		List<String> row = null;
+		ArrayList<Node> predicates = new ArrayList<Node>();
+		int rowNum = 0;
+		while ((row = parser.parse1()) != null) {
+			
+			if (rowNum == 0) {
+				for (String column : row) {
+					String uri = IRIResolver.resolveString(filename) + "#"
+							+ toSafeLocalname(column);
+					Node predicate = this.profile.createURI(uri, rowNum, 0);
+					predicates.add(predicate);
+				}
+			} else {
+				//Node subject = this.profile.createBlankNode(null, -1, -1);
+				Node subject = caculateSubject(rowNum, filename);
+				Node predicateRow = this.profile.createURI(CSV_ROW, -1, -1);
+				Node objectRow = this.profile
+						.createTypedLiteral((rowNum + ""),
+								XSDDatatype.XSDinteger, rowNum, 0);
+				sink.triple(this.profile.createTriple(subject, predicateRow,
+						objectRow, rowNum, 0));
+				for (int col = 0; col < row.size() && col<predicates.size(); col++) {
+					Node predicate = predicates.get(col);
+					String columnValue = row.get(col).trim();
+					if("".equals(columnValue)){
+						continue;
+					}					
+					Node o;
+					try {
+						// Try for a double.
+						double d = Double.parseDouble(columnValue);
+						o = NodeFactory.createLiteral(columnValue,
+								XSDDatatype.XSDdouble);
+					} catch (Exception e) {
+						o = NodeFactory.createLiteral(columnValue);
+					}
+					sink.triple(this.profile.createTriple(subject, predicate,
+							o, rowNum, col));
+				}
+
+			}
+			rowNum++;
+		}
+		sink.finish();
+
+	}
+
+	public static String toSafeLocalname(String raw) {
+		String ret = raw.trim();
+		return encodeURIComponent(ret);
+		
+	}
+	
+	public static String encodeURIComponent(String s) {
+	    return IRILib.encodeUriComponent(s);
+	}
+	
+	public static Node caculateSubject(int rowNum, String filename){
+		Node subject = NodeFactory.createBlankNode();
+//		String uri = IRIResolver.resolveString(filename) + "#Row_" + rowNum; 
+//		Node subject =  NodeFactory.createURI(uri);
+		return subject;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/main/java/riotcmdx/csv2rdf.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/riotcmdx/csv2rdf.java b/jena-csv/src/main/java/riotcmdx/csv2rdf.java
index eda3d8a..cd8929d 100644
--- a/jena-csv/src/main/java/riotcmdx/csv2rdf.java
+++ b/jena-csv/src/main/java/riotcmdx/csv2rdf.java
@@ -1,52 +1,52 @@
-/*
- * 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 riotcmdx;
-
-import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.atlas.web.ContentType ;
-import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.RDFLanguages ;
-import riotcmd.CmdLangParse ;
-
-/**
- * A command line tool for direct and scalable transforming from CSV to the formatted RDF syntax (i.e. N-Triples), 
- * with no intermediary Graph or PropertyTable.
- */
-public class csv2rdf extends CmdLangParse{
-	
-    public static void main(String... argv)
-    {
-        new csv2rdf(argv).mainRun() ;
-    }    
-    
-    protected csv2rdf(String[] argv)
-    {
-        super(argv) ;
-    }
-	
-	@Override
-	protected Lang selectLang(String filename, ContentType contentType, Lang dftLang) {
-		return RDFLanguages.CSV; 
-	}
-
-	@Override
-	protected String getCommandName() {
-		return Lib.classShortName(csv2rdf.class) ;
-	}
-}
+/*
+ * 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 riotcmdx;
+
+import org.apache.jena.atlas.lib.Lib ;
+import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import riotcmd.CmdLangParse ;
+
+/**
+ * A command line tool for direct and scalable transforming from CSV to the formatted RDF syntax (i.e. N-Triples), 
+ * with no intermediary Graph or PropertyTable.
+ */
+public class csv2rdf extends CmdLangParse{
+	
+    public static void main(String... argv)
+    {
+        new csv2rdf(argv).mainRun() ;
+    }    
+    
+    protected csv2rdf(String[] argv)
+    {
+        super(argv) ;
+    }
+	
+	@Override
+	protected Lang selectLang(String filename, ContentType contentType, Lang dftLang) {
+		return RDFLanguages.CSV; 
+	}
+
+	@Override
+	protected String getCommandName() {
+		return Lib.classShortName(csv2rdf.class) ;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractColumnTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractColumnTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractColumnTest.java
index a41161e..fed4517 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractColumnTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractColumnTest.java
@@ -1,79 +1,79 @@
-/*
- * 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.propertytable;
-
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Tests related to Column.
- *
- */
-public abstract class AbstractColumnTest extends BaseTest{
-
-
-	@Test(expected = NullPointerException.class)
-	public void testCreateColumnWithArgNull() {
-		table.createColumn(null);
-	}
-
-	@Test(expected = IllegalArgumentException.class)
-	public void testCreateListColumnWithAlreadyExistingCoulmnName() {
-		table.createColumn(URI("something"));
-		table.createColumn(URI("something"));
-	}
-	
-	@Test
-	public void testColumnCreate() {
-		table.createColumn(URI("something"));
-		Assert.assertEquals(1, table.getColumns().size());
-		Assert.assertTrue(collectionContains(table.getColumns(), URI("something")));
-	}
-	
-	@Test
-	public void testGetColumnValues() {
-		Column something = table.createColumn(URI("something"));
-		final Row row1 = table.createRow(NodeFactory.createBlankNode());
-		row1.setValue(something, URI("apple"));
-		final Row row2 = table.createRow(NodeFactory.createBlankNode());
-		row2.setValue(something, URI("orange"));
-		final List<Node> values = something.getValues();
-		Assert.assertTrue(values.size() == 2);
-		Assert.assertTrue(values.contains( URI("apple")));
-		Assert.assertTrue(values.contains(  URI("orange")));
-	}
-	
-	@Test
-	public void testGetColumn() {
-		table.createColumn(URI("something"));
-		Assert.assertNotNull(table.getColumn(URI("something")));
-		Assert.assertNull(table.getColumn( URI("nonExistentColumnName")));
-	}
-
-	@Test
-	public void testGetTable() {
-		Column something = table.createColumn(URI("something"));
-		Assert.assertEquals(table, something.getTable());
-	}
-
-}
+/*
+ * 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.propertytable;
+
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests related to Column.
+ *
+ */
+public abstract class AbstractColumnTest extends BaseTest{
+
+
+	@Test(expected = NullPointerException.class)
+	public void testCreateColumnWithArgNull() {
+		table.createColumn(null);
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void testCreateListColumnWithAlreadyExistingCoulmnName() {
+		table.createColumn(URI("something"));
+		table.createColumn(URI("something"));
+	}
+	
+	@Test
+	public void testColumnCreate() {
+		table.createColumn(URI("something"));
+		Assert.assertEquals(1, table.getColumns().size());
+		Assert.assertTrue(collectionContains(table.getColumns(), URI("something")));
+	}
+	
+	@Test
+	public void testGetColumnValues() {
+		Column something = table.createColumn(URI("something"));
+		final Row row1 = table.createRow(NodeFactory.createBlankNode());
+		row1.setValue(something, URI("apple"));
+		final Row row2 = table.createRow(NodeFactory.createBlankNode());
+		row2.setValue(something, URI("orange"));
+		final List<Node> values = something.getValues();
+		Assert.assertTrue(values.size() == 2);
+		Assert.assertTrue(values.contains( URI("apple")));
+		Assert.assertTrue(values.contains(  URI("orange")));
+	}
+	
+	@Test
+	public void testGetColumn() {
+		table.createColumn(URI("something"));
+		Assert.assertNotNull(table.getColumn(URI("something")));
+		Assert.assertNull(table.getColumn( URI("nonExistentColumnName")));
+	}
+
+	@Test
+	public void testGetTable() {
+		Column something = table.createColumn(URI("something"));
+		Assert.assertEquals(table, something.getTable());
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractPropertyTableTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractPropertyTableTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractPropertyTableTest.java
index 5209361..a9544f9 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractPropertyTableTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractPropertyTableTest.java
@@ -1,56 +1,56 @@
-/*
- * 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.propertytable;
-
-import java.util.Collection;
-
-import org.apache.jena.graph.NodeFactory ;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Tests related to PropertyTable.
- *
- */
-public abstract class AbstractPropertyTableTest extends AbstractRowTest{
-
-	@Test
-	public void testGetMatchingColumns() {
-		Column something = table.createColumn(URI("something") );
-		final Row row1 = table.createRow(NodeFactory.createBlankNode());
-		row1.setValue(something, URI("apple"));
-		final Row row2 = table.createRow(NodeFactory.createBlankNode());
-		row2.setValue(something, URI("orange"));
-		Collection<Row> matchingRows = table.getMatchingRows(something, URI("apple"));
-		Assert.assertTrue(matchingRows.size() == 1);
-		matchingRows = table.getMatchingRows(something, URI("banana"));
-		Assert.assertTrue(matchingRows.isEmpty());
-	}
-	
-	@Test
-	public void testGetAllRows() {
-		Assert.assertTrue(table.getAllRows().size() == 1);
-		table.createRow(NodeFactory.createBlankNode());
-		Assert.assertTrue(table.getAllRows().size() == 2);
-		table.createRow(NodeFactory.createBlankNode());
-		Assert.assertTrue(table.getAllRows().size() == 3);
-	}
-
-
-}
+/*
+ * 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.propertytable;
+
+import java.util.Collection;
+
+import org.apache.jena.graph.NodeFactory ;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests related to PropertyTable.
+ *
+ */
+public abstract class AbstractPropertyTableTest extends AbstractRowTest{
+
+	@Test
+	public void testGetMatchingColumns() {
+		Column something = table.createColumn(URI("something") );
+		final Row row1 = table.createRow(NodeFactory.createBlankNode());
+		row1.setValue(something, URI("apple"));
+		final Row row2 = table.createRow(NodeFactory.createBlankNode());
+		row2.setValue(something, URI("orange"));
+		Collection<Row> matchingRows = table.getMatchingRows(something, URI("apple"));
+		Assert.assertTrue(matchingRows.size() == 1);
+		matchingRows = table.getMatchingRows(something, URI("banana"));
+		Assert.assertTrue(matchingRows.isEmpty());
+	}
+	
+	@Test
+	public void testGetAllRows() {
+		Assert.assertTrue(table.getAllRows().size() == 1);
+		table.createRow(NodeFactory.createBlankNode());
+		Assert.assertTrue(table.getAllRows().size() == 2);
+		table.createRow(NodeFactory.createBlankNode());
+		Assert.assertTrue(table.getAllRows().size() == 3);
+	}
+
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractRowTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractRowTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractRowTest.java
index 3e16033..20598a9 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractRowTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/AbstractRowTest.java
@@ -1,105 +1,105 @@
-/*
- * 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.propertytable;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Tests related to Row.
- *
- */
-public abstract class AbstractRowTest extends AbstractColumnTest{
-
-	@Test
-	public void testAddRowValue() {
-
-		Column something = table.createColumn(URI("something"));
-		Column somethingElse = table.createColumn(URI("somethingElse"));
-
-		row.setValue(something, URI("apple"));
-		row.setValue(somethingElse, URI("orange"));
-
-		Assert.assertEquals(URI("apple"), row.getValue(something));
-		Assert.assertEquals(URI("orange"), row.getValue(somethingElse));
-	}
-	
-	@Test
-	public void testUnsetRowValue() {
-		Column something = table.createColumn(URI("something"));
-		row.setValue( something , URI("apple"));
-		Assert.assertEquals(URI("apple"), row.getValue(something));
-		row.setValue( something , null);
-		Assert.assertEquals(null, row.getValue(something));
-	}
-	
-	@Test(expected=NullPointerException.class)
-	public void testGetRowWithNullKey() {
-		table.getRow(null);
-	}
-	
-	@Test(expected = NullPointerException.class)
-	public void testAddValueToNotExistingColumn() {
-		row.setValue(table.getColumn(URI("something")), URI("apple"));
-	}
-	
-
-	
-	@Test(expected=IllegalArgumentException.class)
-	public void testGetListWithANonExistantColumn() {
-		Assert.assertNull(row.getValue( NodeFactory.createBlankNode() ));
-	}
-	
-	@Test
-	public void testGetListWithAnMissingRowValue() {
-		Column something = table.createColumn(URI("something"));
-		Assert.assertNull(row.getValue(something));
-	}
-
-    @Test
-    public void testGetValue() {
-    	Column something = table.createColumn(URI("something"));
-        row.setValue(something, URI("apple"));
-        Node value = row.getValue(something);
-        Assert.assertEquals(URI("apple"), value);
-    }
-    
-    @Test
-    public void testRowExistsFalse(){
-    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
-    }
-    
-    @Test
-    public void testRowExistsTrue() {
-		Assert.assertNotNull(table.getRow(rowSubject));
-    }
-
-    @Test
-    public void testGetRowFalseAndDoesntCreateRow() {
-    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
-    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
-    }
-    
-    @Test(expected=IllegalArgumentException.class)
-	public void testGetValueBeforeColumnExists() {
-		row.getValue(URI("nonexistentColumnX"));
-	}
-}
+/*
+ * 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.propertytable;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests related to Row.
+ *
+ */
+public abstract class AbstractRowTest extends AbstractColumnTest{
+
+	@Test
+	public void testAddRowValue() {
+
+		Column something = table.createColumn(URI("something"));
+		Column somethingElse = table.createColumn(URI("somethingElse"));
+
+		row.setValue(something, URI("apple"));
+		row.setValue(somethingElse, URI("orange"));
+
+		Assert.assertEquals(URI("apple"), row.getValue(something));
+		Assert.assertEquals(URI("orange"), row.getValue(somethingElse));
+	}
+	
+	@Test
+	public void testUnsetRowValue() {
+		Column something = table.createColumn(URI("something"));
+		row.setValue( something , URI("apple"));
+		Assert.assertEquals(URI("apple"), row.getValue(something));
+		row.setValue( something , null);
+		Assert.assertEquals(null, row.getValue(something));
+	}
+	
+	@Test(expected=NullPointerException.class)
+	public void testGetRowWithNullKey() {
+		table.getRow(null);
+	}
+	
+	@Test(expected = NullPointerException.class)
+	public void testAddValueToNotExistingColumn() {
+		row.setValue(table.getColumn(URI("something")), URI("apple"));
+	}
+	
+
+	
+	@Test(expected=IllegalArgumentException.class)
+	public void testGetListWithANonExistantColumn() {
+		Assert.assertNull(row.getValue( NodeFactory.createBlankNode() ));
+	}
+	
+	@Test
+	public void testGetListWithAnMissingRowValue() {
+		Column something = table.createColumn(URI("something"));
+		Assert.assertNull(row.getValue(something));
+	}
+
+    @Test
+    public void testGetValue() {
+    	Column something = table.createColumn(URI("something"));
+        row.setValue(something, URI("apple"));
+        Node value = row.getValue(something);
+        Assert.assertEquals(URI("apple"), value);
+    }
+    
+    @Test
+    public void testRowExistsFalse(){
+    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
+    }
+    
+    @Test
+    public void testRowExistsTrue() {
+		Assert.assertNotNull(table.getRow(rowSubject));
+    }
+
+    @Test
+    public void testGetRowFalseAndDoesntCreateRow() {
+    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
+    	Assert.assertNull(table.getRow(NodeFactory.createBlankNode()));
+    }
+    
+    @Test(expected=IllegalArgumentException.class)
+	public void testGetValueBeforeColumnExists() {
+		row.getValue(URI("nonexistentColumnX"));
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/BaseTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/BaseTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/BaseTest.java
index 8e36236..f0f6093 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/BaseTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/BaseTest.java
@@ -1,47 +1,47 @@
-/*
- * 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.propertytable;
-
-import java.util.Collection;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-
-public abstract class BaseTest {
-	protected PropertyTable table;
-	protected PropertyTable table2;
-	protected Row row;
-	private static final String ns = "eh:foo/bar#";
-	protected static final Node rowSubject = URI("rowSubject");
-	protected static final String csvFilePath = "src/test/resources/test.csv";
-	
-	
-	protected static Node URI(String localName) {
-		return NodeFactory.createURI(ns + localName);
-	}
-	
-	protected static boolean collectionContains(
-			final Collection<Column> columns, final Node columnkey) {
-		for (final Column column : columns) {
-			if (column.getColumnKey().equals(columnkey))
-				return true;
-		}
-		return false;
-	}
-}
+/*
+ * 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.propertytable;
+
+import java.util.Collection;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+
+public abstract class BaseTest {
+	protected PropertyTable table;
+	protected PropertyTable table2;
+	protected Row row;
+	private static final String ns = "eh:foo/bar#";
+	protected static final Node rowSubject = URI("rowSubject");
+	protected static final String csvFilePath = "src/test/resources/test.csv";
+	
+	
+	protected static Node URI(String localName) {
+		return NodeFactory.createURI(ns + localName);
+	}
+	
+	protected static boolean collectionContains(
+			final Collection<Column> columns, final Node columnkey) {
+		for (final Column column : columns) {
+			if (column.getColumnKey().equals(columnkey))
+				return true;
+		}
+		return false;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/TS_PropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/TS_PropertyTable.java b/jena-csv/src/test/java/org/apache/jena/propertytable/TS_PropertyTable.java
index 084365d..d6a0d2a 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/TS_PropertyTable.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/TS_PropertyTable.java
@@ -1,42 +1,42 @@
-/*
- * 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.propertytable;
-
-import org.apache.jena.propertytable.graph.GraphCSVTest;
-import org.apache.jena.propertytable.impl.PropertyTableArrayImplTest;
-import org.apache.jena.propertytable.impl.PropertyTableBuilderForArrayImplTest;
-import org.apache.jena.propertytable.impl.PropertyTableBuilderForHashMapImplTest;
-import org.apache.jena.propertytable.impl.PropertyTableHashMapImplTest;
-import org.apache.jena.propertytable.lang.TestLangCSV;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses( {
-	PropertyTableArrayImplTest.class,
-	PropertyTableHashMapImplTest.class,
-	GraphCSVTest.class,
-	PropertyTableBuilderForArrayImplTest.class,
-	PropertyTableBuilderForHashMapImplTest.class,
-	TestLangCSV.class
-})
-public class TS_PropertyTable {
-
-}
+/*
+ * 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.propertytable;
+
+import org.apache.jena.propertytable.graph.GraphCSVTest;
+import org.apache.jena.propertytable.impl.PropertyTableArrayImplTest;
+import org.apache.jena.propertytable.impl.PropertyTableBuilderForArrayImplTest;
+import org.apache.jena.propertytable.impl.PropertyTableBuilderForHashMapImplTest;
+import org.apache.jena.propertytable.impl.PropertyTableHashMapImplTest;
+import org.apache.jena.propertytable.lang.TestLangCSV;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses( {
+	PropertyTableArrayImplTest.class,
+	PropertyTableHashMapImplTest.class,
+	GraphCSVTest.class,
+	PropertyTableBuilderForArrayImplTest.class,
+	PropertyTableBuilderForHashMapImplTest.class,
+	TestLangCSV.class
+})
+public class TS_PropertyTable {
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/graph/GraphCSVTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/graph/GraphCSVTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/graph/GraphCSVTest.java
index b81f37f..2534287 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/graph/GraphCSVTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/graph/GraphCSVTest.java
@@ -1,154 +1,154 @@
-/*
- * 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.propertytable.graph;
-
-import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.propertytable.lang.CSV2RDF ;
-import org.apache.jena.query.* ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.sparql.engine.main.StageBuilder ;
-import org.apache.jena.sparql.engine.main.StageGenerator ;
-import org.junit.Assert ;
-import org.junit.BeforeClass ;
-import org.junit.Test ;
-
-/**
- * Tests related to GraphCSV with some real world data.
- */
-public class GraphCSVTest extends Assert {
-	
-	@BeforeClass
-	public static void init(){
-		CSV2RDF.init() ;
-	}
-	
-	@Test
-	public void testGraphCSV() {
-		//String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";test.csv
-		String file = "src/test/resources/test.csv";
-		
-		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
-		assertEquals(12, csv.size());
-
-		Query query = QueryFactory
-				.create("PREFIX : <src/test/resources/test.csv#> SELECT ?townName ?pop {?x :Town ?townName ; :Population ?pop ; :Predicate%20With%20Space 'PredicateWithSpace2' . FILTER(?pop > 500000)}");
-		
-		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
-		ResultSet results = qexec.execSelect();
-		
-		assertTrue(results.hasNext());
-		QuerySolution soln = results.nextSolution();
-		assertEquals( "Northville", soln.getLiteral("townName").getString());
-		assertTrue( 654000 == soln.getLiteral("pop").getInt());
-		
-		assertFalse(results.hasNext());
-	}
-	
-	@Test 
-	public void stageGeneratorTest(){
-		wireIntoExecution();
-		testGraphCSV();
-	}
-	
-    private static void wireIntoExecution() {
-        StageGenerator orig = (StageGenerator)ARQ.getContext().get(ARQ.stageGenerator) ;
-        StageGenerator stageGenerator = new StageGeneratorPropertyTable(orig) ;
-        StageBuilder.setGenerator(ARQ.getContext(), stageGenerator) ;
-    }
-	
-	//http://www.w3.org/TR/csvw-ucr/#UC-OrganogramData
-	//2.4 Use Case #4 - Publication of public sector roles and salaries
-	@Test
-	public void testUseCase4(){
-		String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";
-		
-		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
-		assertEquals(72, csv.size());
-
-		String x = StrUtils.strjoinNL
-		    ("PREFIX : <src/test/resources/HEFCE_organogram_senior_data_31032011.csv#>"
-		    ,"SELECT ?name ?unit"
-		    ,"{ ?x :Name ?name ;"
-		    ,"     :Unit ?unit ;"
-		    ,"     :Actual%20Pay%20Floor%20%28%A3%29 ?floor ;"
-		    ,"     :Actual%20Pay%20Ceiling%20%28%A3%29 ?ceiling ."
-		    ,"FILTER(?floor > 100000 && ?ceiling <120000 )"
-		    ,"}");
-		
-		Query query = QueryFactory.create(x) ;
-		
-		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
-		ResultSet results = qexec.execSelect();
-		
-		assertTrue(results.hasNext());
-		QuerySolution soln = results.nextSolution();
-		assertEquals( "David Sweeney", soln.getLiteral("name").getString());
-		assertEquals( "Research, Innovation and Skills", soln.getLiteral("unit").getString());
-		
-		assertFalse(results.hasNext());
-	}
-	
-	
-	//http://www.w3.org/TR/csvw-ucr/#UC-JournalArticleSearch
-	//2.6 Use Case #6 - Journal Article Solr Search Results
-	@Test
-	public void testUseCase6(){
-		String file = "src/test/resources/PLOSone-search-results.csv";
-		
-		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
-		assertEquals(30, csv.size());
-
-		Query query = QueryFactory
-				.create("PREFIX : <src/test/resources/PLOSone-search-results.csv#> SELECT ?author {?x :author ?author ; :doi '10.1371/journal.pone.0095156' }");
-		
-		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
-		ResultSet results = qexec.execSelect();
-		
-		assertTrue(results.hasNext());
-		QuerySolution soln = results.nextSolution();
-		assertEquals( "Oshrat Raz,Dorit L Lev,Alexander Battler,Eli I Lev", soln.getLiteral("author").getString());
-		
-		assertFalse(results.hasNext());
-	}
-	
-	//http://www.w3.org/TR/csvw-ucr/#UC-PaloAltoTreeData
-	//2.11 Use Case #11 - City of Palo Alto Tree Data
-	@Test
-	public void testUseCase11(){
-		String file = "src/test/resources/Palo_Alto_Trees.csv";
-		
-		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
-		assertEquals(199, csv.size());
-
-		Query query = QueryFactory
-				.create("PREFIX : <src/test/resources/Palo_Alto_Trees.csv#> SELECT ?longitude ?latitude {?x :Longitude ?longitude ; :Latitude ?latitude ; :Distance%20from%20Property ?distance . FILTER(?distance > 50 )}");
-		
-		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
-		ResultSet results = qexec.execSelect();
-		
-		assertTrue(results.hasNext());
-		QuerySolution soln = results.nextSolution();
-		assertEquals( -122.1566921, soln.getLiteral("longitude").getDouble(), 0);
-		assertEquals( 37.4408948, soln.getLiteral("latitude").getDouble(), 0);
-		
-		assertFalse(results.hasNext());
-	}
-
-}
+/*
+ * 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.propertytable.graph;
+
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.propertytable.lang.CSV2RDF ;
+import org.apache.jena.query.* ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.sparql.engine.main.StageBuilder ;
+import org.apache.jena.sparql.engine.main.StageGenerator ;
+import org.junit.Assert ;
+import org.junit.BeforeClass ;
+import org.junit.Test ;
+
+/**
+ * Tests related to GraphCSV with some real world data.
+ */
+public class GraphCSVTest extends Assert {
+	
+	@BeforeClass
+	public static void init(){
+		CSV2RDF.init() ;
+	}
+	
+	@Test
+	public void testGraphCSV() {
+		//String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";test.csv
+		String file = "src/test/resources/test.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(12, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/test.csv#> SELECT ?townName ?pop {?x :Town ?townName ; :Population ?pop ; :Predicate%20With%20Space 'PredicateWithSpace2' . FILTER(?pop > 500000)}");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( "Northville", soln.getLiteral("townName").getString());
+		assertTrue( 654000 == soln.getLiteral("pop").getInt());
+		
+		assertFalse(results.hasNext());
+	}
+	
+	@Test 
+	public void stageGeneratorTest(){
+		wireIntoExecution();
+		testGraphCSV();
+	}
+	
+    private static void wireIntoExecution() {
+        StageGenerator orig = (StageGenerator)ARQ.getContext().get(ARQ.stageGenerator) ;
+        StageGenerator stageGenerator = new StageGeneratorPropertyTable(orig) ;
+        StageBuilder.setGenerator(ARQ.getContext(), stageGenerator) ;
+    }
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-OrganogramData
+	//2.4 Use Case #4 - Publication of public sector roles and salaries
+	@Test
+	public void testUseCase4(){
+		String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(72, csv.size());
+
+		String x = StrUtils.strjoinNL
+		    ("PREFIX : <src/test/resources/HEFCE_organogram_senior_data_31032011.csv#>"
+		    ,"SELECT ?name ?unit"
+		    ,"{ ?x :Name ?name ;"
+		    ,"     :Unit ?unit ;"
+		    ,"     :Actual%20Pay%20Floor%20%28%A3%29 ?floor ;"
+		    ,"     :Actual%20Pay%20Ceiling%20%28%A3%29 ?ceiling ."
+		    ,"FILTER(?floor > 100000 && ?ceiling <120000 )"
+		    ,"}");
+		
+		Query query = QueryFactory.create(x) ;
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( "David Sweeney", soln.getLiteral("name").getString());
+		assertEquals( "Research, Innovation and Skills", soln.getLiteral("unit").getString());
+		
+		assertFalse(results.hasNext());
+	}
+	
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-JournalArticleSearch
+	//2.6 Use Case #6 - Journal Article Solr Search Results
+	@Test
+	public void testUseCase6(){
+		String file = "src/test/resources/PLOSone-search-results.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(30, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/PLOSone-search-results.csv#> SELECT ?author {?x :author ?author ; :doi '10.1371/journal.pone.0095156' }");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( "Oshrat Raz,Dorit L Lev,Alexander Battler,Eli I Lev", soln.getLiteral("author").getString());
+		
+		assertFalse(results.hasNext());
+	}
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-PaloAltoTreeData
+	//2.11 Use Case #11 - City of Palo Alto Tree Data
+	@Test
+	public void testUseCase11(){
+		String file = "src/test/resources/Palo_Alto_Trees.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(199, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/Palo_Alto_Trees.csv#> SELECT ?longitude ?latitude {?x :Longitude ?longitude ; :Latitude ?latitude ; :Distance%20from%20Property ?distance . FILTER(?distance > 50 )}");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( -122.1566921, soln.getLiteral("longitude").getDouble(), 0);
+		assertEquals( 37.4408948, soln.getLiteral("latitude").getDouble(), 0);
+		
+		assertFalse(results.hasNext());
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-csv/src/test/java/org/apache/jena/propertytable/impl/AbstractPropertyTableBuilderTest.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/AbstractPropertyTableBuilderTest.java b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/AbstractPropertyTableBuilderTest.java
index a00d3fd..9100096 100644
--- a/jena-csv/src/test/java/org/apache/jena/propertytable/impl/AbstractPropertyTableBuilderTest.java
+++ b/jena-csv/src/test/java/org/apache/jena/propertytable/impl/AbstractPropertyTableBuilderTest.java
@@ -1,138 +1,138 @@
-/*
- * 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.propertytable.impl;
-
-import java.io.StringReader ;
-
-import org.apache.jena.atlas.csv.CSVParser ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.propertytable.BaseTest ;
-import org.apache.jena.propertytable.Row ;
-import org.junit.Assert ;
-import org.junit.Test ;
-
-
-/**
- * Tests related to PropertyTableBuilder, or more explicitly for the CSV parser in the current release.
- *
- */
-public abstract class AbstractPropertyTableBuilderTest extends BaseTest {
-
-	@Test
-	public void testFillPropertyTable() {
-		CSVParser iterator = csv("a,b\nc,d\ne,f");
-		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
-
-		Assert.assertEquals(3, table.getColumns().size());
-		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
-		containsColumn("a");
-		containsColumn("b");
-
-		Assert.assertEquals(2, table.getAllRows().size());
-		containsValue(0, "a", "c");
-		containsValue(0, "b", "d");
-
-		containsValue(1, "a", "e");
-		containsValue(1, "b", "f");
-
-	}
-
-	@Test
-	public void testIrregularTable1() {
-		CSVParser iterator = csv("a,b\nc\ne,f");
-		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
-
-		Assert.assertEquals(3, table.getColumns().size());
-		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
-		containsColumn("a");
-		containsColumn("b");
-
-		Assert.assertEquals(2, table.getAllRows().size());
-		containsValue(0, "a", "c");
-		nullValue(0, "b");
-
-		containsValue(1, "a", "e");
-		containsValue(1, "b", "f");
-	}
-
-	@Test
-	public void testIrregularTable2() {
-		CSVParser iterator = csv("a,b\nc,d1,d2\ne,f");
-		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
-
-		Assert.assertEquals(3, table.getColumns().size());
-		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
-		containsColumn("a");
-		containsColumn("b");
-
-		Assert.assertEquals(2, table.getAllRows().size());
-		containsValue(0, "a", "c");
-		containsValue(0, "b", "d1");
-
-		containsValue(1, "a", "e");
-		containsValue(1, "b", "f");
-	}
-
-	@Test
-	public void testIrregularTable3() {
-		CSVParser iterator = csv("a,b\n,d\ne,f");
-		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
-
-		Assert.assertEquals(3, table.getColumns().size());
-		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
-		containsColumn("a");
-		containsColumn("b");
-
-		Assert.assertEquals(2, table.getAllRows().size());
-		nullValue(0, "a");
-		containsValue(0, "b", "d");
-
-		containsValue(1, "a", "e");
-		containsValue(1, "b", "f");
-	}
-
-	private void nullValue(int rowIndex, String column) {
-		Row row = table.getAllRows().get(rowIndex);
-		Node v = row.getValue(NodeFactory.createURI(getColumnKey(column)));
-		Assert.assertEquals(null, v);
-	}
-
-	private void containsValue(int rowIndex, String column, String value) {
-		Row row = table.getAllRows().get(rowIndex);
-		Node v = row.getValue(NodeFactory.createURI(getColumnKey(column)));
-		Assert.assertEquals(value, v.getLiteralValue());
-	}
-
-	private String getColumnKey(String column) {
-		return PropertyTableBuilder.createColumnKeyURI(csvFilePath, column);
-	}
-
-	private void containsColumn(String column) {
-		containsColumn(NodeFactory.createURI(getColumnKey(column)));
-	}
-
-	private void containsColumn(Node columnKey) {
-		Assert.assertTrue(collectionContains(table.getColumns(), columnKey));
-	}
-
-	private CSVParser csv(String input) {
-	    return CSVParser.create(new StringReader(input));
-	}
-}
+/*
+ * 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.propertytable.impl;
+
+import java.io.StringReader ;
+
+import org.apache.jena.atlas.csv.CSVParser ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.propertytable.BaseTest ;
+import org.apache.jena.propertytable.Row ;
+import org.junit.Assert ;
+import org.junit.Test ;
+
+
+/**
+ * Tests related to PropertyTableBuilder, or more explicitly for the CSV parser in the current release.
+ *
+ */
+public abstract class AbstractPropertyTableBuilderTest extends BaseTest {
+
+	@Test
+	public void testFillPropertyTable() {
+		CSVParser iterator = csv("a,b\nc,d\ne,f");
+		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
+
+		Assert.assertEquals(3, table.getColumns().size());
+		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
+		containsColumn("a");
+		containsColumn("b");
+
+		Assert.assertEquals(2, table.getAllRows().size());
+		containsValue(0, "a", "c");
+		containsValue(0, "b", "d");
+
+		containsValue(1, "a", "e");
+		containsValue(1, "b", "f");
+
+	}
+
+	@Test
+	public void testIrregularTable1() {
+		CSVParser iterator = csv("a,b\nc\ne,f");
+		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
+
+		Assert.assertEquals(3, table.getColumns().size());
+		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
+		containsColumn("a");
+		containsColumn("b");
+
+		Assert.assertEquals(2, table.getAllRows().size());
+		containsValue(0, "a", "c");
+		nullValue(0, "b");
+
+		containsValue(1, "a", "e");
+		containsValue(1, "b", "f");
+	}
+
+	@Test
+	public void testIrregularTable2() {
+		CSVParser iterator = csv("a,b\nc,d1,d2\ne,f");
+		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
+
+		Assert.assertEquals(3, table.getColumns().size());
+		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
+		containsColumn("a");
+		containsColumn("b");
+
+		Assert.assertEquals(2, table.getAllRows().size());
+		containsValue(0, "a", "c");
+		containsValue(0, "b", "d1");
+
+		containsValue(1, "a", "e");
+		containsValue(1, "b", "f");
+	}
+
+	@Test
+	public void testIrregularTable3() {
+		CSVParser iterator = csv("a,b\n,d\ne,f");
+		PropertyTableBuilder.fillPropertyTable(table, iterator, csvFilePath);
+
+		Assert.assertEquals(3, table.getColumns().size());
+		containsColumn(PropertyTableBuilder.CSV_ROW_NODE);
+		containsColumn("a");
+		containsColumn("b");
+
+		Assert.assertEquals(2, table.getAllRows().size());
+		nullValue(0, "a");
+		containsValue(0, "b", "d");
+
+		containsValue(1, "a", "e");
+		containsValue(1, "b", "f");
+	}
+
+	private void nullValue(int rowIndex, String column) {
+		Row row = table.getAllRows().get(rowIndex);
+		Node v = row.getValue(NodeFactory.createURI(getColumnKey(column)));
+		Assert.assertEquals(null, v);
+	}
+
+	private void containsValue(int rowIndex, String column, String value) {
+		Row row = table.getAllRows().get(rowIndex);
+		Node v = row.getValue(NodeFactory.createURI(getColumnKey(column)));
+		Assert.assertEquals(value, v.getLiteralValue());
+	}
+
+	private String getColumnKey(String column) {
+		return PropertyTableBuilder.createColumnKeyURI(csvFilePath, column);
+	}
+
+	private void containsColumn(String column) {
+		containsColumn(NodeFactory.createURI(getColumnKey(column)));
+	}
+
+	private void containsColumn(Node columnKey) {
+		Assert.assertTrue(collectionContains(table.getColumns(), columnKey));
+	}
+
+	private CSVParser csv(String input) {
+	    return CSVParser.create(new StringReader(input));
+	}
+}


[23/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java b/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
index 0f07a2a..d3a6250 100644
--- a/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
+++ b/jena-arq/src/test/java/org/apache/jena/query/TestParameterizedSparqlString.java
@@ -1,1881 +1,1881 @@
-/**
- * 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.query;
-
-import java.util.Calendar ;
-import java.util.Iterator ;
-import java.util.TimeZone ;
-
-import org.apache.jena.datatypes.TypeMapper ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.iri.IRIFactory ;
-import org.apache.jena.rdf.model.* ;
-import org.apache.jena.shared.impl.PrefixMappingImpl ;
-import org.apache.jena.sparql.ARQException ;
-import org.apache.jena.sparql.syntax.Element ;
-import org.apache.jena.sparql.syntax.ElementGroup ;
-import org.apache.jena.sparql.syntax.ElementTriplesBlock ;
-import org.apache.jena.update.UpdateExecutionFactory ;
-import org.apache.jena.update.UpdateProcessor ;
-import org.apache.jena.update.UpdateRequest ;
-import org.apache.jena.vocabulary.OWL ;
-import org.apache.jena.vocabulary.RDF ;
-import org.apache.jena.vocabulary.XSD ;
-import org.junit.Assert ;
-import org.junit.Test ;
-
-/**
- * Tests for the {@link ParameterizedSparqlString}
- * 
- */
-public class TestParameterizedSparqlString {
-
-    private void test(ParameterizedSparqlString query, String[] expected, String[] notExpected) {
-        // System.out.println("Raw Command:");
-        // System.out.println(query.getCommandText());
-        String command = query.toString();
-        // System.out.println("Injected Command:");
-        // System.out.println(command);
-        for (String x : expected) {
-            Assert.assertTrue(command.contains(x));
-        }
-        for (String x : notExpected) {
-            Assert.assertFalse(command.contains(x));
-        }
-    }
-
-    private Query testAsQuery(ParameterizedSparqlString query) {
-        return query.asQuery();
-    }
-
-    private UpdateRequest testAsUpdate(ParameterizedSparqlString update) {
-        return update.asUpdate();
-    }
-
-    @Test
-    public void test_param_string_constructor_1() {
-        // Test empty constructor
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        Assert.assertEquals("", query.getCommandText());
-    }
-
-    @Test
-    public void test_param_string_constructor_2() {
-        // Test constructor with null command - null command should map to empty
-        // command automagically
-        ParameterizedSparqlString query = new ParameterizedSparqlString((String) null);
-        Assert.assertEquals("", query.getCommandText());
-    }
-
-    @Test
-    public void test_param_string_constructor_3() {
-        // Test constructor with base URI
-        ParameterizedSparqlString query = new ParameterizedSparqlString("", "http://example.org");
-        Assert.assertEquals("http://example.org", query.getBaseUri());
-    }
-
-    @Test
-    public void test_param_string_constructor_4() {
-        // Test constructor with predefined parameters
-        QuerySolutionMap map = new QuerySolutionMap();
-        Resource r = ResourceFactory.createResource("http://example.org");
-        map.add("s", r);
-        ParameterizedSparqlString query = new ParameterizedSparqlString("", map);
-
-        Assert.assertEquals(r.asNode(), query.getParam("s"));
-    }
-
-    @Test
-    public void test_param_string_constructor_5() {
-        // Test constructor with predefined parameters - variant of constructor
-        // that does not require command text
-        QuerySolutionMap map = new QuerySolutionMap();
-        Resource r = ResourceFactory.createResource("http://example.org");
-        map.add("s", r);
-        ParameterizedSparqlString query = new ParameterizedSparqlString(map);
-
-        Assert.assertEquals(r.asNode(), query.getParam("s"));
-    }
-
-    @Test
-    public void test_param_string_constructor_6() {
-        // Test constructor with predefined parameters
-        QuerySolutionMap map = new QuerySolutionMap();
-        Resource r = ResourceFactory.createResource("http://example.org");
-        map.add("s", r);
-        Literal l = ResourceFactory.createPlainLiteral("example");
-        map.add("o", l);
-        ParameterizedSparqlString query = new ParameterizedSparqlString("", map);
-
-        Assert.assertEquals(r.asNode(), query.getParam("s"));
-        Assert.assertEquals(l.asNode(), query.getParam("o"));
-    }
-
-    @Test
-    public void test_param_string_constructor_7() {
-        // Test constructor with predefined parameters - variant of constructor
-        // that does not require command text
-        QuerySolutionMap map = new QuerySolutionMap();
-        Resource r = ResourceFactory.createResource("http://example.org");
-        map.add("s", r);
-        Literal l = ResourceFactory.createPlainLiteral("example");
-        map.add("o", l);
-        ParameterizedSparqlString query = new ParameterizedSparqlString(map);
-
-        Assert.assertEquals(r.asNode(), query.getParam("s"));
-        Assert.assertEquals(l.asNode(), query.getParam("o"));
-    }
-
-    @Test
-    public void test_param_string_constructor_8() {
-        // Test constructors with predefined prefixes
-        PrefixMappingImpl prefixes = new PrefixMappingImpl();
-        prefixes.setNsPrefix("ex", "http://example.org");
-        ParameterizedSparqlString query = new ParameterizedSparqlString("", prefixes);
-
-        Assert.assertEquals(prefixes.getNsPrefixURI("ex"), query.getNsPrefixURI("ex"));
-    }
-
-    @Test
-    public void test_param_string_constructor_9() {
-        // Test constructors with predefined prefixes - variant of constructor
-        // that does not require command text
-        PrefixMappingImpl prefixes = new PrefixMappingImpl();
-        prefixes.setNsPrefix("ex", "http://example.org");
-        ParameterizedSparqlString query = new ParameterizedSparqlString(prefixes);
-
-        Assert.assertEquals(prefixes.getNsPrefixURI("ex"), query.getNsPrefixURI("ex"));
-    }
-
-    @Test
-    public void test_param_string_iri_1() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "?s" });
-    }
-
-    @Test
-    public void test_param_string_iri_2() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("p", "http://example.org");
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "?p" });
-    }
-
-    @Test
-    public void test_param_string_iri_3() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("o", "http://example.org");
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "?o" });
-    }
-
-    @Test
-    public void test_param_string_iri_4() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . ?s a ?type }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "?s" });
-    }
-
-    @Test
-    public void test_param_string_iri_5() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-
-        test(query, new String[] { "<http://example.org>", "<http://predicate>" }, new String[] { "?s", "?p" });
-    }
-
-    @Test
-    public void test_param_string_bnode_1() {
-        // Test Blank Node injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "_:blankNodeID");
-
-        test(query, new String[] { "<_:blankNodeID>" }, new String[] { "?s" });
-    }
-
-    @Test
-    public void test_param_string_bnode_2() {
-        // Test Blank Node injenction
-        String cmdText = "INSERT { GRAPH <target> { ?node a:p ?o . } } WHERE { ?node a:p ?o . }";
-        ParameterizedSparqlString update = new ParameterizedSparqlString(cmdText);
-        update.setIri("node", "_:blankNodeID");
-
-        test(update, new String[] { "<_:blankNodeID>" }, new String[] { "?node" });
-    }
-
-    @Test
-    public void test_param_string_bnode_3() {
-        // Test case related to treatment of blank nodes when injecting into
-        // SPARQL updates using _: syntax
-
-        Model model = ModelFactory.createDefaultModel();
-        Resource bnode = model.createResource();
-        bnode.addProperty(RDF.type, OWL.Thing);
-        Assert.assertEquals(1, model.size());
-
-        Dataset ds = DatasetFactory.create(model);
-
-        // Use a parameterized query to check the data can be found
-        ParameterizedSparqlString pq = new ParameterizedSparqlString();
-        pq.setCommandText("SELECT * WHERE { ?s ?p ?o }");
-        pq.setIri("s", "_:" + bnode.getId());
-        Query q = pq.asQuery();
-        try(QueryExecution qe = QueryExecutionFactory.create(q, ds)) {
-            ResultSet rset = qe.execSelect();
-            Assert.assertEquals(1, ResultSetFormatter.consume(rset));
-        }
-
-        // Use a parameterized update to modify the data
-        ParameterizedSparqlString s = new ParameterizedSparqlString();
-        s.setCommandText("INSERT { ?o ?p ?s } WHERE { ?s ?p ?o }");
-        s.setIri("s", "_:" + bnode.getId());
-        UpdateRequest query = s.asUpdate();
-        UpdateProcessor proc = UpdateExecutionFactory.create(query, ds);
-        proc.execute();
-
-        // This should be true because this was present in the intial model set
-        // up
-        Assert.assertEquals(1, model.listStatements(bnode, null, (RDFNode) null).toList().size());
-        // This should return 0 because the INSERT should result in a new blank
-        // node being created rather than the existing one being reused becaue
-        // of the semantics of blank nodes usage in templates
-        Assert.assertEquals(0, model.listStatements(null, null, bnode).toList().size());
-    }
-
-    @Test
-    public void test_param_string_mixed_1() {
-        // Test simple injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", true);
-
-        test(query, new String[] { "<http://example.org>", "<http://predicate>", "true" }, new String[] { "?s", "?p", "?o" });
-    }
-
-    @Test
-    public void test_param_string_string_1() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "test");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_2() {
-        // Test a string with quotes
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "A \"test\" string");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"A \\\"test\\\" string\" . }",
-                query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_3() {
-        // Test a string with a $
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "Show me the $!");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"Show me the $!\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_4() {
-        // Test a string with a newline
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "A multi\nline string");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"A multi\\nline string\" . }",
-                query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_5() {
-        // Test a string with a tab
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "A tabby\tstring");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"A tabby\\tstring\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_6() {
-        // Test a string with a single quote
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "A test's test");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"A test\\'s test\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_string_7() {
-        // Test a string with a backslash
-        String cmdText = "SELECT * WHERE { ?s ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("p", "http://predicate");
-        query.setLiteral("o", "test a\\b");
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test a\\\\b\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_boolean_1() {
-        // Test boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", true);
-
-        // We don't expect #boolean as booleans should be formatted as plain
-        // literals
-        test(query, new String[] { "true" }, new String[] { "?o", XSD.xboolean.toString() });
-    }
-
-    @Test
-    public void test_param_string_boolean_2() {
-        // Test boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", false);
-
-        // We don't expect #boolean as booleans should be formatted as plain
-        // literals
-        test(query, new String[] { "false" }, new String[] { "?o", XSD.xboolean.toString() });
-    }
-
-    @Test
-    public void test_param_string_boolean_3() {
-        // Test invalid boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xboolean.toString()));
-
-        // We expect #boolean as booleans with invalid lexical values should not
-        // be formatted as plain literals
-        test(query, new String[] { "xyz", XSD.xboolean.toString() }, new String[] { "?o" });
-    }
-
-    @Test
-    public void test_param_string_boolean_4() {
-        // Test boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, true);
-
-        // We don't expect #boolean as booleans should be formatted as plain
-        // literals
-        test(query, new String[] { "true" }, new String[] { "? ", XSD.xboolean.toString() });
-    }
-
-    @Test
-    public void test_param_string_boolean_5() {
-        // Test boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, false);
-
-        // We don't expect #boolean as booleans should be formatted as plain
-        // literals
-        test(query, new String[] { "false" }, new String[] { "? ", XSD.xboolean.toString() });
-    }
-
-    @Test
-    public void test_param_string_boolean_6() {
-        // Test invalid boolean injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xboolean.toString()));
-
-        // We expect #boolean as booleans with invalid lexical values should not
-        // be formatted as plain literals
-        test(query, new String[] { "xyz", XSD.xboolean.toString() }, new String[] { "? " });
-    }
-
-    @Test
-    public void test_param_string_int_1() {
-        // Test integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", 1234);
-
-        // We don't expect #integer as integers should be formatted as typed
-        // literals
-        test(query, new String[] { "1234" }, new String[] { "?o", XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_int_2() {
-        // Test long integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", 3000000000l);
-
-        // We don't expect #integer as integers should be formatted as typed
-        // literals
-        test(query, new String[] { "3000000000" }, new String[] { "?o", XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_int_3() {
-        // Test invalid integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.integer.toString()));
-
-        // We do expect #integer as invalid integers should be formatted with
-        // their type
-        test(query, new String[] { "xyz", XSD.integer.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_int_4() {
-        // Test integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, 1234);
-
-        // We don't expect #integer as integers should be formatted as typed
-        // literals
-        test(query, new String[] { "1234" }, new String[] { "? ", XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_int_5() {
-        // Test long integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, 3000000000l);
-
-        // We don't expect #integer as integers should be formatted as typed
-        // literals
-        test(query, new String[] { "3000000000" }, new String[] { "? ", XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_int_6() {
-        // Test invalid integer injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.integer.toString()));
-
-        // We do expect #integer as invalid integers should be formatted with
-        // their type
-        test(query, new String[] { "xyz", XSD.integer.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_1() {
-        // Test double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", 123.4);
-
-        // We expect #double as doubles without exponents cannot be formatted as
-        // plain literals
-        test(query, new String[] { "123.4", XSD.xdouble.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_2() {
-        // Test double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", 123.0e5);
-
-        // We don't expect #double as we expected doubles to be formatted as
-        // plain literals
-        test(query, new String[] { "1.23E7" }, new String[] { "?o", XSD.xdouble.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_3() {
-        // Test invalid double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xdouble.toString()));
-
-        // We expect #double as invalid doubles cannot be formatted as plain
-        // literals
-        test(query, new String[] { "xyz", XSD.xdouble.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_4() {
-        // Test double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, 123.4);
-
-        // We expect #double as doubles without exponents cannot be formatted as
-        // plain literals
-        test(query, new String[] { "123.4", XSD.xdouble.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_5() {
-        // Test double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, 123.0e5);
-
-        // We don't expect #double as we expected doubles to be formatted as
-        // plain literals
-        test(query, new String[] { "1.23E7" }, new String[] { "? ", XSD.xdouble.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_double_6() {
-        // Test invalid double injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xdouble.toString()));
-
-        // We expect #double as invalid doubles cannot be formatted as plain
-        // literals
-        test(query, new String[] { "xyz", XSD.xdouble.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_float_1() {
-        // Test float injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", 123.4f);
-
-        // We expect #float as floats should be formatted as typed literals
-        test(query, new String[] { "123.4", XSD.xfloat.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_float_2() {
-        // Test float injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, 123.4f);
-
-        // We expect #float as floats should be formatted as typed literals
-        test(query, new String[] { "123.4", XSD.xfloat.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_date_1() {
-        // Test date injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        Calendar dt = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
-        dt.set(2012, 1, 24, 12, 0, 0);
-        query.setLiteral("o", dt);
-
-        // We expect #dateTime as dateTime should be formatted as typed literals
-        test(query, new String[] { "2012-02-24T12:00:00", XSD.dateTime.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_date_2() {
-        // Test invalid date injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.dateTime.toString()));
-
-        // We expect #dateTime as dateTime should be formatted as typed literals
-        test(query, new String[] { "xyz", XSD.dateTime.toString() }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_date_3() {
-        // Test date injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        Calendar dt = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
-        dt.set(2012, 1, 24, 12, 0, 0);
-        query.setLiteral(0, dt);
-
-        // We expect #dateTime as dateTime should be formatted as typed literals
-        test(query, new String[] { "2012-02-24T12:00:00", XSD.dateTime.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_date_4() {
-        // Test invalid date injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.dateTime.toString()));
-
-        // We expect #dateTime as dateTime should be formatted as typed literals
-        test(query, new String[] { "xyz", XSD.dateTime.toString() }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_lang_1() {
-        // Test lang literal injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "hello", "en");
-
-        test(query, new String[] { "hello", "@en" }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_lang_2() {
-        // Test lang literal injection
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("o", "bonjour", "fr");
-
-        test(query, new String[] { "bonjour", "@fr" }, new String[] { "?o" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_lang_3() {
-        // Test lang literal injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "hello", "en");
-
-        test(query, new String[] { "hello", "@en" }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_lang_4() {
-        // Test lang literal injection
-        String cmdText = "SELECT * WHERE { ?s ?p ? }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral(0, "bonjour", "fr");
-
-        test(query, new String[] { "bonjour", "@fr" }, new String[] { "? " });
-        testAsQuery(query);
-    }
-
-    @Test(expected = QueryException.class)
-    public void test_param_string_bad_1() {
-        // Test bad input - not a valid query
-        String cmdText = "Not a query";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-
-        testAsQuery(query);
-    }
-
-    @Test(expected = QueryException.class)
-    public void test_param_string_simple_bad_1() {
-        // Test bad input - injecting the parameter makes the query invalid
-        String cmdText = "SELECT ?s WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "?s" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_precedence_1() {
-        // Test simple injection precedence
-        // Setting parameter multiple times just overrides the existing setting
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setIri("s", "http://alternate.org");
-
-        test(query, new String[] { "<http://alternate.org>" }, new String[] { "?s", "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_precedence_2() {
-        // Test simple injection precedence
-        // Setting parameter multiple times just overrides the existing setting
-        String cmdText = "SELECT * WHERE { ? ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri(0, "http://example.org");
-        query.setIri(0, "http://alternate.org");
-
-        test(query, new String[] { "<http://alternate.org>" }, new String[] { "? ", "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_name_collision_1() {
-        // Test name collision
-        // The parameter we inject has a name which is a prefix of another
-        // variable name, only the
-        // actual name should be injected to
-        String cmdText = "SELECT * WHERE { ?a ?ab ?abc }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("a", "http://example.org");
-
-        // In the not expected list we need the whitespace after ?a as otherwise
-        // the test will give a
-        // false negative since obviously we should still have ?ab and ?abc
-        // present
-        test(query, new String[] { "<http://example.org>", "?ab", "?abc" }, new String[] { "?a " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_name_collision_2() {
-        // Test name collision
-        // The parameter we inject has a name which is a prefix of another
-        // variable name, only the
-        // actual name should be injected to
-        String cmdText = "SELECT * WHERE { ?abc ?ab ?a. }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("a", "http://example.org");
-
-        // In the not expected list we need the whitespace after ?a as otherwise
-        // the test will give a
-        // false negative since obviously we should still have ?ab and ?abc
-        // present
-        test(query, new String[] { "<http://example.org>", "?ab", "?abc" }, new String[] { "?a " });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_name_collision_3() {
-        // Test name collision
-        // In this test the parameter we inject has a name which collides with a
-        // term used
-        // in a prefix in the query
-        String cmdText = "PREFIX ex: <http://example.org/vocab#> SELECT * WHERE { ?s ex:name ?name }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setLiteral("name", "Bob");
-
-        // In the expected list we want to see Bob, in the not expected list we
-        // don't want to see
-        // ex:Bob since that would be a bad variable insertion
-        test(query, new String[] { "Bob" }, new String[] { "?name", "ex:Bob" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_clear_1() {
-        // Test clearing of parameter
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.clearParam("s");
-
-        test(query, new String[] { "?s" }, new String[] { "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_clear_2() {
-        // Test clearing of parameter
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.clearParams();
-
-        test(query, new String[] { "?s" }, new String[] { "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_clear_3() {
-        // Test indirect clearing of parameter by setting param to null
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri("s", "http://example.org");
-        query.setParam("s", (Node) null);
-
-        test(query, new String[] { "?s" }, new String[] { "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_clear_4() {
-        // Test clearing of parameter
-        String cmdText = "SELECT * WHERE { ? ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri(0, "http://example.org");
-        query.clearParam(0);
-
-        test(query, new String[] { "? " }, new String[] { "<http://example.org>" });
-    }
-
-    @Test
-    public void test_param_string_clear_5() {
-        // Test clearing of parameter
-        String cmdText = "SELECT * WHERE { ? ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri(0, "http://example.org");
-        query.clearParams();
-
-        test(query, new String[] { "? " }, new String[] { "<http://example.org>" });
-    }
-
-    @Test
-    public void test_param_string_clear_6() {
-        // Test indirect clearing of parameter by setting param to null
-        String cmdText = "SELECT * WHERE { ? ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setIri(0, "http://example.org");
-        query.setParam(0, (Node) null);
-
-        test(query, new String[] { "? " }, new String[] { "<http://example.org>" });
-    }
-
-    @Test
-    public void test_param_string_prefixes_1() {
-        // Test prefixes are prepended
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setNsPrefix("ex", "http://example.org");
-
-        test(query, new String[] { "PREFIX", "ex:", "<http://example.org>" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_prefixes_2() {
-        // Test prefixes are prepended
-        String cmdText = "SELECT * WHERE { ?s ex:predicate ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setNsPrefix("ex", "http://example.org");
-
-        test(query, new String[] { "PREFIX", "ex:", "<http://example.org>", "ex:predicate" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test(expected = QueryException.class)
-    public void test_param_string_prefixes_bad_1() {
-        // Test bad input - using a prefix without defining prefix
-        String cmdText = "SELECT * WHERE { ?s ex:predicate ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-
-        // Testing with an PName using an undefined prefix in the string
-        // Should fail on parsing
-        test(query, new String[] { "ex:predicate" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_base_1() {
-        // Test base is prepended
-        String cmdText = "SELECT * WHERE { ?s <#predicate> ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setBaseUri("http://example.org");
-
-        test(query, new String[] { "BASE", "<http://example.org>" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_base_bad_1() {
-        // Test questionable input - using relative URI without defining base
-        // ARQ accepts this, not sure if this is a way to disable this as this
-        // test should
-        // ideally be expecting a QueryException
-        String cmdText = "SELECT * WHERE { ?s <#predicate> ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-
-        test(query, new String[] {}, new String[] { "BASE", "<http://example.org>" });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_copy_1() {
-        // Test copying - copying always copies command text
-        String cmdText = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        ParameterizedSparqlString copy = query.copy();
-
-        Assert.assertEquals(cmdText, copy.getCommandText());
-    }
-
-    @Test
-    public void test_param_string_copy_2() {
-        // Test copying - copying and changing a parameter changes only one
-        // instance
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setIri("x", "http://example.org/original");
-        ParameterizedSparqlString copy = query.copy();
-        copy.setIri("x", "http://example.org/copy");
-
-        Assert.assertEquals("http://example.org/original", query.getParam("x").toString());
-        Assert.assertFalse("http://example.org/copy".equals(query.getParam("x").toString()));
-
-        Assert.assertEquals("http://example.org/copy", copy.getParam("x").toString());
-        Assert.assertFalse("http://example.org/original".equals(copy.getParam("x").toString()));
-    }
-
-    @Test
-    public void test_param_string_copy_3() {
-        // Test copying - copying should copy prefixes
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setNsPrefix("ex", "http://example.org");
-        ParameterizedSparqlString copy = query.copy();
-
-        Assert.assertEquals("http://example.org", copy.getNsPrefixURI("ex"));
-    }
-
-    @Test
-    public void test_param_string_copy_4() {
-        // Test copying - copying should copy base URI
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setBaseUri("http://example.org");
-        ParameterizedSparqlString copy = query.copy();
-
-        Assert.assertEquals("http://example.org", copy.getBaseUri());
-    }
-
-    @Test
-    public void test_param_string_copy_5() {
-        // Test selective copying - copying without copying parameters
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setIri("x", "http://example.org/original");
-        ParameterizedSparqlString copy = query.copy(false);
-
-        Assert.assertEquals("http://example.org/original", query.getParam("x").toString());
-        Assert.assertEquals(null, copy.getParam("x"));
-    }
-
-    @Test
-    public void test_param_string_copy_6() {
-        // Test selective copying - copying without copying prefixes
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setNsPrefix("ex", "http://example.org");
-        ParameterizedSparqlString copy = query.copy(true, true, false);
-
-        Assert.assertFalse("http://example.org".equals(copy.getNsPrefixURI("ex")));
-    }
-
-    @Test
-    public void test_param_string_copy_7() {
-        // Test copying - copying and changing a parameter changes only one
-        // instance
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setIri(0, "http://example.org/original");
-        ParameterizedSparqlString copy = query.copy();
-        copy.setIri(0, "http://example.org/copy");
-
-        Assert.assertEquals("http://example.org/original", query.getParam(0).toString());
-        Assert.assertFalse("http://example.org/copy".equals(query.getParam(0).toString()));
-
-        Assert.assertEquals("http://example.org/copy", copy.getParam(0).toString());
-        Assert.assertFalse("http://example.org/original".equals(copy.getParam(0).toString()));
-    }
-
-    @Test
-    public void test_param_string_copy_8() {
-        // Test selective copying - copying without copying parameters
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.setIri(0, "http://example.org/original");
-        ParameterizedSparqlString copy = query.copy(false);
-
-        Assert.assertEquals("http://example.org/original", query.getParam(0).toString());
-        Assert.assertEquals(null, copy.getParam(0));
-    }
-
-    @Test
-    public void test_param_string_append_1() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ?o }");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "?o" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_2() {
-        // Test appending simple types
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.append(true);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "true" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_3() {
-        // Test appending simple types
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.append(123);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "123" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_4() {
-        // Test appending simple types
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.append(123l);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "123" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_5() {
-        // Test appending simple types
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.append(123.0e5);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "1.23E7" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_iri_1() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ");
-        query.appendIri("http://example.org");
-        query.append(" ?o }");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "<http://example.org>", "?o" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_iri_2() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ");
-        query.appendIri(IRIFactory.iriImplementation().construct("http://example.org"));
-        query.append(" ?o }");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "<http://example.org>", "?o" }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_boolean_1() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral(true);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "true" }, new String[] { XSD.xboolean.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_boolean_2() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral("xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xboolean.toString()));
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "xyz", XSD.xboolean.toString() }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_integer_1() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral(123);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "123" }, new String[] { XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_integer_2() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral("xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.integer.toString()));
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "xyz", XSD.integer.toString() }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_integer_3() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral(123l);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "123" }, new String[] { XSD.integer.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_double_1() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral(123.0e5);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "1.23E7" }, new String[] { XSD.xdouble.toString() });
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_double_2() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral(1.23d);
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "1.23", XSD.xdouble.toString() }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_append_double_3() {
-        // Test appending text
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT *");
-        query.append('\n');
-        query.append("WHERE { ?s ?p ");
-        query.appendLiteral("xyz", TypeMapper.getInstance().getSafeTypeByName(XSD.xdouble.toString()));
-        query.append("}");
-
-        test(query, new String[] { "SELECT", "*", "\n", "WHERE", "?s", "?p", "xyz", XSD.xdouble.toString() }, new String[] {});
-        testAsQuery(query);
-    }
-
-    @Test
-    public void test_param_string_positional_1() {
-        // Test positional parameters
-        ParameterizedSparqlString query = new ParameterizedSparqlString();
-        query.append("SELECT * WHERE { ? ?p ?o }");
-        query.setParam(0, NodeFactory.createURI("http://example.org"));
-
-        test(query, new String[] { "<http://example.org>" }, new String[] { "? " });
-    }
-
-    @Test
-    public void test_param_string_positional_2() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ? . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createURI("http://example.org"));
-        query.setParam(1, NodeFactory.createURI("http://predicate"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_3() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ? . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createLiteral("with ? mark"));
-        query.setParam(1, NodeFactory.createURI("http://predicate"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { \"with ? mark\" <http://predicate> \"test\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_4() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ? . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createLiteral("with ? mark"));
-        query.setParam(1, NodeFactory.createLiteral("with ? mark"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { \"with ? mark\" \"with ? mark\" \"test\" . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_5() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ?. }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createURI("http://example.org"));
-        query.setParam(1, NodeFactory.createURI("http://predicate"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test\". }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_6() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ?; ?p ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createURI("http://example.org"));
-        query.setParam(1, NodeFactory.createURI("http://predicate"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test\"; ?p ?o . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_7() {
-        // Test regular string injection
-        String cmdText = "SELECT * WHERE { ? ? ?, ?o . }";
-        ParameterizedSparqlString query = new ParameterizedSparqlString(cmdText);
-        query.setParam(0, NodeFactory.createURI("http://example.org"));
-        query.setParam(1, NodeFactory.createURI("http://predicate"));
-        query.setParam(2, NodeFactory.createLiteral("test"));
-
-        Assert.assertEquals("SELECT * WHERE { <http://example.org> <http://predicate> \"test\", ?o . }", query.toString());
-    }
-
-    @Test
-    public void test_param_string_positional_eligible_1() {
-        // Test detection of eligible parameters
-        String cmdText = "SELECT * WHERE { ?s ?p ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(cmdText);
-
-        Iterator<Integer> iter = pss.getEligiblePositionalParameters();
-        int count = 0;
-        while (iter.hasNext()) {
-            count++;
-            iter.next();
-        }
-        Assert.assertEquals(1, count);
-    }
-
-    @Test
-    public void test_param_string_positional_eligible_2() {
-        // Test detection of eligible parameters
-        String cmdText = "SELECT * WHERE { ? ? ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(cmdText);
-
-        Iterator<Integer> iter = pss.getEligiblePositionalParameters();
-        int count = 0;
-        while (iter.hasNext()) {
-            count++;
-            iter.next();
-        }
-        Assert.assertEquals(3, count);
-    }
-
-    @Test
-    public void test_param_string_positional_eligible_3() {
-        // Test detection of eligible parameters
-        String cmdText = "SELECT * WHERE { ?s ?p ?; ?p1 ?, ?. }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(cmdText);
-
-        Iterator<Integer> iter = pss.getEligiblePositionalParameters();
-        int count = 0;
-        while (iter.hasNext()) {
-            count++;
-            iter.next();
-        }
-        Assert.assertEquals(3, count);
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_01() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var2 . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri("var2", "hello> } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye>");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_02() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var2 . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri("var2", "hello> } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_injection_03() {
-        // This injection attempt results in a valid update but a failed
-        // injection
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var2 . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var2", "hello\" } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye>");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_04() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nSELECT * WHERE { <s> <p> ?var2 . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri("var2", "hello> . ?s ?p ?o");
-
-        Query q = pss.asQuery();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_injection_05() {
-        // This injection attempt results in a valid query but a failed
-        // injection
-        String str = "PREFIX : <http://example/>\nSELECT * WHERE { <s> <p> ?var2 . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var2", "hello\" . ?s ?p ?o");
-
-        Query q = pss.asQuery();
-        Element el = q.getQueryPattern();
-        if (el instanceof ElementTriplesBlock) {
-            Assert.assertEquals(1, ((ElementTriplesBlock) q.getQueryPattern()).getPattern().size());
-        } else if (el instanceof ElementGroup) {
-            Assert.assertEquals(1, ((ElementGroup) el).getElements().size());
-            el = ((ElementGroup) el).getElements().get(0);
-            if (el instanceof ElementTriplesBlock) {
-                Assert.assertEquals(1, ((ElementTriplesBlock) el).getPattern().size());
-            }
-        }
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_06() {
-        // This injection attempt is prevented by forbidding injection to a
-        // variable parameter immediately surrounded by quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> '?var' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "hello' . } ; DROP ALL ; INSERT DATA { <s> <p> \"goodbye");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_07() {
-        // This injection attempt is prevented by forbidding injection of
-        // variable parameters immediately surrounded by quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \"?var\" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_08() {
-        // This injection attempt results in an invalid SPARQL update because
-        // you end up with a double quoted literal inside a single quoted
-        // literal
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> '?var' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_injection_09() {
-        // This injection attempt using comments results in a valid SPARQL
-        // update but a failed injection because the attempt to use comments
-        // ends up being a valid string literal within quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "\" . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_10() {
-        // This injection attempt tries to chain together injections to achieve
-        // an attack, the first
-        // injection appears innocuous and is an attempt to set up an actual
-        // injection vector
-        // The injection is prevented because a ?var directly surrounded by
-        // quotes is always flagged as
-        // subject to injection because pre-injection validation happens before
-        // each variable is injected
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "a");
-        pss.setLiteral("var2", "b");
-
-        // Figure out which variable will be injected first
-        @SuppressWarnings("deprecation")
-        String first = pss.getVars().next();
-        String second = first.equals("var") ? "var2" : "var";
-
-        pss.setLiteral(first, "?" + second);
-        pss.setLiteral(second, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_11() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we are now able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \" ?var \" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_12() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we are now able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \"some text ?var other text\" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_injection_13() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we now escape ' so prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ' ?var ' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test
-    public void test_param_string_injection_14() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we now escape ' so prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> 'some text ?var other text' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_injection_15() {
-        // This injection attempt tries to chain together injections to achieve
-        // an attack, the first injection appears innocuous and is an attempt to
-        // set up an actual injection vector
-        // Since we not check out delimiters we are not able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?var }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "a");
-        pss.setLiteral("var2", "b");
-
-        // Figure out which variable will be injected first
-        @SuppressWarnings("deprecation")
-        String first = pss.getVars().next();
-        String second = first.equals("var") ? "var2" : "var";
-
-        pss.setLiteral(first, " ?" + second + " ");
-        pss.setLiteral(second, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_non_injection_01() {
-        // This test checks that a legitimate injection of a literal to a
-        // variable that occurs between two other literals is permitted
-        // Btw this is not a valid query but it serves to illustrate the case
-        String str = "SELECT * { \"subject\" ?var \"object\" . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("var", "predicate");
-
-        pss.toString();
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_positional_injection_01() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ?v . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri(0, "hello> } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye>");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_positional_injection_02() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri(0, "hello> } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_positional_injection_03() {
-        // This injection attempt results in a valid update but a failed
-        // injection
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "hello\" } ; DROP ALL ; INSERT DATA { <s> <p> <goodbye>");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_positional_injection_04() {
-        // This injection is prevented by forbidding the > character in URIs
-        String str = "PREFIX : <http://example/>\nSELECT * WHERE { <s> <p> ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setIri(0, "hello> . ?s ?p ?o");
-
-        Query q = pss.asQuery();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_positional_injection_05() {
-        // This injection attempt results in a valid query but a failed
-        // injection
-        String str = "PREFIX : <http://example/>\nSELECT * WHERE { <s> <p> ? . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "hello\" . ?s ?p ?o");
-
-        Query q = pss.asQuery();
-        Element el = q.getQueryPattern();
-        if (el instanceof ElementTriplesBlock) {
-            Assert.assertEquals(1, ((ElementTriplesBlock) q.getQueryPattern()).getPattern().size());
-        } else if (el instanceof ElementGroup) {
-            Assert.assertEquals(1, ((ElementGroup) el).getElements().size());
-            el = ((ElementGroup) el).getElements().get(0);
-            if (el instanceof ElementTriplesBlock) {
-                Assert.assertEquals(1, ((ElementTriplesBlock) el).getPattern().size());
-            }
-        }
-    }
-
-    @Test
-    public void test_param_string_positional_injection_06() {
-        // This injection attempt is prevented by forbidding injection to a
-        // variable parameter immediately surrounded by quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> '?' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "hello' . } ; DROP ALL ; INSERT DATA { <s> <p> \"goodbye");
-
-        // In the positional case this does not work because the '?' is not
-        // considered an eligible positional parameter due to the lack of
-        // subsequent white space or punctuation
-        Assert.assertFalse(pss.getEligiblePositionalParameters().hasNext());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_07() {
-        // This injection attempt is prevented by forbidding injection of
-        // variable parameters immediately surrounded by quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \"?\" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        // In the positional case this does not work because the "?" is not
-        // considered an eligible positional parameter due to the lack of
-        // subsequent white space or punctuation
-        Assert.assertFalse(pss.getEligiblePositionalParameters().hasNext());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_08() {
-        // This injection attempt results in an invalid SPARQL update because
-        // you end up with a double quoted literal inside a single quoted
-        // literal
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> '?' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        // In the positional case this does not work because the '?' is not
-        // considered an eligible positional parameter due to the lack of
-        // subsequent white space or punctuation
-        Assert.assertFalse(pss.getEligiblePositionalParameters().hasNext());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_09() {
-        // This injection attempt using comments results in a valid SPARQL
-        // update but a failed injection because the attempt to use comments
-        // ends up being a valid string literal within quotes
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ? }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "\" . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_10() {
-        // This injection attempt tries to chain together injections to achieve
-        // an attack, the first
-        // injection appears innocuous and is an attempt to set up an actual
-        // injection vector
-        // The injection is prevented because a ?var directly surrounded by
-        // quotes is always flagged as
-        // subject to injection because pre-injection validation happens before
-        // each variable is injected
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ? }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "?");
-        pss.setLiteral(1, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        // In the positional parameter case this should fail because there
-        // is only one eligible positional parameter in the string and we cannot
-        // introduce additional ones via chained injection
-        Iterator<Integer> params = pss.getEligiblePositionalParameters();
-        Assert.assertTrue(params.hasNext());
-        params.next();
-        Assert.assertFalse(params.hasNext());
-
-        UpdateRequest u = pss.asUpdate();
-        Assert.assertEquals(1, u.getOperations().size());
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_positional_injection_11() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we are now able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \" ? \" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test(expected = ARQException.class)
-    public void test_param_string_positional_injection_12() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we are now able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> \"some text ? other text\" }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.fail("Attempt to do SPARQL injection should result in an exception");
-    }
-
-    @Test
-    public void test_param_string_positional_injection_13() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we now escape ' so prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ' ? ' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_14() {
-        // This is a variant on placing a variable bound to a literal inside a
-        // literal resulting in an injection, we now escape ' so prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> 'some text ? other text' }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "' . } ; DROP ALL ; INSERT DATA { <s> <p> <o> }#");
-
-        UpdateRequest updates = pss.asUpdate();
-        Assert.assertEquals(1, updates.getOperations().size());
-    }
-
-    @Test
-    public void test_param_string_positional_injection_15() {
-        // This injection attempt tries to chain together injections to achieve
-        // an attack, the first injection appears innocuous and is an attempt to
-        // set up an actual injection vector
-        // Since we not check out delimiters we are not able to detect and
-        // prevent this
-        String str = "PREFIX : <http://example/>\nINSERT DATA { <s> <p> ? }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, " ? ");
-        pss.setLiteral(1, " . } ; DROP ALL ; INSERT DATA { <s> <p> ");
-
-        // In the positional parameter case this should fail because there
-        // is only one eligible positional parameter in the string and we cannot
-        // introduce additional ones via chained injection
-        Iterator<Integer> params = pss.getEligiblePositionalParameters();
-        Assert.assertTrue(params.hasNext());
-        params.next();
-        Assert.assertFalse(params.hasNext());
-
-        UpdateRequest u = pss.asUpdate();
-        Assert.assertEquals(1, u.getOperations().size());
-    }
-
-    @Test
-    public void test_param_string_positional_non_injection_01() {
-        // This test checks that a legitimate injection of a literal to a
-        // variable that occurs between two other literals is permitted
-        // Btw this is not a valid query but it serves to illustrate the case
-        String str = "SELECT * { \"subject\" ? \"object\" . }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral(0, "predicate");
-
-        pss.toString();
-    }
-
-    @Test
-    public void test_param_string_bug_01() {
-        // Tests a bug reported with setting literals
-        String str = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("o", "has$sign");
-
-        pss.toString();
-    }
-
-    @Test
-    public void test_param_string_bug_02() {
-        // Tests a bug reported with setting literals
-        String str = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("o", "has$1sign");
-
-        pss.toString();
-    }
-
-    @Test
-    public void test_param_string_bug_03() {
-        // Tests a bug reported with setting literals
-        String str = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("o", "has$5sign");
-
-        pss.toString();
-    }
-
-    @Test
-    public void test_param_string_bug_04() {
-        // Tests a bug reported with setting literals
-        String str = "SELECT * WHERE { ?s ?p ?o }";
-        ParameterizedSparqlString pss = new ParameterizedSparqlString(str);
-        pss.setLiteral("o", "has $9 sign");
-
-        pss.toString();
-    }
-}
+/**
+ * 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.query;
+
+import java.util.Calendar ;
+import java.util.Iterator ;
+import java.util.TimeZone ;
+
+import org.apache.jena.datatypes.TypeMapper ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.iri.IRIFactory ;
+import org.apache.jena.rdf.model.* ;
+import org.apache.jena.shared.impl.PrefixMappingImpl ;
+import org.apache.jena.sparql.ARQException ;
+import org.apache.jena.sparql.syntax.Element ;
+import org.apache.jena.sparql.syntax.ElementGroup ;
+import org.apache.jena.sparql.syntax.ElementTriplesBlock ;
+import org.apache.jena.update.UpdateExecutionFactory ;
+import org.apache.jena.update.UpdateProcessor ;
+import org.apache.jena.update.UpdateRequest ;
+import org.apache.jena.vocabulary.OWL ;
+import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.vocabulary.XSD ;
+import org.junit.Assert ;
+import org.junit.Test ;
+
+/**
+ * Tests for the {@link ParameterizedSparqlString}
+ * 
+ */
+public class TestParameterizedSparqlString {
+
+    private void test(ParameterizedSparqlString query, String[] expected, String[] notExpected) {
+        // System.out.println("Raw Command:");
+        // System.out.println(query.getCommandText());
+        String command = query.toString();
+        // System.out.println("Injected Command:");
+        // System.out.println(command);
+        for (String x : expected) {
+            Assert.assertTrue(command.contains(x));
+        }
+        for (String x : notExpected) {
+            Assert.assertFalse(command.contains(x));
+        }
+    }
+
+    private Query testAsQuery(ParameterizedSparqlString query) {
+        return query.asQuery();
+    }
+
+    private UpdateRequest testAsUpdate(ParameterizedSparqlString update) {
+        return update.asUpdate();
+    }
+
+    @Test
+    public void test_param_string_constructor_1() {
+        // Test empty constructor
+        ParameterizedSparqlString query = new ParameterizedSparqlString();
+        Assert.assertEquals("", query.getCommandText());
+    }
+
+    @Test
+    public void test_param_string_constructor_2() {
+        // Test constructor with null command - null command should map to empty
+        // command automagically
+        ParameterizedSparqlString query = new ParameterizedSparqlString((String) null);
+        Assert.assertEquals("", query.getCommandText());
+    }
+
+    @Test
+    public void test_param_string_constructor_3() {
+        // Test constructor with base URI
+        ParameterizedSparqlString query = new ParameterizedSparqlString("", "http://example.org");
+        Assert.assertEquals("http://example.org", query.getBaseUri());
+    }
+
+    @Test
+    public void test_param_string_constructor_4() {
+        // Test constructor with predefined parameters
+        QuerySolutionMap map = new QuerySolutionMap();
+        Resource r = ResourceFactory.createResource("http://example.org");
+        map.add("s", r);
+        ParameterizedSparqlString query = new ParameterizedSparqlString("", map);
+
+        Assert.assertEquals(r.asNode(), query.getParam("s"));
+    }
+
+    @Test
+    public void test_param_string_constructor_5() {
+        // Test constructor with predefined parameters - variant of constructor
+        // that does not require command text
+        QuerySolutionMap map = new QuerySolutionMap();
+        Resource r = ResourceFactory.createResource("http://example.org");
+        map.add("s", r);
+        ParameterizedSparqlString query = new ParameterizedSparqlString(map);
+
+        Assert.assertEquals(r.asNode(), query.getParam("s"));
+    }
+
+    @Test
+    public void test_param_string_constructor_6() {
+        // Test constructor with predefined parameters
+        QuerySolutionMap map = new QuerySolutionMap();
+        Resource r = ResourceFactory.createResource("http://example.org");
+        map.add("s", r);
+        Literal l = ResourceFactory.createPlainLiteral("example");
+        map.add("o", l);
+        ParameterizedSparqlString query = new ParameterizedSparqlString("", map);
+
+        Assert.assertEquals(r.asNode(), query.getParam("s"));
+        Assert.assertEquals(l.asNode(), query.getParam("o"));
+    }
+
+    @Test
+    public void test_param_string_constructor_7() {
+        // Test constructor with predefined parameters - variant of constructor
+        // that does not require command text
+        QuerySolutionMap map = new QuerySolutionMap();
+        Resource r = ResourceFactory.createResource("http://example.org");
+        map.add("s", r);
+        Literal l = ResourceFactory.createPlainLiteral("example");
+        map.add("o", l);
+        ParameterizedSparqlString query = new ParameterizedSparqlString(map);
+
+        Assert.assertEquals(r.asNode(), query.getParam("s"));
+        Assert.assertEquals(l.asNode(), query.getParam("o"));
+    }
+
+    @Test
+    public void test_param_string_constructor_8() {
+        // Test constructors with predefined prefixes
+        PrefixMappingImpl prefixes = new PrefixMappingImpl();
+        prefixes.setNsPrefix("ex", "http://example.org");
+        ParameterizedSparqlString query = new ParameterizedSparqlString("", prefixes);
+
+        Assert.assertEquals(prefixes.getNsPrefixURI("ex"), query.getNsPrefixURI("ex"));
+    }
+
+    @Test
+    public void test_param_string_constructor_9() {
+        // Test constructors with predefined prefixes - variant of constructor
+        // that does

<TRUNCATED>

[30/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query4.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query4.nt b/jena-core/testing/reasoners/rdfs/query4.nt
index e1f72b8..cf1ea47 100644
--- a/jena-core/testing/reasoners/rdfs/query4.nt
+++ b/jena-core/testing/reasoners/rdfs/query4.nt
@@ -1,4 +1,4 @@
-# List (a, r, *)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.hpl.hp.com/semweb/2003/eg#r> <var:y> .
-
+# List (a, r, *)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.hpl.hp.com/semweb/2003/eg#r> <var:y> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query5.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query5.nt b/jena-core/testing/reasoners/rdfs/query5.nt
index 3685b5b..320fdcd 100644
--- a/jena-core/testing/reasoners/rdfs/query5.nt
+++ b/jena-core/testing/reasoners/rdfs/query5.nt
@@ -1,4 +1,4 @@
-# List (*, r, b)
-####################################
-<var:x> <http://www.hpl.hp.com/semweb/2003/eg#r> <http://www.hpl.hp.com/semweb/2003/eg#b> .
-
+# List (*, r, b)
+####################################
+<var:x> <http://www.hpl.hp.com/semweb/2003/eg#r> <http://www.hpl.hp.com/semweb/2003/eg#b> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query7.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query7.nt b/jena-core/testing/reasoners/rdfs/query7.nt
index 26049af..61b2234 100644
--- a/jena-core/testing/reasoners/rdfs/query7.nt
+++ b/jena-core/testing/reasoners/rdfs/query7.nt
@@ -1,4 +1,4 @@
-# List (a,type,D)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#D> .
-
+# List (a,type,D)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#D> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query8.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query8.nt b/jena-core/testing/reasoners/rdfs/query8.nt
index 2aa4359..79a9dcd 100644
--- a/jena-core/testing/reasoners/rdfs/query8.nt
+++ b/jena-core/testing/reasoners/rdfs/query8.nt
@@ -1,3 +1,3 @@
-# List (*,type,D)
-####################################
-<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#D> .
+# List (*,type,D)
+####################################
+<var:x> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#D> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/query9.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/query9.nt b/jena-core/testing/reasoners/rdfs/query9.nt
index 46767c4..bb092d9 100644
--- a/jena-core/testing/reasoners/rdfs/query9.nt
+++ b/jena-core/testing/reasoners/rdfs/query9.nt
@@ -1,3 +1,3 @@
-# List (b,type,C3)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C3> .
+# List (b,type,C3)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.hpl.hp.com/semweb/2003/eg#C3> .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result1.rdf b/jena-core/testing/reasoners/rdfs/result1.rdf
index 01d031c..6526d35 100644
--- a/jena-core/testing/reasoners/rdfs/result1.rdf
+++ b/jena-core/testing/reasoners/rdfs/result1.rdf
@@ -1,14 +1,14 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <C1 rdf:about="&eg;b" />
-  <C1 rdf:about="&eg;d" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <C1 rdf:about="&eg;b" />
+  <C1 rdf:about="&eg;d" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result10.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result10.rdf b/jena-core/testing/reasoners/rdfs/result10.rdf
index 349eb5c..a89d49a 100644
--- a/jena-core/testing/reasoners/rdfs/result10.rdf
+++ b/jena-core/testing/reasoners/rdfs/result10.rdf
@@ -1,16 +1,16 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <C3 rdf:about="&eg;b" />
-  <C2 rdf:about="&eg;b" />
-  <C1 rdf:about="&eg;b" />
-  <rdfs:Resource rdf:about="&eg;b" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <C3 rdf:about="&eg;b" />
+  <C2 rdf:about="&eg;b" />
+  <C1 rdf:about="&eg;b" />
+  <rdfs:Resource rdf:about="&eg;b" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result11.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result11.rdf b/jena-core/testing/reasoners/rdfs/result11.rdf
index 7bb9f3a..5a98df4 100644
--- a/jena-core/testing/reasoners/rdfs/result11.rdf
+++ b/jena-core/testing/reasoners/rdfs/result11.rdf
@@ -1,209 +1,209 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Resource rdf:about="&eg;a" />
-  <rdfs:Resource rdf:about="&eg;b" />
-  <rdfs:Resource rdf:about="&eg;c" />
-  <rdfs:Resource rdf:about="&eg;d" />
-  <rdfs:Resource rdf:about="&eg;p" />
-  <rdfs:Resource rdf:about="&eg;q" />
-  <rdfs:Resource rdf:about="&eg;r" />
-  <rdfs:Resource rdf:about="&eg;C1" />
-  <rdfs:Resource rdf:about="&eg;C2" />
-  <rdfs:Resource rdf:about="&eg;C3" />
-  <rdfs:Resource rdf:about="&eg;D" />
-  <rdfs:Resource rdf:about="&eg;fubar" />
-  
-   <rdfs:Resource rdf:about="&rdf;type" />
-   <rdfs:Resource rdf:about="&rdf;Statement" />
-   <rdfs:Resource rdf:about="&rdf;nil" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdf;List" />
-   <rdfs:Resource rdf:about="&rdf;Property" />
-   <rdfs:Resource rdf:about="&rdf;subject" />
-   <rdfs:Resource rdf:about="&rdf;predicate" />
-   <rdfs:Resource rdf:about="&rdf;object" />
-   <rdfs:Resource rdf:about="&rdf;first" />
-   <rdfs:Resource rdf:about="&rdf;rest" />
-   <rdfs:Resource rdf:about="&rdf;value" />
-   
-   <rdfs:Resource rdf:about="&rdfs;Resource" />
-   <rdfs:Resource rdf:about="&rdfs;Literal" />
-   <rdfs:Resource rdf:about="&rdfs;Class" />
-   <rdfs:Resource rdf:about="&rdfs;Datatype" />
-   <rdfs:Resource rdf:about="&rdfs;range" />
-   <rdfs:Resource rdf:about="&rdfs;domain" />
-   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
-   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
-   <rdfs:Resource rdf:about="&rdfs;member" />
-   
-  <rdf:Property rdf:about="&eg;p" />
-  <rdf:Property rdf:about="&eg;q" />
-  <rdf:Property rdf:about="&eg;r" />
-  <rdf:Property rdf:about="&eg;fubar" />
-  
-   <rdf:Property rdf:about="&rdf;subject" />
-   <rdf:Property rdf:about="&rdf;predicate" />
-   <rdf:Property rdf:about="&rdf;object" />
-   <rdf:Property rdf:about="&rdf;first" />
-   <rdf:Property rdf:about="&rdf;rest" />
-   <rdf:Property rdf:about="&rdf;type" />
-   <rdf:Property rdf:about="&rdf;value" />
-   
-   <rdf:Property rdf:about="&rdfs;range" />
-   <rdf:Property rdf:about="&rdfs;domain" />
-   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
-   <rdf:Property rdf:about="&rdfs;subClassOf" />
-   <rdf:Property rdf:about="&rdfs;member" />
-
-  <rdfs:Class rdf:about="&eg;D" />
-  <rdfs:Class rdf:about="&eg;C1" />
-  <rdfs:Class rdf:about="&eg;C2" />
-  <rdfs:Class rdf:about="&eg;C3" />
-  
-  <rdfs:Class rdf:about="&rdfs;Resource" />
-  <rdfs:Class rdf:about="&rdf;Property" />
-  <rdfs:Class rdf:about="&rdf;List" />
-  <rdfs:Class rdf:about="&rdfs;Class" />
-  <rdfs:Class rdf:about="&rdfs;Datatype" />
-  <rdfs:Class rdf:about="&rdfs;Literal" />
-  <rdfs:Class rdf:about="&rdf;Statement" />
-  
-  <D rdf:about="&eg;a" />
-  <D rdf:about="&eg;c" />
-
-  <C3 rdf:about="&eg;b" />
-  <C2 rdf:about="&eg;b" />
-  <C1 rdf:about="&eg;b" />
-
-  <C3 rdf:about="&eg;d" />
-  <C2 rdf:about="&eg;d" />
-  <C1 rdf:about="&eg;d" />
-
-  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
-  <rdf:List rdf:about="&rdf;nil" />
-
-   <rdf:Property rdf:about="&rdfs;seeAlso" />
-   <rdf:Property rdf:about="&rdfs;label" />
-   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
-   <rdf:Property rdf:about="&rdfs;comment" />
-
-   <rdfs:Resource rdf:about="&rdf;Seq" />
-   <rdfs:Resource rdf:about="&rdf;Bag" />
-   <rdfs:Resource rdf:about="&rdf;Alt" />
-   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
-   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
-   <rdfs:Resource rdf:about="&rdfs;comment" />
-   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdfs;Container" />
-   <rdfs:Resource rdf:about="&rdfs;label" />
-
-   <rdfs:Class rdf:about="&rdf;Seq" />
-   <rdfs:Class rdf:about="&rdf;Bag" />
-   <rdfs:Class rdf:about="&rdf;Alt" />
-   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Class rdf:about="&rdfs;Container" />
-   
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#int" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#long" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#short" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#time" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#double" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#string" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#float" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
-  
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#long" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#short" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#int" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#string" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#time" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#double" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#float" />
-   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#long" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#string" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#float" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#short" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#int" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#time" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#double" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Resource rdf:about="&eg;a" />
+  <rdfs:Resource rdf:about="&eg;b" />
+  <rdfs:Resource rdf:about="&eg;c" />
+  <rdfs:Resource rdf:about="&eg;d" />
+  <rdfs:Resource rdf:about="&eg;p" />
+  <rdfs:Resource rdf:about="&eg;q" />
+  <rdfs:Resource rdf:about="&eg;r" />
+  <rdfs:Resource rdf:about="&eg;C1" />
+  <rdfs:Resource rdf:about="&eg;C2" />
+  <rdfs:Resource rdf:about="&eg;C3" />
+  <rdfs:Resource rdf:about="&eg;D" />
+  <rdfs:Resource rdf:about="&eg;fubar" />
+  
+   <rdfs:Resource rdf:about="&rdf;type" />
+   <rdfs:Resource rdf:about="&rdf;Statement" />
+   <rdfs:Resource rdf:about="&rdf;nil" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdf;List" />
+   <rdfs:Resource rdf:about="&rdf;Property" />
+   <rdfs:Resource rdf:about="&rdf;subject" />
+   <rdfs:Resource rdf:about="&rdf;predicate" />
+   <rdfs:Resource rdf:about="&rdf;object" />
+   <rdfs:Resource rdf:about="&rdf;first" />
+   <rdfs:Resource rdf:about="&rdf;rest" />
+   <rdfs:Resource rdf:about="&rdf;value" />
+   
+   <rdfs:Resource rdf:about="&rdfs;Resource" />
+   <rdfs:Resource rdf:about="&rdfs;Literal" />
+   <rdfs:Resource rdf:about="&rdfs;Class" />
+   <rdfs:Resource rdf:about="&rdfs;Datatype" />
+   <rdfs:Resource rdf:about="&rdfs;range" />
+   <rdfs:Resource rdf:about="&rdfs;domain" />
+   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
+   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
+   <rdfs:Resource rdf:about="&rdfs;member" />
+   
+  <rdf:Property rdf:about="&eg;p" />
+  <rdf:Property rdf:about="&eg;q" />
+  <rdf:Property rdf:about="&eg;r" />
+  <rdf:Property rdf:about="&eg;fubar" />
+  
+   <rdf:Property rdf:about="&rdf;subject" />
+   <rdf:Property rdf:about="&rdf;predicate" />
+   <rdf:Property rdf:about="&rdf;object" />
+   <rdf:Property rdf:about="&rdf;first" />
+   <rdf:Property rdf:about="&rdf;rest" />
+   <rdf:Property rdf:about="&rdf;type" />
+   <rdf:Property rdf:about="&rdf;value" />
+   
+   <rdf:Property rdf:about="&rdfs;range" />
+   <rdf:Property rdf:about="&rdfs;domain" />
+   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
+   <rdf:Property rdf:about="&rdfs;subClassOf" />
+   <rdf:Property rdf:about="&rdfs;member" />
+
+  <rdfs:Class rdf:about="&eg;D" />
+  <rdfs:Class rdf:about="&eg;C1" />
+  <rdfs:Class rdf:about="&eg;C2" />
+  <rdfs:Class rdf:about="&eg;C3" />
+  
+  <rdfs:Class rdf:about="&rdfs;Resource" />
+  <rdfs:Class rdf:about="&rdf;Property" />
+  <rdfs:Class rdf:about="&rdf;List" />
+  <rdfs:Class rdf:about="&rdfs;Class" />
+  <rdfs:Class rdf:about="&rdfs;Datatype" />
+  <rdfs:Class rdf:about="&rdfs;Literal" />
+  <rdfs:Class rdf:about="&rdf;Statement" />
+  
+  <D rdf:about="&eg;a" />
+  <D rdf:about="&eg;c" />
+
+  <C3 rdf:about="&eg;b" />
+  <C2 rdf:about="&eg;b" />
+  <C1 rdf:about="&eg;b" />
+
+  <C3 rdf:about="&eg;d" />
+  <C2 rdf:about="&eg;d" />
+  <C1 rdf:about="&eg;d" />
+
+  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
+  <rdf:List rdf:about="&rdf;nil" />
+
+   <rdf:Property rdf:about="&rdfs;seeAlso" />
+   <rdf:Property rdf:about="&rdfs;label" />
+   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
+   <rdf:Property rdf:about="&rdfs;comment" />
+
+   <rdfs:Resource rdf:about="&rdf;Seq" />
+   <rdfs:Resource rdf:about="&rdf;Bag" />
+   <rdfs:Resource rdf:about="&rdf;Alt" />
+   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
+   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
+   <rdfs:Resource rdf:about="&rdfs;comment" />
+   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdfs;Container" />
+   <rdfs:Resource rdf:about="&rdfs;label" />
+
+   <rdfs:Class rdf:about="&rdf;Seq" />
+   <rdfs:Class rdf:about="&rdf;Bag" />
+   <rdfs:Class rdf:about="&rdf;Alt" />
+   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Class rdf:about="&rdfs;Container" />
+   
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#int" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#long" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#short" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#time" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#double" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#string" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#float" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
+  
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#long" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#short" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#int" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#string" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#time" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#double" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#float" />
+   <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#long" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#string" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#float" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#short" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#int" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#time" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#double" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result12.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result12.rdf b/jena-core/testing/reasoners/rdfs/result12.rdf
index 6707cb7..43ba243 100644
--- a/jena-core/testing/reasoners/rdfs/result12.rdf
+++ b/jena-core/testing/reasoners/rdfs/result12.rdf
@@ -1,89 +1,89 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Resource rdf:about="&eg;a" />
-  <rdfs:Resource rdf:about="&eg;b" />
-  <rdfs:Resource rdf:about="&eg;c" />
-  <rdfs:Resource rdf:about="&eg;d" />
-  <rdfs:Resource rdf:about="&eg;p" />
-  <rdfs:Resource rdf:about="&eg;q" />
-  <rdfs:Resource rdf:about="&eg;r" />
-  <rdfs:Resource rdf:about="&eg;C1" />
-  <rdfs:Resource rdf:about="&eg;C2" />
-  <rdfs:Resource rdf:about="&eg;C3" />
-  <rdfs:Resource rdf:about="&eg;D" />
-  <rdfs:Resource rdf:about="&eg;fubar" />
-  
-   <rdfs:Resource rdf:about="&rdf;type" />
-   <rdfs:Resource rdf:about="&rdf;Statement" />
-   <rdfs:Resource rdf:about="&rdf;nil" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdf;List" />
-   <rdfs:Resource rdf:about="&rdf;Property" />
-   <rdfs:Resource rdf:about="&rdf;subject" />
-   <rdfs:Resource rdf:about="&rdf;predicate" />
-   <rdfs:Resource rdf:about="&rdf;object" />
-   <rdfs:Resource rdf:about="&rdf;first" />
-   <rdfs:Resource rdf:about="&rdf;rest" />
-   <rdfs:Resource rdf:about="&rdf;value" />
-   
-   <rdfs:Resource rdf:about="&rdfs;Resource" />
-   <rdfs:Resource rdf:about="&rdfs;Literal" />
-   <rdfs:Resource rdf:about="&rdfs;Class" />
-   <rdfs:Resource rdf:about="&rdfs;Datatype" />
-   <rdfs:Resource rdf:about="&rdfs;range" />
-   <rdfs:Resource rdf:about="&rdfs;domain" />
-   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
-   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
-   <rdfs:Resource rdf:about="&rdfs;member" />
-
-   <rdfs:Resource rdf:about="&rdf;Seq" />
-   <rdfs:Resource rdf:about="&rdf;Bag" />
-   <rdfs:Resource rdf:about="&rdf;Alt" />
-   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
-   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
-   <rdfs:Resource rdf:about="&rdfs;comment" />
-   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdfs;Container" />
-   <rdfs:Resource rdf:about="&rdfs;label" />
-
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#int" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#long" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#short" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#time" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#double" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#string" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#float" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
-   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
-  
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Resource rdf:about="&eg;a" />
+  <rdfs:Resource rdf:about="&eg;b" />
+  <rdfs:Resource rdf:about="&eg;c" />
+  <rdfs:Resource rdf:about="&eg;d" />
+  <rdfs:Resource rdf:about="&eg;p" />
+  <rdfs:Resource rdf:about="&eg;q" />
+  <rdfs:Resource rdf:about="&eg;r" />
+  <rdfs:Resource rdf:about="&eg;C1" />
+  <rdfs:Resource rdf:about="&eg;C2" />
+  <rdfs:Resource rdf:about="&eg;C3" />
+  <rdfs:Resource rdf:about="&eg;D" />
+  <rdfs:Resource rdf:about="&eg;fubar" />
+  
+   <rdfs:Resource rdf:about="&rdf;type" />
+   <rdfs:Resource rdf:about="&rdf;Statement" />
+   <rdfs:Resource rdf:about="&rdf;nil" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdf;List" />
+   <rdfs:Resource rdf:about="&rdf;Property" />
+   <rdfs:Resource rdf:about="&rdf;subject" />
+   <rdfs:Resource rdf:about="&rdf;predicate" />
+   <rdfs:Resource rdf:about="&rdf;object" />
+   <rdfs:Resource rdf:about="&rdf;first" />
+   <rdfs:Resource rdf:about="&rdf;rest" />
+   <rdfs:Resource rdf:about="&rdf;value" />
+   
+   <rdfs:Resource rdf:about="&rdfs;Resource" />
+   <rdfs:Resource rdf:about="&rdfs;Literal" />
+   <rdfs:Resource rdf:about="&rdfs;Class" />
+   <rdfs:Resource rdf:about="&rdfs;Datatype" />
+   <rdfs:Resource rdf:about="&rdfs;range" />
+   <rdfs:Resource rdf:about="&rdfs;domain" />
+   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
+   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
+   <rdfs:Resource rdf:about="&rdfs;member" />
+
+   <rdfs:Resource rdf:about="&rdf;Seq" />
+   <rdfs:Resource rdf:about="&rdf;Bag" />
+   <rdfs:Resource rdf:about="&rdf;Alt" />
+   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
+   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
+   <rdfs:Resource rdf:about="&rdfs;comment" />
+   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdfs;Container" />
+   <rdfs:Resource rdf:about="&rdfs;label" />
+
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#int" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#long" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#short" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#time" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#double" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#string" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#float" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
+   <rdfs:Resource rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
+  
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result13.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result13.rdf b/jena-core/testing/reasoners/rdfs/result13.rdf
index 083b108..d69531d 100644
--- a/jena-core/testing/reasoners/rdfs/result13.rdf
+++ b/jena-core/testing/reasoners/rdfs/result13.rdf
@@ -1,35 +1,35 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Property rdf:about="&eg;p" />
-  <rdf:Property rdf:about="&eg;q" />
-  <rdf:Property rdf:about="&eg;r" />
-  <rdf:Property rdf:about="&eg;fubar" />
-  
-   <rdf:Property rdf:about="&rdf;subject" />
-   <rdf:Property rdf:about="&rdf;predicate" />
-   <rdf:Property rdf:about="&rdf;object" />
-   <rdf:Property rdf:about="&rdf;first" />
-   <rdf:Property rdf:about="&rdf;rest" />
-   <rdf:Property rdf:about="&rdf;type" />
-   <rdf:Property rdf:about="&rdf;value" />
-   
-   <rdf:Property rdf:about="&rdfs;range" />
-   <rdf:Property rdf:about="&rdfs;domain" />
-   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
-   <rdf:Property rdf:about="&rdfs;subClassOf" />
-   <rdf:Property rdf:about="&rdfs;member" />
-
-   <rdf:Property rdf:about="&rdfs;seeAlso" />
-   <rdf:Property rdf:about="&rdfs;label" />
-   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
-   <rdf:Property rdf:about="&rdfs;comment" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Property rdf:about="&eg;p" />
+  <rdf:Property rdf:about="&eg;q" />
+  <rdf:Property rdf:about="&eg;r" />
+  <rdf:Property rdf:about="&eg;fubar" />
+  
+   <rdf:Property rdf:about="&rdf;subject" />
+   <rdf:Property rdf:about="&rdf;predicate" />
+   <rdf:Property rdf:about="&rdf;object" />
+   <rdf:Property rdf:about="&rdf;first" />
+   <rdf:Property rdf:about="&rdf;rest" />
+   <rdf:Property rdf:about="&rdf;type" />
+   <rdf:Property rdf:about="&rdf;value" />
+   
+   <rdf:Property rdf:about="&rdfs;range" />
+   <rdf:Property rdf:about="&rdfs;domain" />
+   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
+   <rdf:Property rdf:about="&rdfs;subClassOf" />
+   <rdf:Property rdf:about="&rdfs;member" />
+
+   <rdf:Property rdf:about="&rdfs;seeAlso" />
+   <rdf:Property rdf:about="&rdfs;label" />
+   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
+   <rdf:Property rdf:about="&rdfs;comment" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result14.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result14.rdf b/jena-core/testing/reasoners/rdfs/result14.rdf
index 5f86e51..aa1211e 100644
--- a/jena-core/testing/reasoners/rdfs/result14.rdf
+++ b/jena-core/testing/reasoners/rdfs/result14.rdf
@@ -1,13 +1,13 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Resource rdf:about="&eg;a" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Resource rdf:about="&eg;a" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result15.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result15.rdf b/jena-core/testing/reasoners/rdfs/result15.rdf
index 913ae2f..d9f1837 100644
--- a/jena-core/testing/reasoners/rdfs/result15.rdf
+++ b/jena-core/testing/reasoners/rdfs/result15.rdf
@@ -1,13 +1,13 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Property rdf:about="&eg;p" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Property rdf:about="&eg;p" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result16-noresource.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result16-noresource.rdf b/jena-core/testing/reasoners/rdfs/result16-noresource.rdf
index 9821e26..5a88d71 100644
--- a/jena-core/testing/reasoners/rdfs/result16-noresource.rdf
+++ b/jena-core/testing/reasoners/rdfs/result16-noresource.rdf
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Class rdf:about="&eg;D" />
-  <rdfs:Class rdf:about="&eg;C1" />
-  <rdfs:Class rdf:about="&eg;C2" />
-  <rdfs:Class rdf:about="&eg;C3" />
-  
-  <rdfs:Class rdf:about="&rdfs;Resource" />
-  <rdfs:Class rdf:about="&rdf;Property" />
-  <rdfs:Class rdf:about="&rdf;List" />
-  <rdfs:Class rdf:about="&rdfs;Class" />
-  <rdfs:Class rdf:about="&rdfs;Datatype" />
-  <rdfs:Class rdf:about="&rdfs;Literal" />
-  <rdfs:Class rdf:about="&rdf;Statement" />
-
-   <rdfs:Class rdf:about="&rdf;Seq" />
-   <rdfs:Class rdf:about="&rdf;Bag" />
-   <rdfs:Class rdf:about="&rdf;Alt" />
-   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Class rdf:about="&rdfs;Container" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Class rdf:about="&eg;D" />
+  <rdfs:Class rdf:about="&eg;C1" />
+  <rdfs:Class rdf:about="&eg;C2" />
+  <rdfs:Class rdf:about="&eg;C3" />
+  
+  <rdfs:Class rdf:about="&rdfs;Resource" />
+  <rdfs:Class rdf:about="&rdf;Property" />
+  <rdfs:Class rdf:about="&rdf;List" />
+  <rdfs:Class rdf:about="&rdfs;Class" />
+  <rdfs:Class rdf:about="&rdfs;Datatype" />
+  <rdfs:Class rdf:about="&rdfs;Literal" />
+  <rdfs:Class rdf:about="&rdf;Statement" />
+
+   <rdfs:Class rdf:about="&rdf;Seq" />
+   <rdfs:Class rdf:about="&rdf;Bag" />
+   <rdfs:Class rdf:about="&rdf;Alt" />
+   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Class rdf:about="&rdfs;Container" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result16.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result16.rdf b/jena-core/testing/reasoners/rdfs/result16.rdf
index 3efc344..d94f7f5 100644
--- a/jena-core/testing/reasoners/rdfs/result16.rdf
+++ b/jena-core/testing/reasoners/rdfs/result16.rdf
@@ -1,63 +1,63 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Class rdf:about="&eg;D" />
-  <rdfs:Class rdf:about="&eg;C1" />
-  <rdfs:Class rdf:about="&eg;C2" />
-  <rdfs:Class rdf:about="&eg;C3" />
-  
-  <rdfs:Class rdf:about="&rdfs;Resource" />
-  <rdfs:Class rdf:about="&rdf;Property" />
-  <rdfs:Class rdf:about="&rdf;List" />
-  <rdfs:Class rdf:about="&rdfs;Class" />
-  <rdfs:Class rdf:about="&rdfs;Datatype" />
-  <rdfs:Class rdf:about="&rdfs;Literal" />
-  <rdfs:Class rdf:about="&rdf;Statement" />
-
-   <rdfs:Class rdf:about="&rdf;Seq" />
-   <rdfs:Class rdf:about="&rdf;Bag" />
-   <rdfs:Class rdf:about="&rdf;Alt" />
-   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Class rdf:about="&rdfs;Container" />
-
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#long" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#string" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#float" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#short" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#int" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#time" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#double" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
-   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Class rdf:about="&eg;D" />
+  <rdfs:Class rdf:about="&eg;C1" />
+  <rdfs:Class rdf:about="&eg;C2" />
+  <rdfs:Class rdf:about="&eg;C3" />
+  
+  <rdfs:Class rdf:about="&rdfs;Resource" />
+  <rdfs:Class rdf:about="&rdf;Property" />
+  <rdfs:Class rdf:about="&rdf;List" />
+  <rdfs:Class rdf:about="&rdfs;Class" />
+  <rdfs:Class rdf:about="&rdfs;Datatype" />
+  <rdfs:Class rdf:about="&rdfs;Literal" />
+  <rdfs:Class rdf:about="&rdf;Statement" />
+
+   <rdfs:Class rdf:about="&rdf;Seq" />
+   <rdfs:Class rdf:about="&rdf;Bag" />
+   <rdfs:Class rdf:about="&rdf;Alt" />
+   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Class rdf:about="&rdfs;Container" />
+
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#duration" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#positiveInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYear" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#long" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedLong" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gDay" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#string" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#nonPositiveInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonthDay" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#float" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#negativeInteger" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#decimal" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedInt" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedShort" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#short" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gYearMonth" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#gMonth" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#int" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#byte" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#hexBinary" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#time" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#date" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#boolean" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#double" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#base64Binary" />
+   <rdfs:Class rdf:about="http://www.w3.org/2001/XMLSchema#unsignedByte" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result17.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result17.rdf b/jena-core/testing/reasoners/rdfs/result17.rdf
index 4726978..949268f 100644
--- a/jena-core/testing/reasoners/rdfs/result17.rdf
+++ b/jena-core/testing/reasoners/rdfs/result17.rdf
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_1" />
-  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_2" />
-  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_3" />
-  
-  <rdf:Description rdf:about="&rdf;_1">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&rdf;_2">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&rdf;_3">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&rdfs;member">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_1" />
+  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_2" />
+  <rdfs:ContainerMembershipProperty rdf:about="&rdf;_3" />
+  
+  <rdf:Description rdf:about="&rdf;_1">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&rdf;_2">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&rdf;_3">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&rdfs;member">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;member" />
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result18.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result18.rdf b/jena-core/testing/reasoners/rdfs/result18.rdf
index f55be71..5d1f5b9 100644
--- a/jena-core/testing/reasoners/rdfs/result18.rdf
+++ b/jena-core/testing/reasoners/rdfs/result18.rdf
@@ -1,23 +1,23 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <q rdf:resource="&eg;b"/>
-    <r rdf:resource="&eg;b"/>
-    
-    <fubar>Hello world</fubar>
-    <rdf:type rdf:resource="&eg;D" />
-    <rdf:type rdf:resource="&rdfs;Resource" />
-
-  </rdf:Description>
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <q rdf:resource="&eg;b"/>
+    <r rdf:resource="&eg;b"/>
+    
+    <fubar>Hello world</fubar>
+    <rdf:type rdf:resource="&eg;D" />
+    <rdf:type rdf:resource="&rdfs;Resource" />
+
+  </rdf:Description>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result19-nodirect.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result19-nodirect.rdf b/jena-core/testing/reasoners/rdfs/result19-nodirect.rdf
index 4f434ef..3e1c4bf 100644
--- a/jena-core/testing/reasoners/rdfs/result19-nodirect.rdf
+++ b/jena-core/testing/reasoners/rdfs/result19-nodirect.rdf
@@ -1,232 +1,232 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdfs:Resource rdf:about="&eg;a" />
-  <rdfs:Resource rdf:about="&eg;b" />
-  <rdfs:Resource rdf:about="&eg;c" />
-  <rdfs:Resource rdf:about="&eg;d" />
-  <rdfs:Resource rdf:about="&eg;p" />
-  <rdfs:Resource rdf:about="&eg;q" />
-  <rdfs:Resource rdf:about="&eg;r" />
-  <rdfs:Resource rdf:about="&eg;C1" />
-  <rdfs:Resource rdf:about="&eg;C2" />
-  <rdfs:Resource rdf:about="&eg;C3" />
-  <rdfs:Resource rdf:about="&eg;D" />
-  <rdfs:Resource rdf:about="&eg;fubar" />
-  
-   <rdfs:Resource rdf:about="&rdf;type" />
-   <rdfs:Resource rdf:about="&rdf;Statement" />
-   <rdfs:Resource rdf:about="&rdf;nil" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdf;List" />
-   <rdfs:Resource rdf:about="&rdf;Property" />
-   <rdfs:Resource rdf:about="&rdf;subject" />
-   <rdfs:Resource rdf:about="&rdf;predicate" />
-   <rdfs:Resource rdf:about="&rdf;object" />
-   <rdfs:Resource rdf:about="&rdf;first" />
-   <rdfs:Resource rdf:about="&rdf;rest" />
-   
-   <rdfs:Resource rdf:about="&rdfs;Resource" />
-   <rdfs:Resource rdf:about="&rdfs;Literal" />
-   <rdfs:Resource rdf:about="&rdfs;Class" />
-   <rdfs:Resource rdf:about="&rdfs;Datatype" />
-   <rdfs:Resource rdf:about="&rdfs;range" />
-   <rdfs:Resource rdf:about="&rdfs;domain" />
-   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
-   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
-   
-  <rdf:Property rdf:about="&eg;p" />
-  <rdf:Property rdf:about="&eg;q" />
-  <rdf:Property rdf:about="&eg;r" />
-  <rdf:Property rdf:about="&eg;fubar" />
-  
-   <rdf:Property rdf:about="&rdf;subject" />
-   <rdf:Property rdf:about="&rdf;predicate" />
-   <rdf:Property rdf:about="&rdf;object" />
-   <rdf:Property rdf:about="&rdf;first" />
-   <rdf:Property rdf:about="&rdf;rest" />
-   <rdf:Property rdf:about="&rdf;type" />
-   
-   <rdf:Property rdf:about="&rdfs;range" />
-   <rdf:Property rdf:about="&rdfs;domain" />
-   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
-   <rdf:Property rdf:about="&rdfs;subClassOf" />
-
-  <rdfs:Class rdf:about="&eg;D" />
-  <rdfs:Class rdf:about="&eg;C1" />
-  <rdfs:Class rdf:about="&eg;C2" />
-  <rdfs:Class rdf:about="&eg;C3" />
-  
-  <rdfs:Class rdf:about="&rdfs;Resource" />
-  <rdfs:Class rdf:about="&rdf;Property" />
-  <rdfs:Class rdf:about="&rdf;List" />
-  <rdfs:Class rdf:about="&rdfs;Class" />
-  <rdfs:Class rdf:about="&rdfs;Datatype" />
-  <rdfs:Class rdf:about="&rdfs;Literal" />
-  <rdfs:Class rdf:about="&rdf;Statement" />
-  
-  <D rdf:about="&eg;a" />
-  <D rdf:about="&eg;c" />
-
-  <C3 rdf:about="&eg;b" />
-  <C2 rdf:about="&eg;b" />
-  <C1 rdf:about="&eg;b" />
-
-  <C3 rdf:about="&eg;d" />
-  <C2 rdf:about="&eg;d" />
-  <C1 rdf:about="&eg;d" />
-
-  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
-  <rdf:List rdf:about="&rdf;nil" />
-  
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:range rdf:resource="&eg;C1"/>
-    <rdfs:domain rdf:resource="&eg;D"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;fubar">
-    <rdfs:subPropertyOf rdf:resource="&eg;fubar"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C3">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <q rdf:resource="&eg;b"/>
-    <r rdf:resource="&eg;b"/>
-    <fubar>Hello world</fubar>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <q rdf:resource="&eg;d"/>
-    <r rdf:resource="&eg;d"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&rdfs;subPropertyOf">
-    <rdfs:domain rdf:resource="&rdf;Property" />
-    <rdfs:range  rdf:resource="&rdf;Property" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subClassOf">
-    <rdfs:domain rdf:resource="&rdfs;Class" />
-    <rdfs:range  rdf:resource="&rdfs;Class" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;type">
-    <rdfs:range rdf:resource="&rdfs;Class" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subPropertyOf">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subClassOf">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;subject">
-    <rdfs:subPropertyOf rdf:resource="&rdf;subject" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;predicate">
-    <rdfs:subPropertyOf rdf:resource="&rdf;predicate" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;object">
-    <rdfs:subPropertyOf rdf:resource="&rdf;object" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;first">
-    <rdfs:subPropertyOf rdf:resource="&rdf;first" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;rest">
-    <rdfs:subPropertyOf rdf:resource="&rdf;rest" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;type">
-    <rdfs:subPropertyOf rdf:resource="&rdf;type" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;range">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;range" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;domain">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;domain" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;Literal">
-    <rdfs:subClassOf rdf:resource="&rdfs;Literal" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;Statement">
-    <rdfs:subClassOf rdf:resource="&rdf;Statement" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;Resource">
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-
-   <rdf:Property rdf:about="&rdfs;seeAlso" />
-   <rdf:Property rdf:about="&rdfs;label" />
-   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
-   <rdf:Property rdf:about="&rdfs;comment" />
-
-   <rdfs:Resource rdf:about="&rdf;Seq" />
-   <rdfs:Resource rdf:about="&rdf;Bag" />
-   <rdfs:Resource rdf:about="&rdf;Alt" />
-   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
-   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
-   <rdfs:Resource rdf:about="&rdfs;comment" />
-   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdfs;Container" />
-   <rdfs:Resource rdf:about="&rdfs;Property" />
-   <rdfs:Resource rdf:about="&rdfs;label" />
-
-   <rdfs:Class rdf:about="&rdf;Seq" />
-   <rdfs:Class rdf:about="&rdf;Bag" />
-   <rdfs:Class rdf:about="&rdf;Alt" />
-   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
-   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Class rdf:about="&rdfs;Container" />
-   <rdfs:Class rdf:about="&rdfs;Property" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdfs:Resource rdf:about="&eg;a" />
+  <rdfs:Resource rdf:about="&eg;b" />
+  <rdfs:Resource rdf:about="&eg;c" />
+  <rdfs:Resource rdf:about="&eg;d" />
+  <rdfs:Resource rdf:about="&eg;p" />
+  <rdfs:Resource rdf:about="&eg;q" />
+  <rdfs:Resource rdf:about="&eg;r" />
+  <rdfs:Resource rdf:about="&eg;C1" />
+  <rdfs:Resource rdf:about="&eg;C2" />
+  <rdfs:Resource rdf:about="&eg;C3" />
+  <rdfs:Resource rdf:about="&eg;D" />
+  <rdfs:Resource rdf:about="&eg;fubar" />
+  
+   <rdfs:Resource rdf:about="&rdf;type" />
+   <rdfs:Resource rdf:about="&rdf;Statement" />
+   <rdfs:Resource rdf:about="&rdf;nil" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdf;List" />
+   <rdfs:Resource rdf:about="&rdf;Property" />
+   <rdfs:Resource rdf:about="&rdf;subject" />
+   <rdfs:Resource rdf:about="&rdf;predicate" />
+   <rdfs:Resource rdf:about="&rdf;object" />
+   <rdfs:Resource rdf:about="&rdf;first" />
+   <rdfs:Resource rdf:about="&rdf;rest" />
+   
+   <rdfs:Resource rdf:about="&rdfs;Resource" />
+   <rdfs:Resource rdf:about="&rdfs;Literal" />
+   <rdfs:Resource rdf:about="&rdfs;Class" />
+   <rdfs:Resource rdf:about="&rdfs;Datatype" />
+   <rdfs:Resource rdf:about="&rdfs;range" />
+   <rdfs:Resource rdf:about="&rdfs;domain" />
+   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
+   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
+   
+  <rdf:Property rdf:about="&eg;p" />
+  <rdf:Property rdf:about="&eg;q" />
+  <rdf:Property rdf:about="&eg;r" />
+  <rdf:Property rdf:about="&eg;fubar" />
+  
+   <rdf:Property rdf:about="&rdf;subject" />
+   <rdf:Property rdf:about="&rdf;predicate" />
+   <rdf:Property rdf:about="&rdf;object" />
+   <rdf:Property rdf:about="&rdf;first" />
+   <rdf:Property rdf:about="&rdf;rest" />
+   <rdf:Property rdf:about="&rdf;type" />
+   
+   <rdf:Property rdf:about="&rdfs;range" />
+   <rdf:Property rdf:about="&rdfs;domain" />
+   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
+   <rdf:Property rdf:about="&rdfs;subClassOf" />
+
+  <rdfs:Class rdf:about="&eg;D" />
+  <rdfs:Class rdf:about="&eg;C1" />
+  <rdfs:Class rdf:about="&eg;C2" />
+  <rdfs:Class rdf:about="&eg;C3" />
+  
+  <rdfs:Class rdf:about="&rdfs;Resource" />
+  <rdfs:Class rdf:about="&rdf;Property" />
+  <rdfs:Class rdf:about="&rdf;List" />
+  <rdfs:Class rdf:about="&rdfs;Class" />
+  <rdfs:Class rdf:about="&rdfs;Datatype" />
+  <rdfs:Class rdf:about="&rdfs;Literal" />
+  <rdfs:Class rdf:about="&rdf;Statement" />
+  
+  <D rdf:about="&eg;a" />
+  <D rdf:about="&eg;c" />
+
+  <C3 rdf:about="&eg;b" />
+  <C2 rdf:about="&eg;b" />
+  <C1 rdf:about="&eg;b" />
+
+  <C3 rdf:about="&eg;d" />
+  <C2 rdf:about="&eg;d" />
+  <C1 rdf:about="&eg;d" />
+
+  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
+  <rdf:List rdf:about="&rdf;nil" />
+  
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:range rdf:resource="&eg;C1"/>
+    <rdfs:domain rdf:resource="&eg;D"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;fubar">
+    <rdfs:subPropertyOf rdf:resource="&eg;fubar"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C3">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <q rdf:resource="&eg;b"/>
+    <r rdf:resource="&eg;b"/>
+    <fubar>Hello world</fubar>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <q rdf:resource="&eg;d"/>
+    <r rdf:resource="&eg;d"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&rdfs;subPropertyOf">
+    <rdfs:domain rdf:resource="&rdf;Property" />
+    <rdfs:range  rdf:resource="&rdf;Property" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subClassOf">
+    <rdfs:domain rdf:resource="&rdfs;Class" />
+    <rdfs:range  rdf:resource="&rdfs;Class" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;type">
+    <rdfs:range rdf:resource="&rdfs;Class" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subPropertyOf">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subClassOf">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;subject">
+    <rdfs:subPropertyOf rdf:resource="&rdf;subject" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;predicate">
+    <rdfs:subPropertyOf rdf:resource="&rdf;predicate" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;object">
+    <rdfs:subPropertyOf rdf:resource="&rdf;object" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;first">
+    <rdfs:subPropertyOf rdf:resource="&rdf;first" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;rest">
+    <rdfs:subPropertyOf rdf:resource="&rdf;rest" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;type">
+    <rdfs:subPropertyOf rdf:resource="&rdf;type" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;range">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;range" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;domain">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;domain" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;Literal">
+    <rdfs:subClassOf rdf:resource="&rdfs;Literal" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;Statement">
+    <rdfs:subClassOf rdf:resource="&rdf;Statement" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;Resource">
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+
+   <rdf:Property rdf:about="&rdfs;seeAlso" />
+   <rdf:Property rdf:about="&rdfs;label" />
+   <rdf:Property rdf:about="&rdfs;isDefinedBy" />
+   <rdf:Property rdf:about="&rdfs;comment" />
+
+   <rdfs:Resource rdf:about="&rdf;Seq" />
+   <rdfs:Resource rdf:about="&rdf;Bag" />
+   <rdfs:Resource rdf:about="&rdf;Alt" />
+   <rdfs:Resource rdf:about="&rdfs;isDefinedBy" />
+   <rdfs:Resource rdf:about="&rdfs;seeAlso" />
+   <rdfs:Resource rdf:about="&rdfs;comment" />
+   <rdfs:Resource rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdfs;Container" />
+   <rdfs:Resource rdf:about="&rdfs;Property" />
+   <rdfs:Resource rdf:about="&rdfs;label" />
+
+   <rdfs:Class rdf:about="&rdf;Seq" />
+   <rdfs:Class rdf:about="&rdf;Bag" />
+   <rdfs:Class rdf:about="&rdf;Alt" />
+   <rdfs:Class rdf:about="&rdfs;ContainerMembershipProperty" />
+   <rdfs:Class rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Class rdf:about="&rdfs;Container" />
+   <rdfs:Class rdf:about="&rdfs;Property" />
+
+</rdf:RDF>


[24/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/LinearIndex.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/LinearIndex.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/LinearIndex.java
index c49ddaf..56267bb 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/LinearIndex.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/index/LinearIndex.java
@@ -1,112 +1,112 @@
-/**
- * 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.sparql.engine.index;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.algebra.Algebra ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingHashMap ;
-
-/**
- * A slow "index" that looks for data by searching linearly through a set.
- * Only used when the indexed data contains fewer bound variables than expected.
- * Note that this class is only used for a MINUS operation that is removing data
- * with potentially unbound values, and is therefore rarely used.
- * 
- * TODO: If this index starts to be used more often then consider various options for
- *       indexing on the known bound variables.
- *       One possibility is for each variable (found in commonVars) to take
- *       the value of a var/value pair and TreeMap this to a set of Bindings that it occurs in.
- *       This would offer a reduced set to search, and set intersections may also work
- *       (intersections like this could be done on Binding reference equality rather than value).
- *       TreeMap is suggested here, since there would be commonVars.size() maps, which would take
- *       a lot of heap, particularly since performance of this class is only an issue when the
- *       data to search is significant.
- */
-
-public class LinearIndex implements IndexTable {
-    // Contribution from P Gearon (@quoll)
-	final Set<Var> commonVars ;
-	List<Binding> table = new ArrayList<>() ;
-
-	public LinearIndex(Set<Var> commonVars, QueryIterator data)
-	{
-		this.commonVars = commonVars ;
-		while ( data.hasNext() )
-			table.add(data.next()) ;
-		data.close() ;
-	}
-
-	public LinearIndex(Set<Var> commonVars, QueryIterator data, Set<HashIndexTable.Key> loadedData, Map<Var,Integer> mappings)
-	{
-		this.commonVars = commonVars ;
-		for ( HashIndexTable.Key key: loadedData )
-			table.add(toBinding(key, mappings)) ;
-
-		while ( data.hasNext() )
-			table.add(data.next()) ;
-		data.close() ;
-	}
-
-	@Override
-	public boolean containsCompatibleWithSharedDomain(Binding bindingLeft)
-	{
-		if ( commonVars.size() == 0 )
-			return false ;
-
-		for ( Binding bindingRight: table )
-    	{
-			if ( hasCommonVars(bindingLeft, bindingRight)
-					&& Algebra.compatible(bindingLeft, bindingRight) )
-    			return true ;
-    	}
-    	return false ;
-	}
-
-	private boolean hasCommonVars(Binding left, Binding right)
-	{
-		for ( Var v: commonVars )
-		{
-			if ( left.contains(v) && right.contains(v) )
-				return true ;
-		}
-		return false;
-	}
-
-	static Binding toBinding(HashIndexTable.Key key, Map<Var,Integer> mappings)
-	{
-		Node[] values = key.getNodes() ;
-		BindingHashMap b = new BindingHashMap() ;
-		for (Map.Entry<Var,Integer> mapping: mappings.entrySet())
-		{
-			Node value = values[mapping.getValue()] ;
-			if ( value != null )
-				b.add(mapping.getKey(), value) ;
-		}
-		return b ;
-	}
-}
-
+/**
+ * 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.sparql.engine.index;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.sparql.algebra.Algebra ;
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.engine.binding.BindingHashMap ;
+
+/**
+ * A slow "index" that looks for data by searching linearly through a set.
+ * Only used when the indexed data contains fewer bound variables than expected.
+ * Note that this class is only used for a MINUS operation that is removing data
+ * with potentially unbound values, and is therefore rarely used.
+ * 
+ * TODO: If this index starts to be used more often then consider various options for
+ *       indexing on the known bound variables.
+ *       One possibility is for each variable (found in commonVars) to take
+ *       the value of a var/value pair and TreeMap this to a set of Bindings that it occurs in.
+ *       This would offer a reduced set to search, and set intersections may also work
+ *       (intersections like this could be done on Binding reference equality rather than value).
+ *       TreeMap is suggested here, since there would be commonVars.size() maps, which would take
+ *       a lot of heap, particularly since performance of this class is only an issue when the
+ *       data to search is significant.
+ */
+
+public class LinearIndex implements IndexTable {
+    // Contribution from P Gearon (@quoll)
+	final Set<Var> commonVars ;
+	List<Binding> table = new ArrayList<>() ;
+
+	public LinearIndex(Set<Var> commonVars, QueryIterator data)
+	{
+		this.commonVars = commonVars ;
+		while ( data.hasNext() )
+			table.add(data.next()) ;
+		data.close() ;
+	}
+
+	public LinearIndex(Set<Var> commonVars, QueryIterator data, Set<HashIndexTable.Key> loadedData, Map<Var,Integer> mappings)
+	{
+		this.commonVars = commonVars ;
+		for ( HashIndexTable.Key key: loadedData )
+			table.add(toBinding(key, mappings)) ;
+
+		while ( data.hasNext() )
+			table.add(data.next()) ;
+		data.close() ;
+	}
+
+	@Override
+	public boolean containsCompatibleWithSharedDomain(Binding bindingLeft)
+	{
+		if ( commonVars.size() == 0 )
+			return false ;
+
+		for ( Binding bindingRight: table )
+    	{
+			if ( hasCommonVars(bindingLeft, bindingRight)
+					&& Algebra.compatible(bindingLeft, bindingRight) )
+    			return true ;
+    	}
+    	return false ;
+	}
+
+	private boolean hasCommonVars(Binding left, Binding right)
+	{
+		for ( Var v: commonVars )
+		{
+			if ( left.contains(v) && right.contains(v) )
+				return true ;
+		}
+		return false;
+	}
+
+	static Binding toBinding(HashIndexTable.Key key, Map<Var,Integer> mappings)
+	{
+		Node[] values = key.getNodes() ;
+		BindingHashMap b = new BindingHashMap() ;
+		for (Map.Entry<Var,Integer> mapping: mappings.entrySet())
+		{
+			Node value = values[mapping.getValue()] ;
+			if ( value != null )
+				b.add(mapping.getKey(), value) ;
+		}
+		return b ;
+	}
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngine.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngine.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngine.java
index 464f1c6..d8ef828 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngine.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngine.java
@@ -1,43 +1,43 @@
-/*
- * 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.sparql.modify;
-
-
-/**
- * An UpdateEngine provides an interface to execute a SPARQL update request.
- * An update engine is use-once; that is, it executes a single SPARQL Update request
- * (there may be multiple operations in one request).
- */
-public interface UpdateEngine
-{
-    /**
-     *  Signal start of a request being executed
-     */
-    public void startRequest();
-    
-    /**
-     * Signal end of a request being executed 
-     */
-    public void finishRequest();
-    
-    /**
-     * Returns an {@link UpdateSink} that accepts Update operations
-     */
-    public UpdateSink getUpdateSink();
-}
+/*
+ * 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.sparql.modify;
+
+
+/**
+ * An UpdateEngine provides an interface to execute a SPARQL update request.
+ * An update engine is use-once; that is, it executes a single SPARQL Update request
+ * (there may be multiple operations in one request).
+ */
+public interface UpdateEngine
+{
+    /**
+     *  Signal start of a request being executed
+     */
+    public void startRequest();
+    
+    /**
+     * Signal end of a request being executed 
+     */
+    public void finishRequest();
+    
+    /**
+     * Returns an {@link UpdateSink} that accepts Update operations
+     */
+    public UpdateSink getUpdateSink();
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateRequestSink.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateRequestSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateRequestSink.java
index 51fbe45..76f520e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateRequestSink.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateRequestSink.java
@@ -1,75 +1,75 @@
-/*
- * 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.sparql.modify;
-
-import org.apache.jena.sparql.core.Prologue ;
-import org.apache.jena.sparql.modify.request.QuadDataAcc ;
-import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
-import org.apache.jena.sparql.modify.request.UpdateDataDelete ;
-import org.apache.jena.sparql.modify.request.UpdateDataInsert ;
-import org.apache.jena.update.Update ;
-import org.apache.jena.update.UpdateRequest ;
-
-public class UpdateRequestSink implements UpdateSink
-{
-    final UpdateRequest updateRequest;
-    
-    public UpdateRequestSink(UpdateRequest updateRequest)
-    {
-        this.updateRequest = updateRequest;
-    }
-    
-    @Override
-    public void send(Update update)
-    {
-        updateRequest.add(update);
-    }
-    
-    @Override
-    public void flush()
-    { }
-    
-    @Override
-    public void close()
-    { }
-    
-    @Override
-    public Prologue getPrologue()
-    {
-        return updateRequest;
-    }
-    
-    @Override
-    public QuadDataAccSink createInsertDataSink()
-    {
-        QuadDataAcc quads = new QuadDataAcc();
-        send(new UpdateDataInsert(quads));
-        
-        return quads;
-    }
-    
-    @Override
-    public QuadDataAccSink createDeleteDataSink()
-    {
-        QuadDataAcc quads = new QuadDataAcc();
-        send(new UpdateDataDelete(quads));
-        
-        return quads;
-    }
-}
+/*
+ * 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.sparql.modify;
+
+import org.apache.jena.sparql.core.Prologue ;
+import org.apache.jena.sparql.modify.request.QuadDataAcc ;
+import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
+import org.apache.jena.sparql.modify.request.UpdateDataDelete ;
+import org.apache.jena.sparql.modify.request.UpdateDataInsert ;
+import org.apache.jena.update.Update ;
+import org.apache.jena.update.UpdateRequest ;
+
+public class UpdateRequestSink implements UpdateSink
+{
+    final UpdateRequest updateRequest;
+    
+    public UpdateRequestSink(UpdateRequest updateRequest)
+    {
+        this.updateRequest = updateRequest;
+    }
+    
+    @Override
+    public void send(Update update)
+    {
+        updateRequest.add(update);
+    }
+    
+    @Override
+    public void flush()
+    { }
+    
+    @Override
+    public void close()
+    { }
+    
+    @Override
+    public Prologue getPrologue()
+    {
+        return updateRequest;
+    }
+    
+    @Override
+    public QuadDataAccSink createInsertDataSink()
+    {
+        QuadDataAcc quads = new QuadDataAcc();
+        send(new UpdateDataInsert(quads));
+        
+        return quads;
+    }
+    
+    @Override
+    public QuadDataAccSink createDeleteDataSink()
+    {
+        QuadDataAcc quads = new QuadDataAcc();
+        send(new UpdateDataDelete(quads));
+        
+        return quads;
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateSink.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateSink.java
index 3a36825..41530b2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateSink.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateSink.java
@@ -1,41 +1,41 @@
-/*
- * 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.sparql.modify;
-
-import org.apache.jena.atlas.lib.Sink ;
-import org.apache.jena.sparql.core.Prologue ;
-import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
-import org.apache.jena.update.Update ;
-
-/**
- * An {@link UpdateSink} is an object usually created by a container (such as a storage engine
- * or an {@link org.apache.jena.update.UpdateRequest}) that can process or store a single SPARQL Update
- * request which consists of one or more SPARQL Update operations.
- */
-// TODO More documentation!
-public interface UpdateSink extends Sink<Update>
-{
-    public Prologue getPrologue();
-
-    // TODO make an interface for the quad sinks
-    public QuadDataAccSink createInsertDataSink();
-
-    public QuadDataAccSink createDeleteDataSink();
-
+/*
+ * 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.sparql.modify;
+
+import org.apache.jena.atlas.lib.Sink ;
+import org.apache.jena.sparql.core.Prologue ;
+import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
+import org.apache.jena.update.Update ;
+
+/**
+ * An {@link UpdateSink} is an object usually created by a container (such as a storage engine
+ * or an {@link org.apache.jena.update.UpdateRequest}) that can process or store a single SPARQL Update
+ * request which consists of one or more SPARQL Update operations.
+ */
+// TODO More documentation!
+public interface UpdateSink extends Sink<Update>
+{
+    public Prologue getPrologue();
+
+    // TODO make an interface for the quad sinks
+    public QuadDataAccSink createInsertDataSink();
+
+    public QuadDataAccSink createDeleteDataSink();
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateVisitorSink.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateVisitorSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateVisitorSink.java
index 24a52bd..5b1a143 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateVisitorSink.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateVisitorSink.java
@@ -1,68 +1,68 @@
-/*
- * 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.sparql.modify;
-
-import org.apache.jena.sparql.core.Prologue ;
-import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
-import org.apache.jena.sparql.modify.request.UpdateVisitor ;
-import org.apache.jena.update.Update ;
-
-public class UpdateVisitorSink implements UpdateSink
-{
-    private final Prologue prologue;
-    private final UpdateVisitor worker;
-    
-    public UpdateVisitorSink(UpdateVisitor worker)
-    {
-        this.prologue = new Prologue();
-        this.worker = worker;
-    }
-    
-    @Override
-    public Prologue getPrologue()
-    {
-        return prologue;
-    }
-    
-    @Override
-    public void send(Update update)
-    {
-        update.visit(worker);
-    }
-    
-    @Override
-    public QuadDataAccSink createInsertDataSink()
-    {
-        return new QuadDataAccSink(worker.createInsertDataSink());
-    }
-    
-    @Override
-    public QuadDataAccSink createDeleteDataSink()
-    {
-        return new QuadDataAccSink(worker.createDeleteDataSink());
-    }
-
-    @Override
-    public void flush()
-    { }
-
-    @Override
-    public void close()
-    { }
-}
+/*
+ * 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.sparql.modify;
+
+import org.apache.jena.sparql.core.Prologue ;
+import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
+import org.apache.jena.sparql.modify.request.UpdateVisitor ;
+import org.apache.jena.update.Update ;
+
+public class UpdateVisitorSink implements UpdateSink
+{
+    private final Prologue prologue;
+    private final UpdateVisitor worker;
+    
+    public UpdateVisitorSink(UpdateVisitor worker)
+    {
+        this.prologue = new Prologue();
+        this.worker = worker;
+    }
+    
+    @Override
+    public Prologue getPrologue()
+    {
+        return prologue;
+    }
+    
+    @Override
+    public void send(Update update)
+    {
+        update.visit(worker);
+    }
+    
+    @Override
+    public QuadDataAccSink createInsertDataSink()
+    {
+        return new QuadDataAccSink(worker.createInsertDataSink());
+    }
+    
+    @Override
+    public QuadDataAccSink createDeleteDataSink()
+    {
+        return new QuadDataAccSink(worker.createDeleteDataSink());
+    }
+
+    @Override
+    public void flush()
+    { }
+
+    @Override
+    public void close()
+    { }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingList.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingList.java
index c036685..05ef41d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingList.java
@@ -1,44 +1,44 @@
-/*
- * 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.sparql.modify;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.jena.graph.Node ;
-
-public class UsingList
-{
-    public UsingList() { }
-    
-    private List<Node> using = new ArrayList<>() ;
-    private List<Node> usingNamed = new ArrayList<>() ;
-    
-    public void addUsing(Node node)                      { using.add(node) ; }
-    public void addAllUsing(Collection<Node> nodes)      { using.addAll(nodes); }
-    public void addUsingNamed(Node node)                 { usingNamed.add(node) ; }
-    public void addAllUsingNamed(Collection<Node> nodes) { usingNamed.addAll(nodes); }
-    
-    public List<Node> getUsing()                         { return Collections.unmodifiableList(using) ; }
-    public List<Node> getUsingNamed()                    { return Collections.unmodifiableList(usingNamed) ; }
-    
-    public boolean usingIsPresent()                      { return using.size() > 0 || usingNamed.size() > 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.sparql.modify;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.jena.graph.Node ;
+
+public class UsingList
+{
+    public UsingList() { }
+    
+    private List<Node> using = new ArrayList<>() ;
+    private List<Node> usingNamed = new ArrayList<>() ;
+    
+    public void addUsing(Node node)                      { using.add(node) ; }
+    public void addAllUsing(Collection<Node> nodes)      { using.addAll(nodes); }
+    public void addUsingNamed(Node node)                 { usingNamed.add(node) ; }
+    public void addAllUsingNamed(Collection<Node> nodes) { usingNamed.addAll(nodes); }
+    
+    public List<Node> getUsing()                         { return Collections.unmodifiableList(using) ; }
+    public List<Node> getUsingNamed()                    { return Collections.unmodifiableList(usingNamed) ; }
+    
+    public boolean usingIsPresent()                      { return using.size() > 0 || usingNamed.size() > 0 ; }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingUpdateSink.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingUpdateSink.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingUpdateSink.java
index 4e9d8c5..9562f1e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingUpdateSink.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UsingUpdateSink.java
@@ -1,93 +1,93 @@
-/*
- * 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.sparql.modify;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.sparql.core.Prologue ;
-import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
-import org.apache.jena.sparql.modify.request.UpdateWithUsing ;
-import org.apache.jena.update.Update ;
-import org.apache.jena.update.UpdateException ;
-
-/**
- * Adds using clauses from the UsingList to UpdateWithUsing operations; will throw an UpdateException if the modify operation already contains a using clause. 
- */
-public class UsingUpdateSink implements UpdateSink
-{
-    private final UpdateSink sink; 
-    private final UsingList usingList;
-    
-    public UsingUpdateSink(UpdateSink sink, UsingList usingList)
-    {
-        this.sink = sink;
-        this.usingList = usingList;
-    }
-    
-    @Override
-    public void send(Update update)
-    {
-        // ---- check USING/USING NAMED/WITH not used.
-        // ---- update request to have USING/USING NAMED 
-        if ( null != usingList && usingList.usingIsPresent() )
-        {
-            if ( update instanceof UpdateWithUsing )
-            {
-                UpdateWithUsing upu = (UpdateWithUsing)update ;
-                if ( upu.getUsing().size() != 0 || upu.getUsingNamed().size() != 0 || upu.getWithIRI() != null )
-                    throw new UpdateException("SPARQL Update: Protocol using-graph-uri or using-named-graph-uri present where update request has USING, USING NAMED or WITH") ;
-                for ( Node node : usingList.getUsing() )
-                    upu.addUsing(node) ;
-                for ( Node node : usingList.getUsingNamed() )
-                    upu.addUsingNamed(node) ;
-            }
-        }
-        
-        sink.send(update);
-    }
-
-    @Override
-    public QuadDataAccSink createInsertDataSink()
-    {
-        return sink.createInsertDataSink();
-    }
-    
-    @Override
-    public QuadDataAccSink createDeleteDataSink()
-    {
-        return sink.createDeleteDataSink();
-    }
-    
-    @Override
-    public void flush()
-    {
-        sink.flush();
-    }
-
-    @Override
-    public void close()
-    {
-        sink.close();
-    }
-
-    @Override
-    public Prologue getPrologue()
-    {
-        return sink.getPrologue();
-    }
-}
+/*
+ * 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.sparql.modify;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.sparql.core.Prologue ;
+import org.apache.jena.sparql.modify.request.QuadDataAccSink ;
+import org.apache.jena.sparql.modify.request.UpdateWithUsing ;
+import org.apache.jena.update.Update ;
+import org.apache.jena.update.UpdateException ;
+
+/**
+ * Adds using clauses from the UsingList to UpdateWithUsing operations; will throw an UpdateException if the modify operation already contains a using clause. 
+ */
+public class UsingUpdateSink implements UpdateSink
+{
+    private final UpdateSink sink; 
+    private final UsingList usingList;
+    
+    public UsingUpdateSink(UpdateSink sink, UsingList usingList)
+    {
+        this.sink = sink;
+        this.usingList = usingList;
+    }
+    
+    @Override
+    public void send(Update update)
+    {
+        // ---- check USING/USING NAMED/WITH not used.
+        // ---- update request to have USING/USING NAMED 
+        if ( null != usingList && usingList.usingIsPresent() )
+        {
+            if ( update instanceof UpdateWithUsing )
+            {
+                UpdateWithUsing upu = (UpdateWithUsing)update ;
+                if ( upu.getUsing().size() != 0 || upu.getUsingNamed().size() != 0 || upu.getWithIRI() != null )
+                    throw new UpdateException("SPARQL Update: Protocol using-graph-uri or using-named-graph-uri present where update request has USING, USING NAMED or WITH") ;
+                for ( Node node : usingList.getUsing() )
+                    upu.addUsing(node) ;
+                for ( Node node : usingList.getUsingNamed() )
+                    upu.addUsingNamed(node) ;
+            }
+        }
+        
+        sink.send(update);
+    }
+
+    @Override
+    public QuadDataAccSink createInsertDataSink()
+    {
+        return sink.createInsertDataSink();
+    }
+    
+    @Override
+    public QuadDataAccSink createDeleteDataSink()
+    {
+        return sink.createDeleteDataSink();
+    }
+    
+    @Override
+    public void flush()
+    {
+        sink.flush();
+    }
+
+    @Override
+    public void close()
+    {
+        sink.close();
+    }
+
+    @Override
+    public Prologue getPrologue()
+    {
+        return sink.getPrologue();
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateDataWriter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateDataWriter.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateDataWriter.java
index 379b5ca..99a6119 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateDataWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateDataWriter.java
@@ -1,57 +1,57 @@
-/*
- * 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.sparql.modify.request;
-
-import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.riot.out.SinkQuadBracedOutput ;
-import org.apache.jena.sparql.serializer.SerializationContext ;
-
-public class UpdateDataWriter extends SinkQuadBracedOutput
-{
-    /**
-     * The mode an UpdateDataWriter is in.
-     */
-    public enum UpdateMode
-    {
-        INSERT,
-        DELETE,
-    }
-    
-    private final UpdateMode mode;
-    
-    public UpdateDataWriter(UpdateMode mode, IndentedWriter out, SerializationContext sCxt)
-    {
-        super(out, sCxt);
-        this.mode = mode;
-    }
-    
-    public UpdateMode getMode()
-    {
-        return mode;
-    }
-    
-    @Override
-    public void open()
-    {
-        out.ensureStartOfLine();
-        out.print(mode.toString());
-        out.print(" DATA ");
-        super.open();
-    }
-}
+/*
+ * 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.sparql.modify.request;
+
+import org.apache.jena.atlas.io.IndentedWriter ;
+import org.apache.jena.riot.out.SinkQuadBracedOutput ;
+import org.apache.jena.sparql.serializer.SerializationContext ;
+
+public class UpdateDataWriter extends SinkQuadBracedOutput
+{
+    /**
+     * The mode an UpdateDataWriter is in.
+     */
+    public enum UpdateMode
+    {
+        INSERT,
+        DELETE,
+    }
+    
+    private final UpdateMode mode;
+    
+    public UpdateDataWriter(UpdateMode mode, IndentedWriter out, SerializationContext sCxt)
+    {
+        super(out, sCxt);
+        this.mode = mode;
+    }
+    
+    public UpdateMode getMode()
+    {
+        return mode;
+    }
+    
+    @Override
+    public void open()
+    {
+        out.ensureStartOfLine();
+        out.print(mode.toString());
+        out.print(" DATA ");
+        super.open();
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessor.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessor.java b/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessor.java
index c027318..74cbf4e 100644
--- a/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessor.java
+++ b/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessor.java
@@ -16,32 +16,32 @@
  * limitations under the License.
  */
 
-package org.apache.jena.web;
-
+package org.apache.jena.web;
+
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
-
-public interface DatasetGraphAccessor
-{
-    public Graph httpGet() ; 
-    public Graph httpGet(Node graphName) ;
-    
-    public boolean httpHead() ; 
-    public boolean httpHead(Node graphName) ;
-    
-    // Replace/create graph
-    public void httpPut(Graph data) ;
-    public void httpPut(Node graphName, Graph data) ;
-
-    // Remove graph
-    public void httpDelete() ;
-    public void httpDelete(Node graphName) ;
-
-    // Update graph
-    public void httpPost(Graph data) ;
-    public void httpPost(Node graphName, Graph data) ;
-
-    // Update graph
-    public void httpPatch(Graph data) ;
-    public void httpPatch(Node graphName, Graph data) ;
+
+public interface DatasetGraphAccessor
+{
+    public Graph httpGet() ; 
+    public Graph httpGet(Node graphName) ;
+    
+    public boolean httpHead() ; 
+    public boolean httpHead(Node graphName) ;
+    
+    // Replace/create graph
+    public void httpPut(Graph data) ;
+    public void httpPut(Node graphName, Graph data) ;
+
+    // Remove graph
+    public void httpDelete() ;
+    public void httpDelete(Node graphName) ;
+
+    // Update graph
+    public void httpPost(Graph data) ;
+    public void httpPost(Node graphName, Graph data) ;
+
+    // Update graph
+    public void httpPatch(Graph data) ;
+    public void httpPatch(Node graphName, Graph data) ;
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorBasic.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorBasic.java b/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorBasic.java
index ecba83e..2acf277 100644
--- a/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorBasic.java
+++ b/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorBasic.java
@@ -16,39 +16,39 @@
  * limitations under the License.
  */
 
-package org.apache.jena.web;
-
-
+package org.apache.jena.web;
+
+
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.GraphUtil ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.sparql.core.DatasetGraph ;
-
-/** 
- * General implementation of operations for the SPARQL HTTP Update protocol
- * over a DatasetGraph.
- */
-public class DatasetGraphAccessorBasic implements DatasetGraphAccessor
-{
-    private DatasetGraph dataset ;
-    
-    public DatasetGraphAccessorBasic(DatasetGraph dataset)
-    {
-        this.dataset = dataset ;
-    }
-    
-    @Override
-    public Graph httpGet()                      { return dataset.getDefaultGraph() ; }
-    
-    @Override
-    public Graph httpGet(Node graphName)        { return dataset.getGraph(graphName) ; }
-
-    @Override
-    public boolean httpHead()                   { return true ; }
-
-    @Override
-    public boolean httpHead(Node graphName)     { return dataset.containsGraph(graphName) ; }
-
+
+/** 
+ * General implementation of operations for the SPARQL HTTP Update protocol
+ * over a DatasetGraph.
+ */
+public class DatasetGraphAccessorBasic implements DatasetGraphAccessor
+{
+    private DatasetGraph dataset ;
+    
+    public DatasetGraphAccessorBasic(DatasetGraph dataset)
+    {
+        this.dataset = dataset ;
+    }
+    
+    @Override
+    public Graph httpGet()                      { return dataset.getDefaultGraph() ; }
+    
+    @Override
+    public Graph httpGet(Node graphName)        { return dataset.getGraph(graphName) ; }
+
+    @Override
+    public boolean httpHead()                   { return true ; }
+
+    @Override
+    public boolean httpHead(Node graphName)     { return dataset.containsGraph(graphName) ; }
+
     @Override
     public void httpPut(Graph data) {
         putGraph(dataset.getDefaultGraph(), data) ;
@@ -91,13 +91,13 @@ public class DatasetGraphAccessorBasic implements DatasetGraphAccessor
         }
         mergeGraph(ng, data) ;
     }
-
-    @Override
-    public void httpPatch(Graph data) {  httpPost(data) ; }
-    
-    @Override
-    public void httpPatch(Node graphName, Graph data) {  httpPost(graphName, data) ;}
-
+
+    @Override
+    public void httpPatch(Graph data) {  httpPost(data) ; }
+    
+    @Override
+    public void httpPatch(Node graphName, Graph data) {  httpPost(graphName, data) ;}
+
     private void putGraph(Graph destGraph, Graph data) {
         clearGraph(destGraph) ;
         mergeGraph(destGraph, data) ;
@@ -110,6 +110,6 @@ public class DatasetGraphAccessorBasic implements DatasetGraphAccessor
 
     private void mergeGraph(Graph graph, Graph data) {
         GraphUtil.addInto(graph, data) ;
-    }
-
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/test/java/org/apache/jena/query/TS_ParamString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/query/TS_ParamString.java b/jena-arq/src/test/java/org/apache/jena/query/TS_ParamString.java
index bba2a1a..866d066 100644
--- a/jena-arq/src/test/java/org/apache/jena/query/TS_ParamString.java
+++ b/jena-arq/src/test/java/org/apache/jena/query/TS_ParamString.java
@@ -1,31 +1,31 @@
-/**
- * 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.query;
-
-import org.junit.runner.RunWith ;
-import org.junit.runners.Suite ;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses( {
-    TestParameterizedSparqlString.class
-})
-
-public class TS_ParamString
-{ }
-
+/**
+ * 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.query;
+
+import org.junit.runner.RunWith ;
+import org.junit.runners.Suite ;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses( {
+    TestParameterizedSparqlString.class
+})
+
+public class TS_ParamString
+{ }
+


[26/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
index e096688..b6d7460 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java
@@ -1,1710 +1,1710 @@
-/**
- * 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.query;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.regex.MatchResult;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.jena.atlas.lib.Pair;
-import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.iri.IRI;
-import org.apache.jena.rdf.model.Literal ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.rdf.model.RDFNode ;
-import org.apache.jena.shared.PrefixMapping ;
-import org.apache.jena.shared.impl.PrefixMappingImpl ;
-import org.apache.jena.sparql.ARQException ;
-import org.apache.jena.sparql.serializer.SerializationContext ;
-import org.apache.jena.sparql.util.FmtUtils ;
-import org.apache.jena.sparql.util.NodeFactoryExtra ;
-import org.apache.jena.update.UpdateFactory ;
-import org.apache.jena.update.UpdateRequest ;
-
-/**
- * <p>
- * A Parameterized SPARQL String is a SPARQL query/update into which values may
- * be injected.
- * </p>
- * <h3>Injecting Values</h3>
- * <p>
- * Values may be injected in several ways:
- * </p>
- * <ul>
- * <li>By treating a variable in the SPARQL string as a parameter</li>
- * <li>Using JDBC style positional parameters</li>
- * <li>Appending values directly to the command text being built</li>
- * </ul>
- * <h4>Variable Parameters</h3>
- * <p>
- * Any variable in the command may have a value injected to it, injecting a
- * value replaces all usages of that variable in the command i.e. substitutes
- * the variable for a constant, injection is done by textual substitution.
- * </p> <h4>Positional Parameters</h4>
- * <p>
- * You can use JDBC style positional parameters if you prefer, a JDBC style
- * parameter is a single {@code ?} followed by whitespace or certain punctuation
- * characters (currently {@code ; , .}). Positional parameters have a unique
- * index which reflects the order in which they appear in the string. Positional
- * parameters use a zero based index.
- * </p>
- * <h4>Buffer Usage</h3> </p> Additionally you may use this purely as a
- * {@link StringBuffer} replacement for creating queries since it provides a
- * large variety of convenience methods for appending things either as-is or as
- * nodes (which causes appropriate formatting to be applied). </p>
- * <h3>Intended Usage</h3>
- * <p>
- * The intended usage of this is where using a {@link QuerySolutionMap} as
- * initial bindings is either inappropriate or not possible e.g.
- * </p>
- * <ul>
- * <li>Generating query/update strings in code without lots of error prone and
- * messy string concatenation</li>
- * <li>Preparing a query/update for remote execution</li>
- * <li>Where you do not want to simply say some variable should have a certain
- * value but rather wish to insert constants into the query/update in place of
- * variables</li>
- * <li>Defending against SPARQL injection when creating a query/update using
- * some external input, see SPARQL Injection notes for limitations.</li>
- * <li>Provide a more convenient way to prepend common prefixes to your query</li>
- * </ul>
- * <p>
- * This class is useful for preparing both queries and updates hence the generic
- * name as it provides programmatic ways to replace variables in the query with
- * constants and to add prefix and base declarations. A {@link Query} or
- * {@link UpdateRequest} can be created using the {@link #asQuery()} and
- * {@link #asUpdate()} methods assuming the command an instance represents is
- * actually valid as a query/update.
- * </p>
- * <h3>Warnings</h3>
- * <ol>
- * <li>Note that this class does not in any way check that your command is
- * syntactically correct until such time as you try and parse it as a
- * {@link Query} or {@link UpdateRequest}.</li>
- * <li>Also note that injection is done purely based on textual replacement, it
- * does not understand or respect variable scope in any way. For example if your
- * command text contains sub queries you should ensure that variables within the
- * sub query which you don't want replaced have distinct names from those in the
- * outer query you do want replaced (or vice versa)</li>
- * </ol>
- * <h3>SPARQL Injection Notes</h3>
- * <p>
- * While this class was in part designed to prevent SPARQL injection it is by no
- * means foolproof because it works purely at the textual level. The current
- * version of the code addresses some possible attack vectors that the
- * developers have identified but we do not claim to be sufficiently devious to
- * have thought of and prevented every possible attack vector.
- * </p>
- * <p>
- * Therefore we <strong>strongly</strong> recommend that users concerned about
- * SPARQL Injection attacks perform their own validation on provided parameters
- * and test their use of this class themselves prior to its use in any security
- * conscious deployment. We also recommend that users do not use easily
- * guess-able variable names for their parameters as these can allow a chained
- * injection attack though generally speaking the code should prevent these.
- * </p>
- */
-public class ParameterizedSparqlString implements PrefixMapping {
-
-    private Model model = ModelFactory.createDefaultModel();
-
-    private StringBuilder cmd = new StringBuilder();
-    private String baseUri;
-    private Map<String, Node> params = new HashMap<>();
-    private Map<Integer, Node> positionalParams = new HashMap<>();
-    private PrefixMapping prefixes;
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param map
-     *            Initial Parameters to inject
-     * @param base
-     *            Base URI
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(String command, QuerySolutionMap map, String base, PrefixMapping prefixes) {
-        if (command != null)
-            this.cmd.append(command);
-        this.setParams(map);
-        this.baseUri = (base != null && !base.equals("") ? base : null);
-        this.prefixes = new PrefixMappingImpl();
-        if (prefixes != null)
-            this.prefixes.setNsPrefixes(prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param map
-     *            Initial Parameters to inject
-     * @param base
-     *            Base URI
-     */
-    public ParameterizedSparqlString(String command, QuerySolutionMap map, String base) {
-        this(command, map, base, null);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param map
-     *            Initial Parameters to inject
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(String command, QuerySolutionMap map, PrefixMapping prefixes) {
-        this(command, map, null, prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param map
-     *            Initial Parameters to inject
-     */
-    public ParameterizedSparqlString(String command, QuerySolutionMap map) {
-        this(command, map, null, null);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param base
-     *            Base URI
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(String command, String base, PrefixMapping prefixes) {
-        this(command, null, base, prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(String command, PrefixMapping prefixes) {
-        this(command, null, null, prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     * @param base
-     *            Base URI
-     */
-    public ParameterizedSparqlString(String command, String base) {
-        this(command, null, base, null);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param command
-     *            Raw Command Text
-     */
-    public ParameterizedSparqlString(String command) {
-        this(command, null, null, null);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param map
-     *            Initial Parameters to inject
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(QuerySolutionMap map, PrefixMapping prefixes) {
-        this(null, map, null, prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param map
-     *            Initial Parameters to inject
-     */
-    public ParameterizedSparqlString(QuerySolutionMap map) {
-        this(null, map, null, null);
-    }
-
-    /**
-     * Creates a new parameterized string
-     * 
-     * @param prefixes
-     *            Prefix Mapping
-     */
-    public ParameterizedSparqlString(PrefixMapping prefixes) {
-        this(null, null, null, prefixes);
-    }
-
-    /**
-     * Creates a new parameterized string with an empty command text
-     */
-    public ParameterizedSparqlString() {
-        this("", null, null, null);
-    }
-
-    /**
-     * Sets the command text, overwriting any existing command text. If you want
-     * to append to the command text use one of the {@link #append(String)},
-     * {@link #appendIri(String)}, {@link #appendLiteral(String)} or
-     * {@link #appendNode(Node)} methods instead
-     * 
-     * @param command
-     *            Command Text
-     */
-    public void setCommandText(String command) {
-        this.cmd = new StringBuilder();
-        this.cmd.append(command);
-    }
-
-    /**
-     * Appends some text as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(String)} or {@link #appendIri(String)} method as
-     * appropriate
-     * 
-     * @param text
-     *            Text to append
-     */
-    public void append(String text) {
-        this.cmd.append(text);
-    }
-
-    /**
-     * Appends a character as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using one of the
-     * {@code appendLiteral()} methods
-     * 
-     * @param c
-     *            Character to append
-     */
-    public void append(char c) {
-        this.cmd.append(c);
-    }
-
-    /**
-     * Appends a boolean as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(boolean)} method
-     * 
-     * @param b
-     *            Boolean to append
-     */
-    public void append(boolean b) {
-        this.cmd.append(b);
-    }
-
-    /**
-     * Appends a double as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(double)} method
-     * 
-     * @param d
-     *            Double to append
-     */
-    public void append(double d) {
-        this.cmd.append(d);
-    }
-
-    /**
-     * Appends a float as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(float)} method
-     * 
-     * @param f
-     *            Float to append
-     */
-    public void append(float f) {
-        this.cmd.append(f);
-    }
-
-    /**
-     * Appends an integer as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(int)} method
-     * 
-     * @param i
-     *            Integer to append
-     */
-    public void append(int i) {
-        this.cmd.append(i);
-    }
-
-    /**
-     * Appends a long as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider using the
-     * {@link #appendLiteral(long)} method
-     * 
-     * @param l
-     *            Long to append
-     */
-    public void append(long l) {
-        this.cmd.append(l);
-    }
-
-    /**
-     * Appends an object as-is to the existing command text, to ensure correct
-     * formatting when used as a constant consider converting into a more
-     * specific type and using the appropriate {@code appendLiteral()},
-     * {@code appendIri()} or {@code appendNode} methods
-     * 
-     * @param obj
-     *            Object to append
-     */
-    public void append(Object obj) {
-        this.cmd.append(obj);
-    }
-
-    /**
-     * Appends a Node to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param n
-     *            Node to append
-     */
-    public void appendNode(Node n) {
-        SerializationContext context = new SerializationContext(this.prefixes);
-        context.setBaseIRI(this.baseUri);
-        this.cmd.append(this.stringForNode(n, context));
-    }
-
-    /**
-     * Appends a Node to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param n
-     *            Node to append
-     */
-    public void appendNode(RDFNode n) {
-        this.appendNode(n.asNode());
-    }
-
-    /**
-     * Appends a URI to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param uri
-     *            URI to append
-     */
-    public void appendIri(String uri) {
-        this.appendNode(NodeFactory.createURI(uri));
-    }
-
-    /**
-     * Appends an IRI to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param iri
-     *            IRI to append
-     */
-    public void appendIri(IRI iri) {
-        this.appendNode(NodeFactory.createURI(iri.toString()));
-    }
-
-    /**
-     * Appends a simple literal as a constant using appropriate formatting
-     * 
-     * @param value
-     *            Lexical Value
-     */
-    public void appendLiteral(String value) {
-        this.appendNode(NodeFactoryExtra.createLiteralNode(value, null, null));
-    }
-
-    /**
-     * Appends a literal with a lexical value and language to the command text
-     * as a constant using appropriate formatting
-     * 
-     * @param value
-     *            Lexical Value
-     * @param lang
-     *            Language
-     */
-    public void appendLiteral(String value, String lang) {
-        this.appendNode(NodeFactoryExtra.createLiteralNode(value, lang, null));
-    }
-
-    /**
-     * Appends a Typed Literal to the command text as a constant using
-     * appropriate formatting
-     * 
-     * @param value
-     *            Lexical Value
-     * @param datatype
-     *            Datatype
-     */
-    public void appendLiteral(String value, RDFDatatype datatype) {
-        this.appendNode(NodeFactoryExtra.createLiteralNode(value, null, datatype.getURI()));
-    }
-
-    /**
-     * Appends a boolean to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param b
-     *            Boolean to append
-     */
-    public void appendLiteral(boolean b) {
-        this.appendNode(this.model.createTypedLiteral(b));
-    }
-
-    /**
-     * Appends an integer to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param i
-     *            Integer to append
-     */
-    public void appendLiteral(int i) {
-        this.appendNode(NodeFactoryExtra.intToNode(i));
-    }
-
-    /**
-     * Appends a long to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param l
-     *            Long to append
-     */
-    public void appendLiteral(long l) {
-        this.appendNode(NodeFactoryExtra.intToNode(l));
-    }
-
-    /**
-     * Appends a float to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param f
-     *            Float to append
-     */
-    public void appendLiteral(float f) {
-        this.appendNode(this.model.createTypedLiteral(f));
-    }
-
-    /**
-     * Appends a double to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param d
-     *            Double to append
-     */
-    public void appendLiteral(double d) {
-        this.appendNode(this.model.createTypedLiteral(d));
-    }
-
-    /**
-     * Appends a date time to the command text as a constant using appropriate
-     * formatting
-     * 
-     * @param dt
-     *            Date Time to append
-     */
-    public void appendLiteral(Calendar dt) {
-        this.appendNode(this.model.createTypedLiteral(dt));
-    }
-
-    /**
-     * Gets the basic Command Text
-     * <p>
-     * <strong>Note:</strong> This will not reflect any injected parameters, to
-     * see the command with injected parameters invoke the {@link #toString()}
-     * method
-     * </p>
-     * 
-     * @return Command Text
-     */
-    public String getCommandText() {
-        return this.cmd.toString();
-    }
-
-    /**
-     * Sets the Base URI which will be prepended to the query/update
-     * 
-     * @param base
-     *            Base URI
-     */
-    public void setBaseUri(String base) {
-        this.baseUri = base;
-    }
-
-    /**
-     * Gets the Base URI which will be prepended to a query
-     * 
-     * @return Base URI
-     */
-    public String getBaseUri() {
-        return this.baseUri;
-    }
-
-    /**
-     * Helper method which does the validation of the parameters
-     * 
-     * @param n
-     *            Node
-     */
-    protected void validateParameterValue(Node n) {
-        if (n.isURI()) {
-            if (n.getURI().contains(">"))
-                throw new ARQException("Value for the parameter contains a SPARQL injection risk");
-        }
-    }
-
-    /**
-     * Sets the Parameters
-     * 
-     * @param map
-     *            Parameters
-     */
-    public void setParams(QuerySolutionMap map) {
-        if (map != null) {
-            Iterator<String> iter = map.varNames();
-            while (iter.hasNext()) {
-                String var = iter.next();
-                this.setParam(var, map.get(var).asNode());
-            }
-        }
-    }
-
-    /**
-     * Sets a Positional Parameter
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given variable
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param n
-     *            Node
-     */
-    public void setParam(int index, Node n) {
-        if (index < 0)
-            throw new IndexOutOfBoundsException();
-        if (n != null) {
-            this.validateParameterValue(n);
-            this.positionalParams.put(index, n);
-        } else {
-            this.positionalParams.remove(index);
-        }
-    }
-
-    /**
-     * Sets a variable parameter
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param n
-     *            Value
-     * 
-     */
-    public void setParam(String var, Node n) {
-        if (var == null)
-            throw new IllegalArgumentException("var cannot be null");
-        if (var.startsWith("?") || var.startsWith("$"))
-            var = var.substring(1);
-        if (n != null) {
-            this.validateParameterValue(n);
-            this.params.put(var, n);
-        } else {
-            this.params.remove(var);
-        }
-    }
-
-    /**
-     * Sets a positional parameter
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param n
-     *            Node
-     */
-    public void setParam(int index, RDFNode n) {
-        this.setParam(index, n.asNode());
-    }
-
-    /**
-     * Sets a variable parameter
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param n
-     *            Value
-     */
-    public void setParam(String var, RDFNode n) {
-        this.setParam(var, n.asNode());
-    }
-
-    /**
-     * Sets a positional parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param iri
-     *            IRI
-     */
-    public void setIri(int index, String iri) {
-        this.setParam(index, NodeFactory.createURI(iri));
-    }
-
-    /**
-     * Sets a variable parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param iri
-     *            IRI
-     */
-    public void setIri(String var, String iri) {
-        this.setParam(var, NodeFactory.createURI(iri));
-    }
-
-    /**
-     * Sets a positional parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param iri
-     *            IRI
-     */
-    public void setIri(int index, IRI iri) {
-        this.setIri(index, iri.toString());
-    }
-
-    /**
-     * Sets a variable parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param iri
-     *            IRI
-     */
-    public void setIri(String var, IRI iri) {
-        this.setIri(var, iri.toString());
-    }
-
-    /**
-     * Sets a positional parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param url
-     *            URL
-     */
-    public void setIri(int index, URL url) {
-        this.setIri(index, url.toString());
-    }
-
-    /**
-     * Sets a variable parameter to an IRI
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param url
-     *            URL used as IRI
-     * 
-     */
-    public void setIri(String var, URL url) {
-        this.setIri(var, url.toString());
-    }
-
-    /**
-     * Sets a positional parameter to a Literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param lit
-     *            Value
-     * 
-     */
-    public void setLiteral(int index, Literal lit) {
-        this.setParam(index, lit.asNode());
-    }
-
-    /**
-     * Sets a variable parameter to a Literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param lit
-     *            Value
-     * 
-     */
-    public void setLiteral(String var, Literal lit) {
-        this.setParam(var, lit.asNode());
-    }
-
-    /**
-     * Sets a positional parameter to a literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param value
-     *            Lexical Value
-     * 
-     */
-    public void setLiteral(int index, String value) {
-        this.setParam(index, NodeFactoryExtra.createLiteralNode(value, null, null));
-    }
-
-    /**
-     * Sets a variable parameter to a literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param value
-     *            Lexical Value
-     * 
-     */
-    public void setLiteral(String var, String value) {
-        this.setParam(var, NodeFactoryExtra.createLiteralNode(value, null, null));
-    }
-
-    /**
-     * Sets a positional parameter to a literal with a language
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional index
-     * @param value
-     *            Lexical Value
-     * @param lang
-     *            Language
-     * 
-     */
-    public void setLiteral(int index, String value, String lang) {
-        this.setParam(index, NodeFactoryExtra.createLiteralNode(value, lang, null));
-    }
-
-    /**
-     * Sets a variable parameter to a literal with a language
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param value
-     *            Lexical Value
-     * @param lang
-     *            Language
-     * 
-     */
-    public void setLiteral(String var, String value, String lang) {
-        this.setParam(var, NodeFactoryExtra.createLiteralNode(value, lang, null));
-    }
-
-    /**
-     * Sets a positional arameter to a typed literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(int)} for the given index
-     * </p>
-     * 
-     * @param index
-     *            Positional Index
-     * @param value
-     *            Lexical Value
-     * @param datatype
-     *            Datatype
-     * 
-     */
-    public void setLiteral(int index, String value, RDFDatatype datatype) {
-        this.setParam(index, this.model.createTypedLiteral(value, datatype));
-    }
-
-    /**
-     * Sets a variable parameter to a typed literal
-     * <p>
-     * Setting a parameter to null is equivalent to calling
-     * {@link #clearParam(String)} for the given variable
-     * </p>
-     * 
-     * @param var
-     *            Variable
-     * @param value
-     *            Lexical Value
-     * @param datatype
-     *            Datatype
-     * 
-     */
-    public void setLiteral(String var, String value, RDFDatatype datatype) {
-        this.setParam(var, this.model.createTypedLiteral(value, datatype));
-    }
-
-    /**
-     * Sets a positional parameter to a boolean literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param value
-     *            boolean
-     */
-    public void setLiteral(int index, boolean value) {
-        this.setParam(index, this.model.createTypedLiteral(value));
-    }
-
-    /**
-     * Sets a variable parameter to a boolean literal
-     * 
-     * @param var
-     *            Variable
-     * @param value
-     *            boolean
-     */
-    public void setLiteral(String var, boolean value) {
-        this.setParam(var, this.model.createTypedLiteral(value));
-    }
-
-    /**
-     * Sets a positional parameter to an integer literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param i
-     *            Integer Value
-     */
-    public void setLiteral(int index, int i) {
-        this.setParam(index, NodeFactoryExtra.intToNode(i));
-    }
-
-    /**
-     * Sets a variable parameter to an integer literal
-     * 
-     * @param var
-     *            Variable
-     * @param i
-     *            Integer Value
-     */
-    public void setLiteral(String var, int i) {
-        this.setParam(var, NodeFactoryExtra.intToNode(i));
-    }
-
-    /**
-     * Sets a positional parameter to an integer literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param l
-     *            Integer Value
-     */
-    public void setLiteral(int index, long l) {
-        this.setParam(index, NodeFactoryExtra.intToNode(l));
-    }
-
-    /**
-     * Sets a variable parameter to an integer literal
-     * 
-     * @param var
-     *            Variable
-     * @param l
-     *            Integer Value
-     */
-    public void setLiteral(String var, long l) {
-        this.setParam(var, NodeFactoryExtra.intToNode(l));
-    }
-
-    /**
-     * Sets a positional parameter to a float literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param f
-     *            Float value
-     */
-    public void setLiteral(int index, float f) {
-        this.setParam(index, NodeFactoryExtra.floatToNode(f));
-    }
-
-    /**
-     * Sets a variable parameter to a float literal
-     * 
-     * @param var
-     *            Variable
-     * @param f
-     *            Float value
-     */
-    public void setLiteral(String var, float f) {
-        this.setParam(var, NodeFactoryExtra.floatToNode(f));
-    }
-
-    /**
-     * Sets a positional parameter to a double literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param d
-     *            Double value
-     */
-    public void setLiteral(int index, double d) {
-        this.setParam(index, this.model.createTypedLiteral(d));
-    }
-
-    /**
-     * Sets a variable parameter to a double literal
-     * 
-     * @param var
-     *            Variable
-     * @param d
-     *            Double value
-     */
-    public void setLiteral(String var, double d) {
-        this.setParam(var, this.model.createTypedLiteral(d));
-    }
-
-    /**
-     * Sets a positional parameter to a date time literal
-     * 
-     * @param index
-     *            Positional Index
-     * @param dt
-     *            Date Time value
-     */
-    public void setLiteral(int index, Calendar dt) {
-        this.setParam(index, this.model.createTypedLiteral(dt));
-    }
-
-    /**
-     * Sets a variable parameter to a date time literal
-     * 
-     * @param var
-     *            Variable
-     * @param dt
-     *            Date Time value
-     */
-    public void setLiteral(String var, Calendar dt) {
-        this.setParam(var, this.model.createTypedLiteral(dt));
-    }
-
-    /**
-     * Gets the current value for a variable parameter
-     * 
-     * @param var
-     *            Variable
-     * @return Current value or null if not set
-     */
-    public Node getParam(String var) {
-        return this.params.get(var);
-    }
-
-    /**
-     * Gets the current value for a positional parameter
-     * 
-     * @param index
-     *            Positional Index
-     * @return Current value or null if not set
-     */
-    public Node getParam(int index) {
-        return this.positionalParams.get(index);
-    }
-
-    /**
-     * Gets the variable names which are currently treated as variable
-     * parameters (i.e. have values set for them)
-     * 
-     * @return Iterator of variable names
-     */
-    @Deprecated
-    public Iterator<String> getVars() {
-        return this.params.keySet().iterator();
-    }
-
-    /**
-     * Gets the map of currently set variable parameters, this will be an
-     * unmodifiable map
-     * 
-     * @return Map of variable names and values
-     */
-    public Map<String, Node> getVariableParameters() {
-        return Collections.unmodifiableMap(this.params);
-    }
-
-    /**
-     * Gets the map of currently set positional parameters, this will be an
-     * unmodifiable map
-     * 
-     * @return Map of positional indexes and values
-     */
-    public Map<Integer, Node> getPositionalParameters() {
-        return Collections.unmodifiableMap(this.positionalParams);
-    }
-
-    // TODO: Detecting eligible variable parameters
-    // public Iterator<String> getEligibleVariableParameters() {
-    //
-    // }
-
-    /**
-     * Gets the eligible positional parameters i.e. detected positional
-     * parameters that may be set in the command string as it currently stands
-     * 
-     * @return Iterator of eligible positional parameters
-     */
-    public Iterator<Integer> getEligiblePositionalParameters() {
-        Pattern p = Pattern.compile("(\\?)[\\s;,.]");
-        List<Integer> positions = new ArrayList<>();
-        int index = 0;
-        Matcher matcher = p.matcher(this.cmd.toString());
-        while (matcher.find()) {
-            positions.add(index);
-            index++;
-        }
-        return positions.iterator();
-    }
-
-    /**
-     * Clears the value for a variable parameter so the given variable will not
-     * have a value injected
-     * 
-     * @param var
-     *            Variable
-     */
-    public void clearParam(String var) {
-        this.params.remove(var);
-    }
-
-    /**
-     * Clears the value for a positional parameter
-     * 
-     * @param index
-     *            Positional Index
-     */
-    public void clearParam(int index) {
-        this.positionalParams.remove(index);
-    }
-
-    /**
-     * Clears all values for both variable and positional parameters
-     */
-    public void clearParams() {
-        this.params.clear();
-        this.positionalParams.clear();
-    }
-
-    /**
-     * Helper method which checks whether it is safe to inject to a variable
-     * parameter the given value
-     * 
-     * @param command
-     *            Current command string
-     * @param var
-     *            Variable
-     * @param n
-     *            Value to inject
-     * @throws ARQException
-     *             Thrown if not safe to inject, error message will describe why
-     *             it is unsafe to inject
-     */
-    protected void validateSafeToInject(String command, String var, Node n) throws ARQException {
-        // Looks for the known injection attack vectors and throws an error if
-        // any are encountered
-
-        // A ?var surrounded by " or ' where the variable is a literal is an
-        // attack vector
-        Pattern p = Pattern.compile("\"[?$]" + var + "\"|'[?$]" + var + "'");
-
-        if (p.matcher(command).find() && n.isLiteral()) {
-            throw new ARQException(
-                    "Command string is vunerable to injection attack, variable ?"
-                            + var
-                            + " appears surrounded directly by quotes and is bound to a literal which provides a SPARQL injection attack vector");
-        }
-
-        // Parse out delimiter info
-        DelimiterInfo delims = this.findDelimiters(command);
-
-        // Check each occurrence of the variable for safety
-        p = Pattern.compile("([?$]" + var + ")([^\\w]|$)");
-        Matcher matcher = p.matcher(command);
-        while (matcher.find()) {
-            MatchResult posMatch = matcher.toMatchResult();
-
-            if (n.isLiteral()) {
-                if (delims.isInsideLiteral(posMatch.start(1), posMatch.end(1))) {
-                    throw new ARQException(
-                            "Command string is vunerable to injection attack, variable ?"
-                                    + var
-                                    + " appears inside of a literal and is bound to a literal which provides a SPARQL injection attack vector");
-                }
-            }
-        }
-    }
-
-    /**
-     * Helper method which checks whether it is safe to inject to a positional
-     * parameter the given value
-     * 
-     * @param command
-     *            Current command string
-     * @param index
-     *            Positional parameter index
-     * @param position
-     *            Position within the command string at which the positional
-     *            parameter occurs
-     * @param n
-     *            Value to inject
-     * @throws ARQException
-     *             Thrown if not safe to inject, error message will describe why
-     *             it is unsafe to inject
-     */
-    protected void validateSafeToInject(String command, int index, int position, Node n) throws ARQException {
-        // Parse out delimiter info
-        DelimiterInfo delims = this.findDelimiters(command);
-
-        // Check each occurrence of the variable for safety
-        if (n.isLiteral()) {
-            if (delims.isInsideLiteral(position, position)) {
-                throw new ARQException(
-                        "Command string is vunerable to injection attack, a positional paramter (index "
-                                + index
-                                + ") appears inside of a literal and is bound to a literal which provides a SPARQL injection attack vector");
-            }
-        }
-    }
-
-    /**
-     * Helper method which does light parsing on the command string to find the
-     * position of all relevant delimiters
-     * 
-     * @param command
-     *            Command String
-     * @return DelimiterInfo
-     */
-    protected final DelimiterInfo findDelimiters(String command) {
-        DelimiterInfo delims = new DelimiterInfo();
-        delims.parseFrom(command);
-        return delims;
-    }
-
-    protected final String stringForNode(Node n, SerializationContext context) {
-        String str = FmtUtils.stringForNode(n, context);
-        if (n.isLiteral() && str.contains("'")) {
-            // Should escape ' to avoid a possible injection vulnerability
-            str = str.replace("'", "\\'");
-        }
-        return str;
-    }
-
-    /**
-     * <p>
-     * This method is where the actual work happens, the original command text
-     * is always preserved and we just generated a temporary command string by
-     * prepending the defined Base URI and namespace prefixes at the start of
-     * the command and injecting the set parameters into a copy of that base
-     * command string and return the resulting command.
-     * </p>
-     * <p>
-     * This class makes no guarantees about the validity of the returned string
-     * for use as a SPARQL Query or Update, for example if a variable parameter
-     * was injected which was mentioned in the SELECT variables list you'd have
-     * a syntax error when you try to parse the query. If you run into issues
-     * like this try using a mixture of variable and positional parameters.
-     * </p>
-     * 
-     * @throws ARQException
-     *             May be thrown if the code detects a SPARQL Injection
-     *             vulnerability because of the interaction of the command
-     *             string and the injected variables
-     */
-    @Override
-    public String toString() {
-        String command = this.cmd.toString();
-        Pattern p;
-
-        // Go ahead and inject Variable Parameters
-        SerializationContext context = new SerializationContext(this.prefixes);
-        context.setBaseIRI(this.baseUri);
-        for (String var : this.params.keySet()) {
-            Node n = this.params.get(var);
-            if (n == null) {
-                continue;
-            }
-            this.validateSafeToInject(command, var, n);
-
-            p = Pattern.compile("([?$]" + var + ")([^\\w]|$)");
-            command = p.matcher(command).replaceAll(Matcher.quoteReplacement(this.stringForNode(n, context)) + "$2");
-        }
-
-        // Then inject Positional Parameters
-        // To do this we need to find the ? we will replace
-        p = Pattern.compile("(\\?)[\\s;,.]");
-        int index = -1;
-        int adj = 0;
-        Matcher matcher = p.matcher(command);
-        while (matcher.find()) {
-            index++;
-            MatchResult posMatch = matcher.toMatchResult();
-
-            Node n = this.positionalParams.get(index);
-            if (n == null)
-                continue;
-            this.validateSafeToInject(command, index, posMatch.start(1) + adj, n);
-
-            String nodeStr = this.stringForNode(n, context);
-            command = command.substring(0, posMatch.start() + adj) + nodeStr
-                    + command.substring(posMatch.start() + adj + 1);
-            // Because we are using a matcher over the string state prior to
-            // starting replacements we need to
-            // track the offset adjustments to make
-            adj += nodeStr.length() - 1;
-        }
-
-        // Build the final command string
-        StringBuilder finalCmd = new StringBuilder();
-
-        // Add BASE declaration
-        if (this.baseUri != null) {
-            finalCmd.append("BASE ");
-            finalCmd.append(FmtUtils.stringForURI(this.baseUri, null, null));
-            finalCmd.append('\n');
-        }
-
-        // Then pre-pend prefixes
-
-        for (String prefix : this.prefixes.getNsPrefixMap().keySet()) {
-            finalCmd.append("PREFIX ");
-            finalCmd.append(prefix);
-            finalCmd.append(": ");
-            finalCmd.append(FmtUtils.stringForURI(this.prefixes.getNsPrefixURI(prefix), null, null));
-            finalCmd.append('\n');
-        }
-
-        finalCmd.append(command);
-        return finalCmd.toString();
-    }
-
-    /**
-     * Attempts to take the command text with parameters injected from the
-     * {@link #toString()} method and parse it as a {@link Query}
-     * 
-     * @return Query if the command text is a valid SPARQL query
-     * @exception QueryException
-     *                Thrown if the command text does not parse
-     */
-    public Query asQuery() throws QueryException {
-        return QueryFactory.create(this.toString());
-    }
-
-    /**
-     * Attempts to take the command text with parameters injected from the
-     * {@link #toString()} method and parse it as a {@link UpdateRequest}
-     * 
-     * @return Update if the command text is a valid SPARQL Update request
-     *         (one/more update commands)
-     */
-    public UpdateRequest asUpdate() {
-        return UpdateFactory.create(this.toString());
-    }
-
-    /**
-     * Makes a full copy of this parameterized string
-     * 
-     * @return Copy of the string
-     */
-    public ParameterizedSparqlString copy() {
-        return this.copy(true, true, true);
-    }
-
-    /**
-     * Makes a copy of the command text, base URI and prefix mapping and
-     * optionally copies parameter values
-     * 
-     * @param copyParams
-     *            Whether to copy parameters
-     * @return Copy of the string
-     */
-    public ParameterizedSparqlString copy(boolean copyParams) {
-        return this.copy(copyParams, true, true);
-    }
-
-    /**
-     * Makes a copy of the command text and optionally copies other aspects
-     * 
-     * @param copyParams
-     *            Whether to copy parameters
-     * @param copyBase
-     *            Whether to copy the Base URI
-     * @param copyPrefixes
-     *            Whether to copy the prefix mappings
-     * @return Copy of the string
-     */
-    public ParameterizedSparqlString copy(boolean copyParams, boolean copyBase, boolean copyPrefixes) {
-        ParameterizedSparqlString copy = new ParameterizedSparqlString(this.cmd.toString(), null,
-                (copyBase ? this.baseUri : null), (copyPrefixes ? this.prefixes : null));
-        if (copyParams) {
-            Iterator<String> vars = this.getVars();
-            while (vars.hasNext()) {
-                String var = vars.next();
-                copy.setParam(var, this.getParam(var));
-            }
-            for (Entry<Integer, Node> entry : this.positionalParams.entrySet()) {
-                copy.setParam(entry.getKey(), entry.getValue());
-            }
-        }
-        return copy;
-    }
-
-    @Override
-    public PrefixMapping setNsPrefix(String prefix, String uri) {
-        return this.prefixes.setNsPrefix(prefix, uri);
-    }
-
-    @Override
-    public PrefixMapping removeNsPrefix(String prefix) {
-        return this.prefixes.removeNsPrefix(prefix);
-    }
-
-    @Override
-    public PrefixMapping setNsPrefixes(PrefixMapping other) {
-        return this.prefixes.setNsPrefixes(other);
-    }
-
-    @Override
-    public PrefixMapping setNsPrefixes(Map<String, String> map) {
-        return this.prefixes.setNsPrefixes(map);
-    }
-
-    @Override
-    public PrefixMapping withDefaultMappings(PrefixMapping map) {
-        return this.prefixes.withDefaultMappings(map);
-    }
-
-    @Override
-    public String getNsPrefixURI(String prefix) {
-        return this.prefixes.getNsPrefixURI(prefix);
-    }
-
-    @Override
-    public String getNsURIPrefix(String uri) {
-        return this.prefixes.getNsURIPrefix(uri);
-    }
-
-    @Override
-    public Map<String, String> getNsPrefixMap() {
-        return this.prefixes.getNsPrefixMap();
-    }
-
-    @Override
-    public String expandPrefix(String prefixed) {
-        return this.prefixes.expandPrefix(prefixed);
-    }
-
-    @Override
-    public String shortForm(String uri) {
-        return this.prefixes.shortForm(uri);
-    }
-
-    @Override
-    public String qnameFor(String uri) {
-        return this.prefixes.qnameFor(uri);
-    }
-
-    @Override
-    public PrefixMapping lock() {
-        return this.prefixes.lock();
-    }
-
-    @Override
-    public boolean samePrefixMappingAs(PrefixMapping other) {
-        return this.prefixes.samePrefixMappingAs(other);
-    }
-
-    /**
-     * Represents information about delimiters in a string
-     * 
-     */
-    private class DelimiterInfo {
-        private List<Pair<Integer, String>> starts = new ArrayList<>();
-        private Map<Integer, Integer> stops = new HashMap<>();
-
-        /**
-         * Parse delimiters from a string, discards any previously parsed
-         * information
-         * 
-         * @param command
-         *            Command string
-         */
-        public void parseFrom(String command) {
-            this.starts.clear();
-            this.stops.clear();
-
-            char[] cs = command.toCharArray();
-            for (int i = 0; i < cs.length; i++) {
-                switch (cs[i]) {
-                case '"':
-                    // Start of a Literal
-                    // Is it a long literal?
-                    if (i < cs.length - 2 && cs[i + 1] == '"' && cs[i + 2] == '"') {
-                        this.addStart(i, "\"\"\"");
-                        for (int j = i + 3; j < cs.length - 2; j++) {
-                            if (cs[j] == '"' && cs[j + 1] == '"' && cs[j + 2] == '"') {
-                                this.addStop(i, j + 2);
-                                i = j + 2;
-                            }
-                        }
-                        // Was unterminated
-                    } else {
-                        // Normal literal, scan till we see a " which is not
-                        // preceded by a \
-                        this.addStart(i, "\"");
-                        for (int j = i + 1; j < cs.length; j++) {
-                            if (cs[j] == '"' && cs[j - 1] != '\\') {
-                                this.addStop(i, j);
-                                i = j;
-                                continue;
-                            }
-                        }
-                        // Was unterminated
-                    }
-                    break;
-                case '<':
-                    // Start of a URI
-                    this.addStart(i, "<");
-                    for (int j = i + 1; j < cs.length; j++) {
-                        if (cs[j] == '>' && cs[j - 1] != '\\') {
-                            this.addStop(i, j);
-                            i = j;
-                            continue;
-                        }
-                    }
-                    // Was unterminated
-                    break;
-                case '\'':
-                    // Start of alternative literal form
-                    // Start of a Literal
-                    // Is it a long literal?
-                    if (i < cs.length - 2 && cs[i + 1] == '\'' && cs[i + 2] == '\'') {
-                        this.addStart(i, "'''");
-                        for (int j = i + 3; j < cs.length - 2; j++) {
-                            if (cs[j] == '\'' && cs[j + 1] == '\'' && cs[j + 2] == '\'') {
-                                this.addStop(i, j + 2);
-                                i = j + 2;
-                            }
-                        }
-                        // Was unterminated
-                    } else {
-                        // Normal literal, scan till we see a ' which is not
-                        // preceded by a \
-                        this.addStart(i, "'");
-                        for (int j = i + 1; j < cs.length; j++) {
-                            if (cs[j] == '\'' && cs[j - 1] != '\\') {
-                                this.addStop(i, j);
-                                i = j;
-                                continue;
-                            }
-                        }
-                        // Was unterminated
-                    }
-                    break;
-                case '#':
-                    // Start of a comment
-                    // Scan to next newline
-                    this.addStart(i, "#");
-                    for (int j = i + 1; j < cs.length; j++) {
-                        if (cs[j] == '\n' || cs[j] == '\r') {
-                            this.addStop(i, j);
-                            i = j;
-                            continue;
-                        }
-                    }
-                    this.addStop(i, cs.length - 1);
-                    break;
-                case '\n':
-                case '\r':
-                case '.':
-                case ',':
-                case ';':
-                case '(':
-                case ')':
-                case '{':
-                case '}':
-                case '[':
-                case ']':
-                    // Treat various punctuation as delimiters
-                    this.addStart(i, new String(new char[] { cs[i] }));
-                    this.addStop(i, i);
-                    break;
-                }
-            }
-        }
-
-        public void addStart(int index, String delim) {
-            this.starts.add(new Pair<>(index, delim));
-        }
-
-        public void addStop(int start, int stop) {
-            this.stops.put(start, stop);
-        }
-
-        public Pair<Integer, String> findBefore(int index) {
-            Pair<Integer, String> found = null;
-            for (Pair<Integer, String> pair : this.starts) {
-                if (pair.getLeft() < index)
-                    found = pair;
-                if (pair.getLeft() >= index)
-                    break;
-            }
-            return found;
-        }
-
-        public Pair<Integer, String> findAfter(int index) {
-            for (Pair<Integer, String> pair : this.starts) {
-                if (pair.getLeft() > index)
-                    return pair;
-            }
-            return null;
-        }
-
-        public boolean isInsideLiteral(int start, int stop) {
-            Pair<Integer, String> pair = this.findBefore(start);
-            if (pair == null)
-                return false;
-            if (pair.getRight().equals("\"")) {
-                Integer nearestStop = this.stops.get(pair.getLeft());
-                if (nearestStop == null)
-                    return true; // Inside unterminated literal
-                return (nearestStop > stop); // May be inside a literal
-            } else {
-                // Not inside a literal
-                return false;
-            }
-        }
-
-        public boolean isInsideAltLiteral(int start, int stop) {
-            Pair<Integer, String> pair = this.findBefore(start);
-            if (pair == null)
-                return false;
-            if (pair.getRight().equals("'")) {
-                Integer nearestStop = this.stops.get(pair.getLeft());
-                if (nearestStop == null)
-                    return true; // Inside unterminated literal
-                return (nearestStop > stop); // May be inside a literal
-            } else {
-                // Not inside a literal
-                return false;
-            }
-        }
-
-        public boolean isBetweenLiterals(int start, int stop) {
-            Pair<Integer, String> pairBefore = this.findBefore(start);
-            if (pairBefore == null)
-                return false;
-            if (pairBefore.getRight().equals("\"")) {
-                Integer stopBefore = this.stops.get(pairBefore.getLeft());
-                if (stopBefore == null)
-                    return false; // Inside unterminated literal
-
-                // We occur after a literal, is there a subsequent literal?
-                Pair<Integer, String> pairAfter = this.findAfter(stop);
-                return pairAfter != null && pairAfter.getRight().equals("\"");
-            } else {
-                // Previous deliminator is not that of a literal
-                return false;
-            }
-        }
-
-    }
-}
+/**
+ * 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.query;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.regex.MatchResult;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.jena.atlas.lib.Pair;
+import org.apache.jena.datatypes.RDFDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.iri.IRI;
+import org.apache.jena.rdf.model.Literal ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.rdf.model.RDFNode ;
+import org.apache.jena.shared.PrefixMapping ;
+import org.apache.jena.shared.impl.PrefixMappingImpl ;
+import org.apache.jena.sparql.ARQException ;
+import org.apache.jena.sparql.serializer.SerializationContext ;
+import org.apache.jena.sparql.util.FmtUtils ;
+import org.apache.jena.sparql.util.NodeFactoryExtra ;
+import org.apache.jena.update.UpdateFactory ;
+import org.apache.jena.update.UpdateRequest ;
+
+/**
+ * <p>
+ * A Parameterized SPARQL String is a SPARQL query/update into which values may
+ * be injected.
+ * </p>
+ * <h3>Injecting Values</h3>
+ * <p>
+ * Values may be injected in several ways:
+ * </p>
+ * <ul>
+ * <li>By treating a variable in the SPARQL string as a parameter</li>
+ * <li>Using JDBC style positional parameters</li>
+ * <li>Appending values directly to the command text being built</li>
+ * </ul>
+ * <h4>Variable Parameters</h3>
+ * <p>
+ * Any variable in the command may have a value injected to it, injecting a
+ * value replaces all usages of that variable in the command i.e. substitutes
+ * the variable for a constant, injection is done by textual substitution.
+ * </p> <h4>Positional Parameters</h4>
+ * <p>
+ * You can use JDBC style positional parameters if you prefer, a JDBC style
+ * parameter is a single {@code ?} followed by whitespace or certain punctuation
+ * characters (currently {@code ; , .}). Positional parameters have a unique
+ * index which reflects the order in which they appear in the string. Positional
+ * parameters use a zero based index.
+ * </p>
+ * <h4>Buffer Usage</h3> </p> Additionally you may use this purely as a
+ * {@link StringBuffer} replacement for creating queries since it provides a
+ * large variety of convenience methods for appending things either as-is or as
+ * nodes (which causes appropriate formatting to be applied). </p>
+ * <h3>Intended Usage</h3>
+ * <p>
+ * The intended usage of this is where using a {@link QuerySolutionMap} as
+ * initial bindings is either inappropriate or not possible e.g.
+ * </p>
+ * <ul>
+ * <li>Generating query/update strings in code without lots of error prone and
+ * messy string concatenation</li>
+ * <li>Preparing a query/update for remote execution</li>
+ * <li>Where you do not want to simply say some variable should have a certain
+ * value but rather wish to insert constants into the query/update in place of
+ * variables</li>
+ * <li>Defending against SPARQL injection when creating a query/update using
+ * some external input, see SPARQL Injection notes for limitations.</li>
+ * <li>Provide a more convenient way to prepend common prefixes to your query</li>
+ * </ul>
+ * <p>
+ * This class is useful for preparing both queries and updates hence the generic
+ * name as it provides programmatic ways to replace variables in the query with
+ * constants and to add prefix and base declarations. A {@link Query} or
+ * {@link UpdateRequest} can be created using the {@link #asQuery()} and
+ * {@link #asUpdate()} methods assuming the command an instance represents is
+ * actually valid as a query/update.
+ * </p>
+ * <h3>Warnings</h3>
+ * <ol>
+ * <li>Note that this class does not in any way check that your command is
+ * syntactically correct until such time as you try and parse it as a
+ * {@link Query} or {@link UpdateRequest}.</li>
+ * <li>Also note that injection is done purely based on textual replacement, it
+ * does not understand or respect variable scope in any way. For example if your
+ * command text contains sub queries you should ensure that variables within the
+ * sub query which you don't want replaced have distinct names from those in the
+ * outer query you do want replaced (or vice versa)</li>
+ * </ol>
+ * <h3>SPARQL Injection Notes</h3>
+ * <p>
+ * While this class was in part designed to prevent SPARQL injection it is by no
+ * means foolproof because it works purely at the textual level. The current
+ * version of the code addresses some possible attack vectors that the
+ * developers have identified but we do not claim to be sufficiently devious to
+ * have thought of and prevented every possible attack vector.
+ * </p>
+ * <p>
+ * Therefore we <strong>strongly</strong> recommend that users concerned about
+ * SPARQL Injection attacks perform their own validation on provided parameters
+ * and test their use of this class themselves prior to its use in any security
+ * conscious deployment. We also recommend that users do not use easily
+ * guess-able variable names for their parameters as these can allow a chained
+ * injection attack though generally speaking the code should prevent these.
+ * </p>
+ */
+public class ParameterizedSparqlString implements PrefixMapping {
+
+    private Model model = ModelFactory.createDefaultModel();
+
+    private StringBuilder cmd = new StringBuilder();
+    private String baseUri;
+    private Map<String, Node> params = new HashMap<>();
+    private Map<Integer, Node> positionalParams = new HashMap<>();
+    private PrefixMapping prefixes;
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param map
+     *            Initial Parameters to inject
+     * @param base
+     *            Base URI
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(String command, QuerySolutionMap map, String base, PrefixMapping prefixes) {
+        if (command != null)
+            this.cmd.append(command);
+        this.setParams(map);
+        this.baseUri = (base != null && !base.equals("") ? base : null);
+        this.prefixes = new PrefixMappingImpl();
+        if (prefixes != null)
+            this.prefixes.setNsPrefixes(prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param map
+     *            Initial Parameters to inject
+     * @param base
+     *            Base URI
+     */
+    public ParameterizedSparqlString(String command, QuerySolutionMap map, String base) {
+        this(command, map, base, null);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param map
+     *            Initial Parameters to inject
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(String command, QuerySolutionMap map, PrefixMapping prefixes) {
+        this(command, map, null, prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param map
+     *            Initial Parameters to inject
+     */
+    public ParameterizedSparqlString(String command, QuerySolutionMap map) {
+        this(command, map, null, null);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param base
+     *            Base URI
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(String command, String base, PrefixMapping prefixes) {
+        this(command, null, base, prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(String command, PrefixMapping prefixes) {
+        this(command, null, null, prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     * @param base
+     *            Base URI
+     */
+    public ParameterizedSparqlString(String command, String base) {
+        this(command, null, base, null);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param command
+     *            Raw Command Text
+     */
+    public ParameterizedSparqlString(String command) {
+        this(command, null, null, null);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param map
+     *            Initial Parameters to inject
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(QuerySolutionMap map, PrefixMapping prefixes) {
+        this(null, map, null, prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param map
+     *            Initial Parameters to inject
+     */
+    public ParameterizedSparqlString(QuerySolutionMap map) {
+        this(null, map, null, null);
+    }
+
+    /**
+     * Creates a new parameterized string
+     * 
+     * @param prefixes
+     *            Prefix Mapping
+     */
+    public ParameterizedSparqlString(PrefixMapping prefixes) {
+        this(null, null, null, prefixes);
+    }
+
+    /**
+     * Creates a new parameterized string with an empty command text
+     */
+    public ParameterizedSparqlString() {
+        this("", null, null, null);
+    }
+
+    /**
+     * Sets the command text, overwriting any existing command text. If you want
+     * to append to the command text use one of the {@link #append(String)},
+     * {@link #appendIri(String)}, {@link #appendLiteral(String)} or
+     * {@link #appendNode(Node)} methods instead
+     * 
+     * @param command
+     *            Command Text
+     */
+    public void setCommandText(String command) {
+        this.cmd = new StringBuilder();
+        this.cmd.append(command);
+    }
+
+    /**
+     * Appends some text as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(String)} or {@link #appendIri(String)} method as
+     * appropriate
+     * 
+     * @param text
+     *            Text to append
+     */
+    public void append(String text) {
+        this.cmd.append(text);
+    }
+
+    /**
+     * Appends a character as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using one of the
+     * {@code appendLiteral()} methods
+     * 
+     * @param c
+     *            Character to append
+     */
+    public void append(char c) {
+        this.cmd.append(c);
+    }
+
+    /**
+     * Appends a boolean as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(boolean)} method
+     * 
+     * @param b
+     *            Boolean to append
+     */
+    public void append(boolean b) {
+        this.cmd.append(b);
+    }
+
+    /**
+     * Appends a double as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(double)} method
+     * 
+     * @param d
+     *            Double to append
+     */
+    public void append(double d) {
+        this.cmd.append(d);
+    }
+
+    /**
+     * Appends a float as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(float)} method
+     * 
+     * @param f
+     *            Float to append
+     */
+    public void append(float f) {
+        this.cmd.append(f);
+    }
+
+    /**
+     * Appends an integer as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(int)} method
+     * 
+     * @param i
+     *            Integer to append
+     */
+    public void append(int i) {
+        this.cmd.append(i);
+    }
+
+    /**
+     * Appends a long as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider using the
+     * {@link #appendLiteral(long)} method
+     * 
+     * @param l
+     *            Long to append
+     */
+    public void append(long l) {
+        this.cmd.append(l);
+    }
+
+    /**
+     * Appends an object as-is to the existing command text, to ensure correct
+     * formatting when used as a constant consider converting into a more
+     * specific type and using the appropriate {@code appendLiteral()},
+     * {@code appendIri()} or {@code appendNode} methods
+     * 
+     * @param obj
+     *            Object to append
+     */
+    public void append(Object obj) {
+        this.cmd.append(obj);
+    }
+
+    /**
+     * Appends a Node to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param n
+     *            Node to append
+     */
+    public void appendNode(Node n) {
+        SerializationContext context = new SerializationContext(this.prefixes);
+        context.setBaseIRI(this.baseUri);
+        this.cmd.append(this.stringForNode(n, context));
+    }
+
+    /**
+     * Appends a Node to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param n
+     *            Node to append
+     */
+    public void appendNode(RDFNode n) {
+        this.appendNode(n.asNode());
+    }
+
+    /**
+     * Appends a URI to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param uri
+     *            URI to append
+     */
+    public void appendIri(String uri) {
+        this.appendNode(NodeFactory.createURI(uri));
+    }
+
+    /**
+     * Appends an IRI to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param iri
+     *            IRI to append
+     */
+    public void appendIri(IRI iri) {
+        this.appendNode(NodeFactory.createURI(iri.toString()));
+    }
+
+    /**
+     * Appends a simple literal as a constant using appropriate formatting
+     * 
+     * @param value
+     *            Lexical Value
+     */
+    public void appendLiteral(String value) {
+        this.appendNode(NodeFactoryExtra.createLiteralNode(value, null, null));
+    }
+
+    /**
+     * Appends a literal with a lexical value and language to the command text
+     * as a constant using appropriate formatting
+     * 
+     * @param value
+     *            Lexical Value
+     * @param lang
+     *            Language
+     */
+    public void appendLiteral(String value, String lang) {
+        this.appendNode(NodeFactoryExtra.createLiteralNode(value, lang, null));
+    }
+
+    /**
+     * Appends a Typed Literal to the command text as a constant using
+     * appropriate formatting
+     * 
+     * @param value
+     *            Lexical Value
+     * @param datatype
+     *            Datatype
+     */
+    public void appendLiteral(String value, RDFDatatype datatype) {
+        this.appendNode(NodeFactoryExtra.createLiteralNode(value, null, datatype.getURI()));
+    }
+
+    /**
+     * Appends a boolean to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param b
+     *            Boolean to append
+     */
+    public void appendLiteral(boolean b) {
+        this.appendNode(this.model.createTypedLiteral(b));
+    }
+
+    /**
+     * Appends an integer to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param i
+     *            Integer to append
+     */
+    public void appendLiteral(int i) {
+        this.appendNode(NodeFactoryExtra.intToNode(i));
+    }
+
+    /**
+     * Appends a long to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param l
+     *            Long to append
+     */
+    public void appendLiteral(long l) {
+        this.appendNode(NodeFactoryExtra.intToNode(l));
+    }
+
+    /**
+     * Appends a float to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param f
+     *            Float to append
+     */
+    public void appendLiteral(float f) {
+        this.appendNode(this.model.createTypedLiteral(f));
+    }
+
+    /**
+     * Appends a double to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param d
+     *            Double to append
+     */
+    public void appendLiteral(double d) {
+        this.appendNode(this.model.createTypedLiteral(d));
+    }
+
+    /**
+     * Appends a date time to the command text as a constant using appropriate
+     * formatting
+     * 
+     * @param dt
+     *            Date Time to append
+     */
+    public void appendLiteral(Calendar dt) {
+        this.appendNode(this.model.createTypedLiteral(dt));
+    }
+
+    /**
+     * Gets the basic Command Text
+     * <p>
+     * <strong>Note:</strong> This will not reflect any injected parameters, to
+     * see the command with injected parameters invoke the {@link #toString()}
+     * method
+     * </p>
+     * 
+     * @return Command Text
+     */
+    public String getCommandText() {
+        return this.cmd.toString();
+    }
+
+    /**
+     * Sets the Base URI which will be prepended to the query/update
+     * 
+     * @param base
+     *            Base URI
+     */
+    public void setBaseUri(String base) {
+        this.baseUri = base;
+    }
+
+    /**
+     * Gets the Base URI which will be prepended to a query
+     * 
+     * @return Base URI
+     */
+    public String getBaseUri() {
+        return this.baseUri;
+    }
+
+    /**
+     * Helper method which does the validation of the parameters
+     * 
+     * @param n
+     *            Node
+     */
+    protected void validateParameterValue(Node n) {
+        if (n.isURI()) {
+            if (n.getURI().contains(">"))
+                throw new ARQException("Value for the parameter contains a SPARQL injection risk");
+        }
+    }
+
+    /**
+     * Sets the Parameters
+     * 
+     * @param map
+     *            Parameters
+     */
+    public void setParams(QuerySolutionMap map) {
+        if (map != null) {
+            Iterator<String> iter = map.varNames();
+            while (iter.hasNext()) {
+                String var = iter.next();
+                this.setParam(var, map.get(var).asNode());
+            }
+        }
+    }
+
+    /**
+     * Sets a Positional Parameter
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given variable
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param n
+     *            Node
+     */
+    public void setParam(int index, Node n) {
+        if (index < 0)
+            throw new IndexOutOfBoundsException();
+        if (n != null) {
+            this.validateParameterValue(n);
+            this.positionalParams.put(index, n);
+        } else {
+            this.positionalParams.remove(index);
+        }
+    }
+
+    /**
+     * Sets a variable parameter
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param n
+     *            Value
+     * 
+     */
+    public void setParam(String var, Node n) {
+        if (var == null)
+            throw new IllegalArgumentException("var cannot be null");
+        if (var.startsWith("?") || var.startsWith("$"))
+            var = var.substring(1);
+        if (n != null) {
+            this.validateParameterValue(n);
+            this.params.put(var, n);
+        } else {
+            this.params.remove(var);
+        }
+    }
+
+    /**
+     * Sets a positional parameter
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param n
+     *            Node
+     */
+    public void setParam(int index, RDFNode n) {
+        this.setParam(index, n.asNode());
+    }
+
+    /**
+     * Sets a variable parameter
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param n
+     *            Value
+     */
+    public void setParam(String var, RDFNode n) {
+        this.setParam(var, n.asNode());
+    }
+
+    /**
+     * Sets a positional parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param iri
+     *            IRI
+     */
+    public void setIri(int index, String iri) {
+        this.setParam(index, NodeFactory.createURI(iri));
+    }
+
+    /**
+     * Sets a variable parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param iri
+     *            IRI
+     */
+    public void setIri(String var, String iri) {
+        this.setParam(var, NodeFactory.createURI(iri));
+    }
+
+    /**
+     * Sets a positional parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param iri
+     *            IRI
+     */
+    public void setIri(int index, IRI iri) {
+        this.setIri(index, iri.toString());
+    }
+
+    /**
+     * Sets a variable parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param iri
+     *            IRI
+     */
+    public void setIri(String var, IRI iri) {
+        this.setIri(var, iri.toString());
+    }
+
+    /**
+     * Sets a positional parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param url
+     *            URL
+     */
+    public void setIri(int index, URL url) {
+        this.setIri(index, url.toString());
+    }
+
+    /**
+     * Sets a variable parameter to an IRI
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param url
+     *            URL used as IRI
+     * 
+     */
+    public void setIri(String var, URL url) {
+        this.setIri(var, url.toString());
+    }
+
+    /**
+     * Sets a positional parameter to a Literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param lit
+     *            Value
+     * 
+     */
+    public void setLiteral(int index, Literal lit) {
+        this.setParam(index, lit.asNode());
+    }
+
+    /**
+     * Sets a variable parameter to a Literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param lit
+     *            Value
+     * 
+     */
+    public void setLiteral(String var, Literal lit) {
+        this.setParam(var, lit.asNode());
+    }
+
+    /**
+     * Sets a positional parameter to a literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param value
+     *            Lexical Value
+     * 
+     */
+    public void setLiteral(int index, String value) {
+        this.setParam(index, NodeFactoryExtra.createLiteralNode(value, null, null));
+    }
+
+    /**
+     * Sets a variable parameter to a literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param value
+     *            Lexical Value
+     * 
+     */
+    public void setLiteral(String var, String value) {
+        this.setParam(var, NodeFactoryExtra.createLiteralNode(value, null, null));
+    }
+
+    /**
+     * Sets a positional parameter to a literal with a language
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional index
+     * @param value
+     *            Lexical Value
+     * @param lang
+     *            Language
+     * 
+     */
+    public void setLiteral(int index, String value, String lang) {
+        this.setParam(index, NodeFactoryExtra.createLiteralNode(value, lang, null));
+    }
+
+    /**
+     * Sets a variable parameter to a literal with a language
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param value
+     *            Lexical Value
+     * @param lang
+     *            Language
+     * 
+     */
+    public void setLiteral(String var, String value, String lang) {
+        this.setParam(var, NodeFactoryExtra.createLiteralNode(value, lang, null));
+    }
+
+    /**
+     * Sets a positional arameter to a typed literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(int)} for the given index
+     * </p>
+     * 
+     * @param index
+     *            Positional Index
+     * @param value
+     *            Lexical Value
+     * @param datatype
+     *            Datatype
+     * 
+     */
+    public void setLiteral(int index, String value, RDFDatatype datatype) {
+        this.setParam(index, this.model.createTypedLiteral(value, datatype));
+    }
+
+    /**
+     * Sets a variable parameter to a typed literal
+     * <p>
+     * Setting a parameter to null is equivalent to calling
+     * {@link #clearParam(String)} for the given variable
+     * </p>
+     * 
+     * @param var
+     *            Variable
+     * @param value
+     *            Lexical Value
+     * @param datatype
+     *            Datatype
+     * 
+     */
+    public void setLiteral(String var, String value, RDFDatatype datatype) {
+        this.setParam(var, this.model.createTypedLiteral(value, datatype));
+    }
+
+    /**
+     * Sets a positional parameter to a boolean literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param value
+     *            boolean
+     */
+    public void setLiteral(int index, boolean value) {
+        this.setParam(index, this.model.createTypedLiteral(value));
+    }
+
+    /**
+     * Sets a variable parameter to a boolean literal
+     * 
+     * @param var
+     *            Variable
+     * @param value
+     *            boolean
+     */
+    public void setLiteral(String var, boolean value) {
+        this.setParam(var, this.model.createTypedLiteral(value));
+    }
+
+    /**
+     * Sets a positional parameter to an integer literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param i
+     *            Integer Value
+     */
+    public void setLiteral(int index, int i) {
+        this.setParam(index, NodeFactoryExtra.intToNode(i));
+    }
+
+    /**
+     * Sets a variable parameter to an integer literal
+     * 
+     * @param var
+     *            Variable
+     * @param i
+     *            Integer Value
+     */
+    public void setLiteral(String var, int i) {
+        this.setParam(var, NodeFactoryExtra.intToNode(i));
+    }
+
+    /**
+     * Sets a positional parameter to an integer literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param l
+     *            Integer Value
+     */
+    public void setLiteral(int index, long l) {
+        this.setParam(index, NodeFactoryExtra.intToNode(l));
+    }
+
+    /**
+     * Sets a variable parameter to an integer literal
+     * 
+     * @param var
+     *            Variable
+     * @param l
+     *            Integer Value
+     */
+    public void setLiteral(String var, long l) {
+        this.setParam(var, NodeFactoryExtra.intToNode(l));
+    }
+
+    /**
+     * Sets a positional parameter to a float literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param f
+     *            Float value
+     */
+    public void setLiteral(int index, float f) {
+        this.setParam(index, NodeFactoryExtra.floatToNode(f));
+    }
+
+    /**
+     * Sets a variable parameter to a float literal
+     * 
+     * @param var
+     *            Variable
+     * @param f
+     *            Float value
+     */
+    public void setLiteral(String var, float f) {
+        this.setParam(var, NodeFactoryExtra.floatToNode(f));
+    }
+
+    /**
+     * Sets a positional parameter to a double literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param d
+     *            Double value
+     */
+    public void setLiteral(int index, double d) {
+        this.setParam(index, this.model.createTypedLiteral(d));
+    }
+
+    /**
+     * Sets a variable parameter to a double literal
+     * 
+     * @param var
+     *            Variable
+     * @param d
+     *            Double value
+     */
+    public void setLiteral(String var, double d) {
+        this.setParam(var, this.model.createTypedLiteral(d));
+    }
+
+    /**
+     * Sets a positional parameter to a date time literal
+     * 
+     * @param index
+     *            Positional Index
+     * @param dt
+     *            Date Time value
+     */
+    public void setLiteral(int index, Calendar dt) {
+        this.setParam(index, this.model.createTypedLiteral(dt));
+    }
+
+    /**
+     * Sets a variable parameter to a date time literal
+     * 
+     * @param var
+     *            Variable
+     * @param dt
+     *            Date Time value
+     */
+    public void setLiteral(String var, Calendar dt) {
+        this.setParam(var, this.model.createTypedLiteral(dt));
+    }
+
+    /**
+     * Gets the current value for a variable parameter
+     * 
+     * @param var
+     *            Variable
+     * @return Current value or null if 

<TRUNCATED>

[36/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/Vocabularies/test-query.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/Vocabularies/test-query.ttl b/jena-arq/Vocabularies/test-query.ttl
index eb70cd8..f508a9a 100644
--- a/jena-arq/Vocabularies/test-query.ttl
+++ b/jena-arq/Vocabularies/test-query.ttl
@@ -1,47 +1,47 @@
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix owl:    <http://www.w3.org/2002/07/owl#> .
-@prefix dc:     <http://purl.org/dc/elements/1.1/> .
-
-@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
-@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
-
-## Query-specific test vocabulary for a manifest action.
-
-:   rdfs:comment     "Vocabulary for query test cases" ;
-    dc:creator       "Andy Seaborne" ;
-    dc:subject       "" ;
-    dc:publisher     "W3C RDF Data Access Working Group" ;
-    dc:title         "Query test case vocabulary" ;
-    dc:description   "Query test case vocabulary" ;
-    dc:date          "2004-07" ;
-    dc:format        "RDF" ;
-    dc:identifier    : ;
-    .
-## ---- Class declarations ----
-
-:QueryTest a rdfs:Class ;
-    rdfs:comment "The class of query tests" .
-
-## ---- Property declarations ----
-
-
-:query a rdf:Property ;
-    rdfs:comment "The query to ask" ;
-    rdfs:domain	 :QueryTest ;
-    ## rdfs:range   ?? ;
-    .	
-
-:data a rdf:Property ;
-    rdfs:comment "Optional: data for the query test" ;
-    rdfs:domain	 :QueryTest ;
-    rdfs:range   rdfs:Resource ;
-    .
-
-
-:graphData a rdf:Property ;
-    rdfs:comment "Optional: named-graph only data for the query test" ;
-    rdfs:domain  :QueryTest ;
-    rdfs:range   rdfs:Resource ;
-    .
-
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix owl:    <http://www.w3.org/2002/07/owl#> .
+@prefix dc:     <http://purl.org/dc/elements/1.1/> .
+
+@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+@prefix :       <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
+
+## Query-specific test vocabulary for a manifest action.
+
+:   rdfs:comment     "Vocabulary for query test cases" ;
+    dc:creator       "Andy Seaborne" ;
+    dc:subject       "" ;
+    dc:publisher     "W3C RDF Data Access Working Group" ;
+    dc:title         "Query test case vocabulary" ;
+    dc:description   "Query test case vocabulary" ;
+    dc:date          "2004-07" ;
+    dc:format        "RDF" ;
+    dc:identifier    : ;
+    .
+## ---- Class declarations ----
+
+:QueryTest a rdfs:Class ;
+    rdfs:comment "The class of query tests" .
+
+## ---- Property declarations ----
+
+
+:query a rdf:Property ;
+    rdfs:comment "The query to ask" ;
+    rdfs:domain	 :QueryTest ;
+    ## rdfs:range   ?? ;
+    .	
+
+:data a rdf:Property ;
+    rdfs:comment "Optional: data for the query test" ;
+    rdfs:domain	 :QueryTest ;
+    rdfs:range   rdfs:Resource ;
+    .
+
+
+:graphData a rdf:Property ;
+    rdfs:comment "Optional: named-graph only data for the query test" ;
+    rdfs:domain  :QueryTest ;
+    rdfs:range   rdfs:Resource ;
+    .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-db.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-db.ttl b/jena-arq/etc/dataset-db.ttl
index 7f5a605..a0d265e 100644
--- a/jena-arq/etc/dataset-db.ttl
+++ b/jena-arq/etc/dataset-db.ttl
@@ -1,48 +1,48 @@
-# 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.
-
-# Dataset which has named graphs and a default graph.
-
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    # Database-backed model
-    ja:defaultGraph _:modelDB1 ;
-    # And also a memory model - can mix and match.
-    ja:namedGraph [ ja:graphName <http://example/graph1> ;
-                    ja:graph    :data1 ] ;
-    .
-
-_:modelDB1 rdf:type ja:RDBModel ;
-    ja:connection
-    [
-        ja:dbType       "MySQL" ;
-        ja:dbURL        <jdbc:mysql://localhost/jena-db> ;
-        ja:dbUser       "user" ;
-        ja:dbPassword   "password" ;
-        ja:dbClass      "com.mysql.jdbc.Driver" ;
-    ] ;
-    ## Add a model name - this is the name of the mode in the database
-    ## It is NOT the name in the dataset (that comes from 
-    ## ja:namedGraph/ja:graphName)
-    ja:modelName "DEFAULT"
-    . 
+# 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.
+
+# Dataset which has named graphs and a default graph.
+
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    # Database-backed model
+    ja:defaultGraph _:modelDB1 ;
+    # And also a memory model - can mix and match.
+    ja:namedGraph [ ja:graphName <http://example/graph1> ;
+                    ja:graph    :data1 ] ;
+    .
+
+_:modelDB1 rdf:type ja:RDBModel ;
+    ja:connection
+    [
+        ja:dbType       "MySQL" ;
+        ja:dbURL        <jdbc:mysql://localhost/jena-db> ;
+        ja:dbUser       "user" ;
+        ja:dbPassword   "password" ;
+        ja:dbClass      "com.mysql.jdbc.Driver" ;
+    ] ;
+    ## Add a model name - this is the name of the mode in the database
+    ## It is NOT the name in the dataset (that comes from 
+    ## ja:namedGraph/ja:graphName)
+    ja:modelName "DEFAULT"
+    . 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-owl-inf.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-owl-inf.ttl b/jena-arq/etc/dataset-owl-inf.ttl
index 0675a3a..8756c0c 100644
--- a/jena-arq/etc/dataset-owl-inf.ttl
+++ b/jena-arq/etc/dataset-owl-inf.ttl
@@ -1,48 +1,48 @@
-# 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.
-
-# Setting up a dataset which is a single graph which is an OntModel.
-
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:graph :ontModel
-    . 
-
-:ontModel rdf:type ja:OntModel ;
-    ja:baseModel 
-        [ rdf:type ja:MemoryModel ;
-          ja:content [ja:externalContent <D.ttl>] ] ;
-    ja:reasoner
-    ## Choices include:
-    ## <http://jena.hpl.hp.com/2003/GenericRuleReasoner>
-    ## <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
-    ## <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>
-    ## <http://jena.hpl.hp.com/2003/OWLMiniFBRuleReasoner>
-    ## <http://jena.hpl.hp.com/2003/DIGReasoner>
-        [ ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> ; ] ;
-        
-## See http://jena.sourceforge.net/assembler/assembler-howto.htm
-##     ja:ontModelSpec
-##         [ rdf:type ja:OntModelSpec ;
-##           ja:reasonerFactory ... ; 
-##           ja:documentManager ... ;
-##         ] ;
-    .
+# 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.
+
+# Setting up a dataset which is a single graph which is an OntModel.
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:graph :ontModel
+    . 
+
+:ontModel rdf:type ja:OntModel ;
+    ja:baseModel 
+        [ rdf:type ja:MemoryModel ;
+          ja:content [ja:externalContent <D.ttl>] ] ;
+    ja:reasoner
+    ## Choices include:
+    ## <http://jena.hpl.hp.com/2003/GenericRuleReasoner>
+    ## <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
+    ## <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>
+    ## <http://jena.hpl.hp.com/2003/OWLMiniFBRuleReasoner>
+    ## <http://jena.hpl.hp.com/2003/DIGReasoner>
+        [ ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> ; ] ;
+        
+## See http://jena.sourceforge.net/assembler/assembler-howto.htm
+##     ja:ontModelSpec
+##         [ rdf:type ja:OntModelSpec ;
+##           ja:reasonerFactory ... ; 
+##           ja:documentManager ... ;
+##         ] ;
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-owl.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-owl.ttl b/jena-arq/etc/dataset-owl.ttl
index f93ae20..de599f1 100644
--- a/jena-arq/etc/dataset-owl.ttl
+++ b/jena-arq/etc/dataset-owl.ttl
@@ -1,33 +1,33 @@
-# 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.
-
-# Setting up a dataset which is a single graph which is an OntModel.
-
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:graph :ontModel
-    . 
-
-:ontModel rdf:type ja:OntModel ;
-    ja:baseModel 
-        [ rdf:type ja:MemoryModel ;
-          ja:content [ja:externalContent <D.ttl>] ];
-    . 
+# 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.
+
+# Setting up a dataset which is a single graph which is an OntModel.
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:graph :ontModel
+    . 
+
+:ontModel rdf:type ja:OntModel ;
+    ja:baseModel 
+        [ rdf:type ja:MemoryModel ;
+          ja:content [ja:externalContent <D.ttl>] ];
+    . 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-rdfs.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-rdfs.ttl b/jena-arq/etc/dataset-rdfs.ttl
index c1bf88f..c389cb4 100644
--- a/jena-arq/etc/dataset-rdfs.ttl
+++ b/jena-arq/etc/dataset-rdfs.ttl
@@ -1,35 +1,35 @@
-# 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.
-
-# Setting up a dataset which is a single graph which is an RDFS-backed model
-
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:graph :ontModel
-    . 
-
-:ontModel rdf:type ja:OntModel ;
-    ja:baseModel 
-        [ rdf:type ja:MemoryModel ;
-          ja:content [ja:externalContent <D.ttl>] ];
-    ja:reasoner
-         [ ja:reasonerURL <http://jena.hpl.hp.com/2003/RDFSExptRuleReasoner> ]
-    . 
+# 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.
+
+# Setting up a dataset which is a single graph which is an RDFS-backed model
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:graph :ontModel
+    . 
+
+:ontModel rdf:type ja:OntModel ;
+    ja:baseModel 
+        [ rdf:type ja:MemoryModel ;
+          ja:content [ja:externalContent <D.ttl>] ];
+    ja:reasoner
+         [ ja:reasonerURL <http://jena.hpl.hp.com/2003/RDFSExptRuleReasoner> ]
+    . 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-rules.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-rules.ttl b/jena-arq/etc/dataset-rules.ttl
index fa5d491..92aed59 100644
--- a/jena-arq/etc/dataset-rules.ttl
+++ b/jena-arq/etc/dataset-rules.ttl
@@ -1,39 +1,39 @@
-# 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.
-
-# Setting up a single graph which is a rule-backed infModel
-
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:graph :inf .
-
-:inf rdf:type ja:InfModel ;
-    ja:baseModel :data ;
-    ja:reasoner
-        [ ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ;
-          ja:rulesFrom <owlax.jena> 
-        ] ;
-    .
-
-:data rdf:type ja:MemoryModel ;
-    ja:content [ja:externalContent <input-data.ttl>] ;
-    .
+# 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.
+
+# Setting up a single graph which is a rule-backed infModel
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:graph :inf .
+
+:inf rdf:type ja:InfModel ;
+    ja:baseModel :data ;
+    ja:reasoner
+        [ ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ;
+          ja:rulesFrom <owlax.jena> 
+        ] ;
+    .
+
+:data rdf:type ja:MemoryModel ;
+    ja:content [ja:externalContent <input-data.ttl>] ;
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset-trans.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset-trans.ttl b/jena-arq/etc/dataset-trans.ttl
index a36d33e..12b793f 100644
--- a/jena-arq/etc/dataset-trans.ttl
+++ b/jena-arq/etc/dataset-trans.ttl
@@ -1,35 +1,35 @@
-# 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.
-
-# Setting up a single graph which is backed by the transitive reasoner.
-
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:graph :ontModel
-    . 
-
-:ontModel rdf:type ja:OntModel ;
-    ja:baseModel 
-        [ rdf:type ja:MemoryModel ;
-          ja:content [ja:externalContent <D.ttl>] ];
-    ja:reasoner
-         [ ja:reasonerURL <http://jena.hpl.hp.com/2003/TransitiveReasoner> ]
-    . 
+# 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.
+
+# Setting up a single graph which is backed by the transitive reasoner.
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:graph :ontModel
+    . 
+
+:ontModel rdf:type ja:OntModel ;
+    ja:baseModel 
+        [ rdf:type ja:MemoryModel ;
+          ja:content [ja:externalContent <D.ttl>] ];
+    ja:reasoner
+         [ ja:reasonerURL <http://jena.hpl.hp.com/2003/TransitiveReasoner> ]
+    . 

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/dataset.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/dataset.ttl b/jena-arq/etc/dataset.ttl
index 1e580fa..5429294 100644
--- a/jena-arq/etc/dataset.ttl
+++ b/jena-arq/etc/dataset.ttl
@@ -1,43 +1,43 @@
-# 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.
-
-# Dataset which has named graphs and a default graph.
-
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Datatset
-
-<> rdf:type         ja:RDFDataset ;
-    ja:defaultGraph
-        [ rdf:type ja:MemoryModel ;
-          ja:content [ja:externalContent <D.ttl>] ] ;
-    ja:namedGraph [ ja:graphName <http://example/graph1> ;
-                    ja:graph    :data1 ] ;
-    ja:namedGraph [ ja:graphName <http://example/graph2> ;
-                    ja:graph    :data2 ] ;
-    . 
-
-:data1 rdf:type ja:MemoryModel ;
-    ja:content [ja:externalContent <D1.ttl>] ;
-    .
-
-:data2 rdf:type ja:MemoryModel ;
-    ja:content [ja:externalContent <D2.ttl>] ;
-    .
+# 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.
+
+# Dataset which has named graphs and a default graph.
+
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Datatset
+
+<> rdf:type         ja:RDFDataset ;
+    ja:defaultGraph
+        [ rdf:type ja:MemoryModel ;
+          ja:content [ja:externalContent <D.ttl>] ] ;
+    ja:namedGraph [ ja:graphName <http://example/graph1> ;
+                    ja:graph    :data1 ] ;
+    ja:namedGraph [ ja:graphName <http://example/graph2> ;
+                    ja:graph    :data2 ] ;
+    . 
+
+:data1 rdf:type ja:MemoryModel ;
+    ja:content [ja:externalContent <D1.ttl>] ;
+    .
+
+:data2 rdf:type ja:MemoryModel ;
+    ja:content [ja:externalContent <D2.ttl>] ;
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/graphstore.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/graphstore.ttl b/jena-arq/etc/graphstore.ttl
index 1274f81..e2373e5 100644
--- a/jena-arq/etc/graphstore.ttl
+++ b/jena-arq/etc/graphstore.ttl
@@ -1,42 +1,42 @@
-# 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.
-
-# Graph store -- for SPARQL/Update
-
-@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
-@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix :       <#> .
-
-## Graphstore - one default graph, two named graphs, all empty.
-
-<> rdf:type         ja:GraphStore ;
-    ja:defaultGraph
-        [ rdf:type ja:MemoryModel ] ;
-    ja:namedGraph [ ja:graphName <http://example/graph1> ;
-                    ja:graph    :data1 ] ;
-    ja:namedGraph [ ja:graphName <http://example/graph2> ;
-                    ja:graph    :data2 ] ;
-    . 
-
-# Empty
-:data1 rdf:type ja:MemoryModel ;
-    .
-
-# Empty
-:data2 rdf:type ja:MemoryModel ;
-    .
+# 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.
+
+# Graph store -- for SPARQL/Update
+
+@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
+@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix :       <#> .
+
+## Graphstore - one default graph, two named graphs, all empty.
+
+<> rdf:type         ja:GraphStore ;
+    ja:defaultGraph
+        [ rdf:type ja:MemoryModel ] ;
+    ja:namedGraph [ ja:graphName <http://example/graph1> ;
+                    ja:graph    :data1 ] ;
+    ja:namedGraph [ ja:graphName <http://example/graph2> ;
+                    ja:graph    :data2 ] ;
+    . 
+
+# Empty
+:data1 rdf:type ja:MemoryModel ;
+    .
+
+# Empty
+:data2 rdf:type ja:MemoryModel ;
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/etc/update-data.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/etc/update-data.ttl b/jena-arq/etc/update-data.ttl
index 8dd8852..359a169 100644
--- a/jena-arq/etc/update-data.ttl
+++ b/jena-arq/etc/update-data.ttl
@@ -1,19 +1,19 @@
-# 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.
-
-@prefix : <http://example/> .
-
-:x :p 123 .
+# 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.
+
+@prefix : <http://example/> .
+
+:x :p 123 .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-arq/src/main/java/org/apache/jena/query/package.html
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/package.html b/jena-arq/src/main/java/org/apache/jena/query/package.html
index 0b7b632..89c3bf3 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/package.html
+++ b/jena-arq/src/main/java/org/apache/jena/query/package.html
@@ -1,11 +1,11 @@
-<html>
-<head>
-</head>
-<body>
-ARQ - A query engine for Jena, implementing SPARQL.
-<p>
-ARQ is an implementation of SPARQL, an RDF query language defined
-by W3C.
-</p>
-</body>
-</html>
+<html>
+<head>
+</head>
+<body>
+ARQ - A query engine for Jena, implementing SPARQL.
+<p>
+ARQ is an implementation of SPARQL, an RDF query language defined
+by W3C.
+</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src-examples/data/eswc-2006-09-21.rdf
----------------------------------------------------------------------
diff --git a/jena-core/src-examples/data/eswc-2006-09-21.rdf b/jena-core/src-examples/data/eswc-2006-09-21.rdf
index 677115d..7ccd89e 100644
--- a/jena-core/src-examples/data/eswc-2006-09-21.rdf
+++ b/jena-core/src-examples/data/eswc-2006-09-21.rdf
@@ -1,719 +1,719 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rdf:RDF
-  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-  xmlns:owl="http://www.w3.org/2002/07/owl#"
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xml:base="http://www.eswc2006.org/technologies/ontology">
-
-
-<owl:Ontology rdf:about="" />
-
-<!-- this header commented out, otherwise the ontology 
-     mysteriously moves to OWL Full. Solutions/insights welcomed! -->
-<owl:Ontology rdf:about="http://www.eswc2006.org/technologies/ontology#"
-  dc:title="The ESWC2006 Conference Ontology"
-  dc:date="$Date: 2007-12-14 19:22:50 $"
-  dc:creator="Tom Heath"
-  dc:contributor="ESWC2006 Organising Committee">
-  <dc:description>An ontology for describing academic conferences, designed to support the 3rd European Semantic Web Conference (ESWC2006)"</dc:description>
-<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-</owl:Ontology>
-<!-- -->
-
-<!-- outstanding issues:
-- formalise inverse relationships now ontology is in owl
--->
-
-
-<owl:Class rdf:ID="Artefact">
-  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-  <rdfs:label>Artefact</rdfs:label>
-</owl:Class>
-
-
-  <owl:ObjectProperty rdf:ID="relatedToEvent">
-    <rdfs:domain rdf:resource="#Artefact"/>
-    <rdfs:range rdf:resource="#AcademicEvent"/>
-    <rdfs:label>related to event</rdfs:label>
-  </owl:ObjectProperty>
-
-  <owl:DatatypeProperty rdf:ID="biblioReference">
-    <rdfs:domain rdf:resource="#Artefact"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
-    <rdfs:label>bibliographic reference</rdfs:label>
-  </owl:DatatypeProperty>
-
-
-  <owl:Class rdf:ID="Programme">
-    <rdfs:subClassOf rdf:resource="#Artefact"/>
-    <rdfs:label>Programme</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Proceedings">
-    <rdfs:subClassOf rdf:resource="#Artefact"/>
-    <rdfs:label>Proceedings</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Paper">
-    <rdfs:subClassOf rdf:resource="#Artefact"/>
-    <rdfs:label>Paper</rdfs:label>
-  </owl:Class>
-
-    <owl:ObjectProperty rdf:ID="influencedBy">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>influenced by</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="evidenceFor">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>evidence for</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="evidenceAgainst">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>evidence against</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="agreesWith">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>agrees with</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="disagreesWith">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>disagrees with</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="implements">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>implements</rdfs:label>
-    </owl:ObjectProperty>
-
-    <owl:ObjectProperty rdf:ID="extends">
-      <rdfs:domain rdf:resource="#Paper"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
-      <rdfs:label>extends</rdfs:label>
-    </owl:ObjectProperty>
-
-  <owl:Class rdf:ID="Poster">
-    <rdfs:subClassOf rdf:resource="#Artefact"/>
-    <rdfs:label>Poster</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="SlideSet">
-    <rdfs:subClassOf rdf:resource="#Artefact"/>
-    <rdfs:label>Slide Set</rdfs:label>
-  </owl:Class>
-
-
-
-<owl:Class rdf:ID="Call">
-  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Announcement"/>
-  <rdfs:label>Call</rdfs:label>
-</owl:Class>
-
-  <owl:ObjectProperty rdf:ID="forEvent">
-    <rdfs:domain rdf:resource="#Call"/>
-    <rdfs:range rdf:resource="#AcademicEvent"/>
-    <rdfs:label>for event</rdfs:label>
-    <!-- inverse of hasCall -->
-  </owl:ObjectProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasSubmissionDeadline">
-    <rdfs:domain rdf:resource="#Call"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-    <rdfs:label>has submission deadline</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasSubmissionInstructions">
-    <rdfs:domain rdf:resource="#Call"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
-    <rdfs:label>has submission instructions</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasNotificationDeadline">
-    <rdfs:domain rdf:resource="#Call"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-    <rdfs:label>has notification deadline</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasCameraReadyDeadline">
-    <rdfs:domain rdf:resource="#Call"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-    <rdfs:label>has camera-ready deadline</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:Class rdf:ID="CallForParticipation">
-    <rdfs:subClassOf rdf:resource="#Call"/>
-    <rdfs:label>Call For Participation</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="CallForProposals">
-    <rdfs:subClassOf rdf:resource="#Call"/>
-    <rdfs:label>Call For Proposals</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="CallForPapers">
-    <rdfs:subClassOf rdf:resource="#Call"/>
-    <rdfs:label>Call For Papers</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="CallForPosters">
-    <rdfs:subClassOf rdf:resource="#Call"/>
-    <rdfs:label>Call For Posters</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="CallForDemos">
-    <rdfs:subClassOf rdf:resource="#Call"/>
-    <rdfs:label>Call For Demos</rdfs:label>
-  </owl:Class>
-
-
-<owl:Class rdf:ID="Event">
-  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Event-1"/>
-  <rdfs:label>Event</rdfs:label>
-</owl:Class>
-
-  <owl:Class rdf:ID="OrganisedEvent">
-    <rdfs:subClassOf rdf:resource="#Event"/>
-    <rdfs:label>Organised Event</rdfs:label>
-  </owl:Class>
-
-  <owl:ObjectProperty rdf:ID="hasLocation">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="#Place"/>
-    <rdfs:label>has location</rdfs:label>
-    <!-- has inverse isLocationFor -->
-  </owl:ObjectProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasStartDateTime">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-    <rdfs:label>has start date and time</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasEndDateTime">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-    <rdfs:label>has end date and time</rdfs:label>
-  </owl:DatatypeProperty>
-
-<!--
-  <owl:DatatypeProperty rdf:ID="hasProgramme">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/>
-    <rdfs:label>has programme</rdfs:label>
-  </owl:DatatypeProperty>
--->
-
-  <owl:ObjectProperty rdf:ID="hasProgramme">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="#Programme"/>
-    <rdfs:label>has programme</rdfs:label>
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="hasSponsorship">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="#Sponsorship"/>
-    <rdfs:label>has sponsorship</rdfs:label>
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="plansToAttend">
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="#OrganisedEvent"/>
-    <rdfs:label>plans to attend</rdfs:label>
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="hasAttendee">
-    <rdfs:domain rdf:resource="#OrganisedEvent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:label>has attendee</rdfs:label>
-    <!-- inverse of #attendeeAt -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="attendeeAt">
-    <!-- deliberately avoids tense -->
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="#OrganisedEvent"/>
-    <rdfs:label>attendee at</rdfs:label>
-    <!-- inverse of #hasAttendee -->
-  </owl:ObjectProperty>
-
-
-
-<owl:Class rdf:ID="AcademicEvent">
-  <rdfs:subClassOf rdf:resource="#OrganisedEvent"/>
-  <rdfs:label>Academic Event</rdfs:label>
-</owl:Class>
-
-  <owl:ObjectProperty rdf:ID="hasRole">
-    <rdfs:domain rdf:resource="#AcademicEvent"/>
-    <rdfs:range rdf:resource="#Role"/>
-    <rdfs:label>has role</rdfs:label>
-    <!-- inverse of #isRoleAt -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="hasRelatedArtefact">
-    <rdfs:domain rdf:resource="#AcademicEvent"/>
-    <rdfs:range rdf:resource="#Artefact"/>
-    <rdfs:label>has related artefact</rdfs:label>
-    <!-- inverse of #relatedToEvent -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="hasCall">
-    <rdfs:domain rdf:resource="#AcademicEvent"/>
-    <rdfs:range rdf:resource="#Call"/>
-    <rdfs:label>has call</rdfs:label>
-  </owl:ObjectProperty>
-
-
-
-  <owl:Class rdf:ID="ConferenceEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Conference Event</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="WorkshopEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Workshop Event</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="TutorialEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Tutorial Event</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="TrackEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Track Event</rdfs:label>
-  </owl:Class>
-
-    <owl:Class rdf:ID="IndustrialTrack">
-      <rdfs:subClassOf rdf:resource="#TrackEvent"/>
-      <rdfs:label>Industrial Track</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="ResearchTrack">
-      <rdfs:subClassOf rdf:resource="#TrackEvent"/>
-      <rdfs:label>Research Track</rdfs:label>
-    </owl:Class>
-
-
-  <owl:Class rdf:ID="SessionEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Session Event</rdfs:label>
-  </owl:Class>
-
-    <owl:Class rdf:ID="PaperSession">
-      <rdfs:subClassOf rdf:resource="#SessionEvent"/>
-      <rdfs:label>Paper Session</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="PosterSession">
-       <rdfs:subClassOf rdf:resource="#SessionEvent"/>
-       <rdfs:label>Poster Session</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="DemoSession">
-      <rdfs:subClassOf rdf:resource="#SessionEvent"/>
-      <rdfs:label>Demo Session</rdfs:label>
-    </owl:Class>
-
-
-  <owl:Class rdf:ID="TalkEvent">
-    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
-    <rdfs:label>Talk Event</rdfs:label>
-  </owl:Class>
-
-    <owl:Class rdf:ID="WelcomeTalk">
-      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
-      <rdfs:label>Welcome Talk</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="KeynoteTalk">
-      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
-      <rdfs:label>Keynote Talk</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="PaperPresentation">
-      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
-      <rdfs:label>Paper Presentation</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="PosterPresentation">
-      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
-      <rdfs:label>Poster Presentation</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="DemoPresentation">
-      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
-      <rdfs:label>Demo Presentation</rdfs:label>
-    </owl:Class>
-
-
-<owl:Class rdf:ID="NonAcademicEvent">
-  <rdfs:subClassOf rdf:resource="#OrganisedEvent"/>
-  <rdfs:label>Non-Academic Event</rdfs:label>
-</owl:Class>
-
-
-  <owl:Class rdf:ID="BreakEvent">
-    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
-    <rdfs:label>Break Event</rdfs:label>
-  </owl:Class>
-
-    <owl:Class rdf:ID="CoffeeBreak">
-      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
-     <rdfs:label>Coffee Break</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="MealBreak">
-      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
-      <rdfs:label>Meal Break</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="FreeTimeBreak">
-      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
-      <rdfs:label>Free Time Break</rdfs:label>
-    </owl:Class>
-
-  <owl:Class rdf:ID="SocialEvent">
-    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
-    <rdfs:label>Social Event</rdfs:label>
-  </owl:Class>
-
-    <owl:Class rdf:ID="Excursion">
-      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
-      <rdfs:label>Excursion</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="Reception">
-      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
-      <rdfs:label>Reception</rdfs:label>
-    </owl:Class>
-
-    <owl:Class rdf:ID="ConferenceDinner">
-      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
-      <rdfs:subClassOf rdf:resource="#MealEvent"/>
-      <rdfs:label>Conference Dinner</rdfs:label>
-    </owl:Class>
-
-  <owl:Class rdf:ID="MealEvent">
-    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
-    <rdfs:label>Meal Event</rdfs:label>
-  </owl:Class>
-
-    <owl:ObjectProperty rdf:ID="hasMenu">
-      <rdfs:domain rdf:resource="#MealEvent"/>
-      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Menu"/>
-      <rdfs:label>has menu</rdfs:label>
-    </owl:ObjectProperty>
-    
-
-
-<owl:Class rdf:ID="Place">
-  <rdfs:subClassOf rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-  <rdfs:label>Place</rdfs:label>
-</owl:Class>
-
-  <owl:Class rdf:ID="ConferenceVenuePlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Conference Venue Place</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="MeetingRoomPlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Meeting Room Place</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="CommunalPlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Communal Place</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="AccommodationPlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Accommodation Place</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="DrinkingPlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Drinking Place</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="EatingPlace">
-    <rdfs:subClassOf rdf:resource="#Place"/>
-    <rdfs:label>Eating Place</rdfs:label>
-  </owl:Class>
-
-
-  <owl:ObjectProperty rdf:ID="isLocationFor">
-    <rdfs:domain rdf:resource="#Place"/>
-    <rdfs:range rdf:resource="#OrganisedEvent"/>
-    <rdfs:label>is location of</rdfs:label>
-  </owl:ObjectProperty>
-
-
-
-
-<owl:Class rdf:ID="Role">
-  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Role-1"/>
-  <rdfs:label>Role</rdfs:label>
-</owl:Class>
-
-  <owl:ObjectProperty rdf:ID="isRoleAt">
-    <rdfs:domain rdf:resource="#Role"/>
-    <rdfs:range rdf:resource="#AcademicEvent"/>
-    <rdfs:label>is role at</rdfs:label>
-    <!-- has inverse #hasRole -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="heldBy">
-    <rdfs:domain rdf:resource="#Role"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:label>held by</rdfs:label>
-    <!-- has inverse #holdsRole -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="holdsRole">
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="#Role"/>
-    <rdfs:label>holds role</rdfs:label>
-    <!-- has inverse #heldBy -->
-  </owl:ObjectProperty>
-
-
-
-  <owl:Class rdf:ID="ConferenceChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Conference Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="ProgrammeChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Programme Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="WorkshopsChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Workshops Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="TutorialsChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Tutorials Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="PostersChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Posters Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="DemosChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Demos Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="IndustryChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Industry Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="SponsorshipChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Sponsorship Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="PublicityChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Publicity Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="SubmissionsChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Submissions Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="LocalOrganiser">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Local Organiser</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Administrator">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Administrator</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Webmaster">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Webmaster</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="DogfoodTsar">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Dogfood Tsar</rdfs:label>
-    <rdfs:comment>A role that is only relevant in relation to the topic of the conference e.g. Semantic 
-    Web Technologies Coordinator at a Semantic Web Conference.</rdfs:comment>
-  </owl:Class>
-
-  <owl:Class rdf:ID="OrganisingCommitteeMember">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Organising Committee Member</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="ProgrammeCommitteeMember">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Programme Committee Member</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="SessionChair">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Session Chair</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Tutor">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Tutor</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Presenter">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Presenter</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Reviewer">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Reviewer</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="AdditionalReviewer">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Additional Reviewer</rdfs:label>
-  </owl:Class>
-
-  <owl:Class rdf:ID="Delegate">
-    <rdfs:subClassOf rdf:resource="#Role"/>
-    <rdfs:label>Delegate</rdfs:label>
-  </owl:Class>
-
-
-<owl:Class rdf:ID="Sponsorship">
-  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Sponsorship"/>
-  <rdfs:label>Sponsorship</rdfs:label>
-</owl:Class>
-
-  <owl:ObjectProperty rdf:ID="isProviderOf">
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Organisation"/>
-    <rdfs:range rdf:resource="#Sponsorship"/>
-    <rdfs:label>is provider of</rdfs:label>
-    <!-- inverse of #sProvidedBy -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="isProvidedBy">
-    <rdfs:domain rdf:resource="#Sponsorship"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Organisation"/>
-    <rdfs:label>is provided by</rdfs:label>
-    <!-- inverse of #isProviderOf -->
-  </owl:ObjectProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasCostAmount">
-    <rdfs:domain rdf:resource="#Sponsorship"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
-    <rdfs:label>has cost amount</rdfs:label>
-  </owl:DatatypeProperty>
-
-  <owl:DatatypeProperty rdf:ID="hasCostCurrency">
-    <rdfs:domain rdf:resource="#Sponsorship"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
-    <rdfs:label>has cost currency</rdfs:label>
-  </owl:DatatypeProperty>
-
-
-
-<!-- additional generic properties -->
-
-<!-- Artefacts, Events, Places expected to use hasPart/isPartOf relations -->
-  <owl:ObjectProperty rdf:ID="hasPart">
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:label>has part</rdfs:label>
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="isPartOf">
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:label>is part of</rdfs:label>
-  </owl:ObjectProperty>
-
-
-<!-- Artefacts, AcademicEvents, Calls expected to use hasTopic/isTopicOf relations -->
-  <owl:ObjectProperty rdf:ID="isTopicOf">
-    <rdfs:domain rdf:resource="http://swrc.ontoware.org/ontology#ResearchTopic"/>
-    <rdfs:label>is topic of</rdfs:label>
-    <!-- range deliberately left blank -->
-    <!-- inverse of #hasTopic -->
-  </owl:ObjectProperty>
-
-  <owl:ObjectProperty rdf:ID="hasTopic">
-    <!-- domain deliberately left blank -->
-    <rdfs:range rdf:resource="http://swrc.ontoware.org/ontology#ResearchTopic"/>
-    <rdfs:label>has topic</rdfs:label>
-    <!-- inverse of #isTopicOf -->
-  </owl:ObjectProperty>
-
-<!-- end of additional properties -->
-
-<!-- OWL hacks -->
-  <owl:Class rdf:about="http://swrc.ontoware.org/ontology#ResearchTopic"/>
-  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI"/>
-  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime"/>
-  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
-  <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organisation"/>
-  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Announcement"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Document"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Event-1"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Menu"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Role-1"/>
-  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Sponsorship"/>
-
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/contributor"/>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/creator"/>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/description"/>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/title"/> 
-<!-- -->
-
-<!-- OWL/RDFS compatibility hacks by Denny Vrandecic
-     (so RDFS only tools can handle OWL ontologies)
-     deploy where necessary
-The following three axioms provide a mapping of the OWL terms to the RDFS terms. So
-if a tool is not able to read the OWL ontology as it is, uncomment these axioms
-(or better, load an ontology with only these three axioms and merge them) and if the tool
-fulfills the RDFS specification it will magically be able to deal with the whole ontology.
-Mind you, you may not add this tool to the OWL ontology, or else you move to OWL Full.
--->
-<!--
-    <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Class">
-      <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />
-    </owl:Class>
-
-    <rdfs:Property rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty">
-      <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property" />
-    </rdfs:Property>
-
-    <rdfs:Property rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty">
-      <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property" />
-    </rdfs:Property>
--->
-
-
-</rdf:RDF>
+<?xml version="1.0" encoding="UTF-8"?>
+<rdf:RDF
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+  xmlns:owl="http://www.w3.org/2002/07/owl#"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xml:base="http://www.eswc2006.org/technologies/ontology">
+
+
+<owl:Ontology rdf:about="" />
+
+<!-- this header commented out, otherwise the ontology 
+     mysteriously moves to OWL Full. Solutions/insights welcomed! -->
+<owl:Ontology rdf:about="http://www.eswc2006.org/technologies/ontology#"
+  dc:title="The ESWC2006 Conference Ontology"
+  dc:date="$Date: 2007-12-14 19:22:50 $"
+  dc:creator="Tom Heath"
+  dc:contributor="ESWC2006 Organising Committee">
+  <dc:description>An ontology for describing academic conferences, designed to support the 3rd European Semantic Web Conference (ESWC2006)"</dc:description>
+<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+</owl:Ontology>
+<!-- -->
+
+<!-- outstanding issues:
+- formalise inverse relationships now ontology is in owl
+-->
+
+
+<owl:Class rdf:ID="Artefact">
+  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+  <rdfs:label>Artefact</rdfs:label>
+</owl:Class>
+
+
+  <owl:ObjectProperty rdf:ID="relatedToEvent">
+    <rdfs:domain rdf:resource="#Artefact"/>
+    <rdfs:range rdf:resource="#AcademicEvent"/>
+    <rdfs:label>related to event</rdfs:label>
+  </owl:ObjectProperty>
+
+  <owl:DatatypeProperty rdf:ID="biblioReference">
+    <rdfs:domain rdf:resource="#Artefact"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
+    <rdfs:label>bibliographic reference</rdfs:label>
+  </owl:DatatypeProperty>
+
+
+  <owl:Class rdf:ID="Programme">
+    <rdfs:subClassOf rdf:resource="#Artefact"/>
+    <rdfs:label>Programme</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Proceedings">
+    <rdfs:subClassOf rdf:resource="#Artefact"/>
+    <rdfs:label>Proceedings</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Paper">
+    <rdfs:subClassOf rdf:resource="#Artefact"/>
+    <rdfs:label>Paper</rdfs:label>
+  </owl:Class>
+
+    <owl:ObjectProperty rdf:ID="influencedBy">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>influenced by</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="evidenceFor">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>evidence for</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="evidenceAgainst">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>evidence against</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="agreesWith">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>agrees with</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="disagreesWith">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>disagrees with</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="implements">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>implements</rdfs:label>
+    </owl:ObjectProperty>
+
+    <owl:ObjectProperty rdf:ID="extends">
+      <rdfs:domain rdf:resource="#Paper"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Document"/>
+      <rdfs:label>extends</rdfs:label>
+    </owl:ObjectProperty>
+
+  <owl:Class rdf:ID="Poster">
+    <rdfs:subClassOf rdf:resource="#Artefact"/>
+    <rdfs:label>Poster</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="SlideSet">
+    <rdfs:subClassOf rdf:resource="#Artefact"/>
+    <rdfs:label>Slide Set</rdfs:label>
+  </owl:Class>
+
+
+
+<owl:Class rdf:ID="Call">
+  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Announcement"/>
+  <rdfs:label>Call</rdfs:label>
+</owl:Class>
+
+  <owl:ObjectProperty rdf:ID="forEvent">
+    <rdfs:domain rdf:resource="#Call"/>
+    <rdfs:range rdf:resource="#AcademicEvent"/>
+    <rdfs:label>for event</rdfs:label>
+    <!-- inverse of hasCall -->
+  </owl:ObjectProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasSubmissionDeadline">
+    <rdfs:domain rdf:resource="#Call"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
+    <rdfs:label>has submission deadline</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasSubmissionInstructions">
+    <rdfs:domain rdf:resource="#Call"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
+    <rdfs:label>has submission instructions</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasNotificationDeadline">
+    <rdfs:domain rdf:resource="#Call"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
+    <rdfs:label>has notification deadline</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasCameraReadyDeadline">
+    <rdfs:domain rdf:resource="#Call"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
+    <rdfs:label>has camera-ready deadline</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:Class rdf:ID="CallForParticipation">
+    <rdfs:subClassOf rdf:resource="#Call"/>
+    <rdfs:label>Call For Participation</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="CallForProposals">
+    <rdfs:subClassOf rdf:resource="#Call"/>
+    <rdfs:label>Call For Proposals</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="CallForPapers">
+    <rdfs:subClassOf rdf:resource="#Call"/>
+    <rdfs:label>Call For Papers</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="CallForPosters">
+    <rdfs:subClassOf rdf:resource="#Call"/>
+    <rdfs:label>Call For Posters</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="CallForDemos">
+    <rdfs:subClassOf rdf:resource="#Call"/>
+    <rdfs:label>Call For Demos</rdfs:label>
+  </owl:Class>
+
+
+<owl:Class rdf:ID="Event">
+  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Event-1"/>
+  <rdfs:label>Event</rdfs:label>
+</owl:Class>
+
+  <owl:Class rdf:ID="OrganisedEvent">
+    <rdfs:subClassOf rdf:resource="#Event"/>
+    <rdfs:label>Organised Event</rdfs:label>
+  </owl:Class>
+
+  <owl:ObjectProperty rdf:ID="hasLocation">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="#Place"/>
+    <rdfs:label>has location</rdfs:label>
+    <!-- has inverse isLocationFor -->
+  </owl:ObjectProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasStartDateTime">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
+    <rdfs:label>has start date and time</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasEndDateTime">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
+    <rdfs:label>has end date and time</rdfs:label>
+  </owl:DatatypeProperty>
+
+<!--
+  <owl:DatatypeProperty rdf:ID="hasProgramme">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/>
+    <rdfs:label>has programme</rdfs:label>
+  </owl:DatatypeProperty>
+-->
+
+  <owl:ObjectProperty rdf:ID="hasProgramme">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="#Programme"/>
+    <rdfs:label>has programme</rdfs:label>
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="hasSponsorship">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="#Sponsorship"/>
+    <rdfs:label>has sponsorship</rdfs:label>
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="plansToAttend">
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="#OrganisedEvent"/>
+    <rdfs:label>plans to attend</rdfs:label>
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="hasAttendee">
+    <rdfs:domain rdf:resource="#OrganisedEvent"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:label>has attendee</rdfs:label>
+    <!-- inverse of #attendeeAt -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="attendeeAt">
+    <!-- deliberately avoids tense -->
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="#OrganisedEvent"/>
+    <rdfs:label>attendee at</rdfs:label>
+    <!-- inverse of #hasAttendee -->
+  </owl:ObjectProperty>
+
+
+
+<owl:Class rdf:ID="AcademicEvent">
+  <rdfs:subClassOf rdf:resource="#OrganisedEvent"/>
+  <rdfs:label>Academic Event</rdfs:label>
+</owl:Class>
+
+  <owl:ObjectProperty rdf:ID="hasRole">
+    <rdfs:domain rdf:resource="#AcademicEvent"/>
+    <rdfs:range rdf:resource="#Role"/>
+    <rdfs:label>has role</rdfs:label>
+    <!-- inverse of #isRoleAt -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="hasRelatedArtefact">
+    <rdfs:domain rdf:resource="#AcademicEvent"/>
+    <rdfs:range rdf:resource="#Artefact"/>
+    <rdfs:label>has related artefact</rdfs:label>
+    <!-- inverse of #relatedToEvent -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="hasCall">
+    <rdfs:domain rdf:resource="#AcademicEvent"/>
+    <rdfs:range rdf:resource="#Call"/>
+    <rdfs:label>has call</rdfs:label>
+  </owl:ObjectProperty>
+
+
+
+  <owl:Class rdf:ID="ConferenceEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Conference Event</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="WorkshopEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Workshop Event</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="TutorialEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Tutorial Event</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="TrackEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Track Event</rdfs:label>
+  </owl:Class>
+
+    <owl:Class rdf:ID="IndustrialTrack">
+      <rdfs:subClassOf rdf:resource="#TrackEvent"/>
+      <rdfs:label>Industrial Track</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="ResearchTrack">
+      <rdfs:subClassOf rdf:resource="#TrackEvent"/>
+      <rdfs:label>Research Track</rdfs:label>
+    </owl:Class>
+
+
+  <owl:Class rdf:ID="SessionEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Session Event</rdfs:label>
+  </owl:Class>
+
+    <owl:Class rdf:ID="PaperSession">
+      <rdfs:subClassOf rdf:resource="#SessionEvent"/>
+      <rdfs:label>Paper Session</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="PosterSession">
+       <rdfs:subClassOf rdf:resource="#SessionEvent"/>
+       <rdfs:label>Poster Session</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="DemoSession">
+      <rdfs:subClassOf rdf:resource="#SessionEvent"/>
+      <rdfs:label>Demo Session</rdfs:label>
+    </owl:Class>
+
+
+  <owl:Class rdf:ID="TalkEvent">
+    <rdfs:subClassOf rdf:resource="#AcademicEvent"/>
+    <rdfs:label>Talk Event</rdfs:label>
+  </owl:Class>
+
+    <owl:Class rdf:ID="WelcomeTalk">
+      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
+      <rdfs:label>Welcome Talk</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="KeynoteTalk">
+      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
+      <rdfs:label>Keynote Talk</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="PaperPresentation">
+      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
+      <rdfs:label>Paper Presentation</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="PosterPresentation">
+      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
+      <rdfs:label>Poster Presentation</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="DemoPresentation">
+      <rdfs:subClassOf rdf:resource="#TalkEvent"/>
+      <rdfs:label>Demo Presentation</rdfs:label>
+    </owl:Class>
+
+
+<owl:Class rdf:ID="NonAcademicEvent">
+  <rdfs:subClassOf rdf:resource="#OrganisedEvent"/>
+  <rdfs:label>Non-Academic Event</rdfs:label>
+</owl:Class>
+
+
+  <owl:Class rdf:ID="BreakEvent">
+    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
+    <rdfs:label>Break Event</rdfs:label>
+  </owl:Class>
+
+    <owl:Class rdf:ID="CoffeeBreak">
+      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
+     <rdfs:label>Coffee Break</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="MealBreak">
+      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
+      <rdfs:label>Meal Break</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="FreeTimeBreak">
+      <rdfs:subClassOf rdf:resource="#BreakEvent"/>
+      <rdfs:label>Free Time Break</rdfs:label>
+    </owl:Class>
+
+  <owl:Class rdf:ID="SocialEvent">
+    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
+    <rdfs:label>Social Event</rdfs:label>
+  </owl:Class>
+
+    <owl:Class rdf:ID="Excursion">
+      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
+      <rdfs:label>Excursion</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="Reception">
+      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
+      <rdfs:label>Reception</rdfs:label>
+    </owl:Class>
+
+    <owl:Class rdf:ID="ConferenceDinner">
+      <rdfs:subClassOf rdf:resource="#SocialEvent"/>
+      <rdfs:subClassOf rdf:resource="#MealEvent"/>
+      <rdfs:label>Conference Dinner</rdfs:label>
+    </owl:Class>
+
+  <owl:Class rdf:ID="MealEvent">
+    <rdfs:subClassOf rdf:resource="#NonAcademicEvent"/>
+    <rdfs:label>Meal Event</rdfs:label>
+  </owl:Class>
+
+    <owl:ObjectProperty rdf:ID="hasMenu">
+      <rdfs:domain rdf:resource="#MealEvent"/>
+      <rdfs:range rdf:resource="http://xmlns.com/wordnet/1.6/Menu"/>
+      <rdfs:label>has menu</rdfs:label>
+    </owl:ObjectProperty>
+    
+
+
+<owl:Class rdf:ID="Place">
+  <rdfs:subClassOf rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
+  <rdfs:label>Place</rdfs:label>
+</owl:Class>
+
+  <owl:Class rdf:ID="ConferenceVenuePlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Conference Venue Place</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="MeetingRoomPlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Meeting Room Place</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="CommunalPlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Communal Place</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="AccommodationPlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Accommodation Place</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="DrinkingPlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Drinking Place</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="EatingPlace">
+    <rdfs:subClassOf rdf:resource="#Place"/>
+    <rdfs:label>Eating Place</rdfs:label>
+  </owl:Class>
+
+
+  <owl:ObjectProperty rdf:ID="isLocationFor">
+    <rdfs:domain rdf:resource="#Place"/>
+    <rdfs:range rdf:resource="#OrganisedEvent"/>
+    <rdfs:label>is location of</rdfs:label>
+  </owl:ObjectProperty>
+
+
+
+
+<owl:Class rdf:ID="Role">
+  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Role-1"/>
+  <rdfs:label>Role</rdfs:label>
+</owl:Class>
+
+  <owl:ObjectProperty rdf:ID="isRoleAt">
+    <rdfs:domain rdf:resource="#Role"/>
+    <rdfs:range rdf:resource="#AcademicEvent"/>
+    <rdfs:label>is role at</rdfs:label>
+    <!-- has inverse #hasRole -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="heldBy">
+    <rdfs:domain rdf:resource="#Role"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:label>held by</rdfs:label>
+    <!-- has inverse #holdsRole -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="holdsRole">
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
+    <rdfs:range rdf:resource="#Role"/>
+    <rdfs:label>holds role</rdfs:label>
+    <!-- has inverse #heldBy -->
+  </owl:ObjectProperty>
+
+
+
+  <owl:Class rdf:ID="ConferenceChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Conference Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="ProgrammeChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Programme Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="WorkshopsChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Workshops Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="TutorialsChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Tutorials Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="PostersChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Posters Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="DemosChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Demos Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="IndustryChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Industry Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="SponsorshipChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Sponsorship Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="PublicityChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Publicity Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="SubmissionsChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Submissions Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="LocalOrganiser">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Local Organiser</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Administrator">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Administrator</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Webmaster">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Webmaster</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="DogfoodTsar">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Dogfood Tsar</rdfs:label>
+    <rdfs:comment>A role that is only relevant in relation to the topic of the conference e.g. Semantic 
+    Web Technologies Coordinator at a Semantic Web Conference.</rdfs:comment>
+  </owl:Class>
+
+  <owl:Class rdf:ID="OrganisingCommitteeMember">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Organising Committee Member</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="ProgrammeCommitteeMember">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Programme Committee Member</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="SessionChair">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Session Chair</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Tutor">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Tutor</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Presenter">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Presenter</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Reviewer">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Reviewer</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="AdditionalReviewer">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Additional Reviewer</rdfs:label>
+  </owl:Class>
+
+  <owl:Class rdf:ID="Delegate">
+    <rdfs:subClassOf rdf:resource="#Role"/>
+    <rdfs:label>Delegate</rdfs:label>
+  </owl:Class>
+
+
+<owl:Class rdf:ID="Sponsorship">
+  <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Sponsorship"/>
+  <rdfs:label>Sponsorship</rdfs:label>
+</owl:Class>
+
+  <owl:ObjectProperty rdf:ID="isProviderOf">
+    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Organisation"/>
+    <rdfs:range rdf:resource="#Sponsorship"/>
+    <rdfs:label>is provider of</rdfs:label>
+    <!-- inverse of #sProvidedBy -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="isProvidedBy">
+    <rdfs:domain rdf:resource="#Sponsorship"/>
+    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Organisation"/>
+    <rdfs:label>is provided by</rdfs:label>
+    <!-- inverse of #isProviderOf -->
+  </owl:ObjectProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasCostAmount">
+    <rdfs:domain rdf:resource="#Sponsorship"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
+    <rdfs:label>has cost amount</rdfs:label>
+  </owl:DatatypeProperty>
+
+  <owl:DatatypeProperty rdf:ID="hasCostCurrency">
+    <rdfs:domain rdf:resource="#Sponsorship"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
+    <rdfs:label>has cost currency</rdfs:label>
+  </owl:DatatypeProperty>
+
+
+
+<!-- additional generic properties -->
+
+<!-- Artefacts, Events, Places expected to use hasPart/isPartOf relations -->
+  <owl:ObjectProperty rdf:ID="hasPart">
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:label>has part</rdfs:label>
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="isPartOf">
+    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+    <rdfs:label>is part of</rdfs:label>
+  </owl:ObjectProperty>
+
+
+<!-- Artefacts, AcademicEvents, Calls expected to use hasTopic/isTopicOf relations -->
+  <owl:ObjectProperty rdf:ID="isTopicOf">
+    <rdfs:domain rdf:resource="http://swrc.ontoware.org/ontology#ResearchTopic"/>
+    <rdfs:label>is topic of</rdfs:label>
+    <!-- range deliberately left blank -->
+    <!-- inverse of #hasTopic -->
+  </owl:ObjectProperty>
+
+  <owl:ObjectProperty rdf:ID="hasTopic">
+    <!-- domain deliberately left blank -->
+    <rdfs:range rdf:resource="http://swrc.ontoware.org/ontology#ResearchTopic"/>
+    <rdfs:label>has topic</rdfs:label>
+    <!-- inverse of #isTopicOf -->
+  </owl:ObjectProperty>
+
+<!-- end of additional properties -->
+
+<!-- OWL hacks -->
+  <owl:Class rdf:about="http://swrc.ontoware.org/ontology#ResearchTopic"/>
+  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#anyURI"/>
+  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#dateTime"/>
+  <owl:Class rdf:about="http://www.w3.org/2001/XMLSchema#integer"/>
+  <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
+  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Organisation"/>
+  <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Announcement"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Document"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Event-1"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Menu"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Role-1"/>
+  <owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Sponsorship"/>
+
+  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/contributor"/>
+  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/creator"/>
+  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
+  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/description"/>
+  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/title"/> 
+<!-- -->
+
+<!-- OWL/RDFS compatibility hacks by Denny Vrandecic
+     (so RDFS only tools can handle OWL ontologies)
+     deploy where necessary
+The following three axioms provide a mapping of the OWL terms to the RDFS terms. So
+if a tool is not able to read the OWL ontology as it is, uncomment these axioms
+(or better, load an ontology with only these three axioms and merge them) and if the tool
+fulfills the RDFS specification it will magically be able to deal with the whole ontology.
+Mind you, you may not add this tool to the OWL ontology, or else you move to OWL Full.
+-->
+<!--
+    <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Class">
+      <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />
+    </owl:Class>
+
+    <rdfs:Property rdf:about="http://www.w3.org/2002/07/owl#DatatypeProperty">
+      <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property" />
+    </rdfs:Property>
+
+    <rdfs:Property rdf:about="http://www.w3.org/2002/07/owl#ObjectProperty">
+      <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Property" />
+    </rdfs:Property>
+-->
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src-examples/data/test1.owl
----------------------------------------------------------------------
diff --git a/jena-core/src-examples/data/test1.owl b/jena-core/src-examples/data/test1.owl
index 13725fb..4655f3c 100644
--- a/jena-core/src-examples/data/test1.owl
+++ b/jena-core/src-examples/data/test1.owl
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE owl [ 
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY owl  'http://www.w3.org/2002/07/owl#' >
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#' >
-]>
-
-<rdf:RDF 
-    xmlns:owl="&owl;"
-    xmlns:rdf="&rdf;"
-    xmlns:rdfs="&rdfs;"
-    xmlns="urn:x-hp-jena:test1#"
-    xml:base = "urn:x-hp-jena:test1" 
->
-   <owl:Ontology rdf:about="">
-       <owl:imports rdf:resource="urn:x-hp-jena:test2" />
-   </owl:Ontology>
-    
-   <owl:Class rdf:ID="Test1A"/>
-   
-   <owl:Class rdf:ID="Test1B">
-       <rdfs:subClassOf rdf:resource="#Test1A"/>
-   </owl:Class>
-   
-</rdf:RDF>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE owl [ 
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY owl  'http://www.w3.org/2002/07/owl#' >
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#' >
+]>
+
+<rdf:RDF 
+    xmlns:owl="&owl;"
+    xmlns:rdf="&rdf;"
+    xmlns:rdfs="&rdfs;"
+    xmlns="urn:x-hp-jena:test1#"
+    xml:base = "urn:x-hp-jena:test1" 
+>
+   <owl:Ontology rdf:about="">
+       <owl:imports rdf:resource="urn:x-hp-jena:test2" />
+   </owl:Ontology>
+    
+   <owl:Class rdf:ID="Test1A"/>
+   
+   <owl:Class rdf:ID="Test1B">
+       <rdfs:subClassOf rdf:resource="#Test1A"/>
+   </owl:Class>
+   
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/package.html
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/package.html b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/package.html
index 0a20f49..f6f054b 100755
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/package.html
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/package.html
@@ -16,12 +16,12 @@
     limitations under the License.
 -->
 
-<html>
-	<head>
-		<title>Package documentation for com.hp.hpl.jena.reasoner.rulesys.impl</title>
-	</head>
-	<body>
-		<p>
-			Internal implementation objects used by the rule system interpreters
			and compilers. Note that the class in here are not intended for 
			general use. In particular, they are primarily stucts rather than
			correctly encasulated objects (i.e. they access each other's fields
			directly in some cases, instead of indirectly through accessor methods).
-	    </p>

	</body>
+<html>
+	<head>
+		<title>Package documentation for com.hp.hpl.jena.reasoner.rulesys.impl</title>
+	</head>
+	<body>
+		<p>
+			Internal implementation objects used by the rule system interpreters
			and compilers. Note that the class in here are not intended for 
			general use. In particular, they are primarily stucts rather than
			correctly encasulated objects (i.e. they access each other's fields
			directly in some cases, instead of indirectly through accessor methods).
+	    </p>

	</body>
 </html>
\ No newline at end of file


[06/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountTests.java
index e589b3a..3525fd9 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.count.AbstractNodeTupleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.count.AbstractNodeTupleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapReduceTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapReduceTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapReduceTest.java
index 05fb569..471f746 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapReduceTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapReduceTest.java
@@ -1,35 +1,35 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Tests for the {@link TripleNodeCountMapper} used in conjunction with the

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapperTest.java
index 188a096..53fa376 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/QuadNodeCountMapperTest.java
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.QuadNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Tests for the {@link QuadNodeCountMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapReduceTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapReduceTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapReduceTest.java
index 26a1df7..694d989 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapReduceTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapReduceTest.java
@@ -1,33 +1,33 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.NodeCountReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Tests for the {@link TripleNodeCountMapper} used in conjunction with the

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapperTest.java
index 6b8f549..4beeffe 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/TripleNodeCountMapperTest.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.count.TripleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Tests for the {@link TripleNodeCountMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterTests.java
index 23c5661..46e59ce 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractNodeTupleFilterTests.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractNodeTupleFilterMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.AbstractNodeTupleFilterMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadValidityFilterTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadValidityFilterTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadValidityFilterTests.java
index 3a77f42..168bb5f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadValidityFilterTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractQuadValidityFilterTests.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for triple filter mappers that check triple validity

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleValidityFilterTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleValidityFilterTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleValidityFilterTests.java
index 30f3002..dbdbd80 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleValidityFilterTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/AbstractTripleValidityFilterTests.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for triple filter mappers that check triple validity

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByNoPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByNoPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByNoPredicateMapperTest.java
index 4c9fb5a..f2e3743 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByNoPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByNoPredicateMapperTest.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
 
 /**
  * Tests for the {@link TripleFilterByPredicateUriMapper} where there are no

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByPredicateMapperTest.java
index 34f79f0..cdb43fc 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleFilterByPredicateMapperTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.vocabulary.RDF ;
-import org.apache.jena.vocabulary.RDFS ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.vocabulary.RDFS ;
 
 /**
  * Tests for the {@link TripleFilterByPredicateUriMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByNoPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByNoPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByNoPredicateMapperTest.java
index fb7dd25..7961cf6 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByNoPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByNoPredicateMapperTest.java
@@ -1,24 +1,24 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
 
 /**
  * Tests for the {@link TripleFilterByPredicateUriMapper} where there are no

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByPredicateMapperTest.java
index 5d93c9f..7c83f27 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/TripleInvertedFilterByPredicateMapperTest.java
@@ -1,34 +1,34 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.vocabulary.RDF ;
-import org.apache.jena.vocabulary.RDFS ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.positional.TripleFilterByPredicateUriMapper;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.vocabulary.RDFS ;
 
 /**
  * Tests for the {@link TripleFilterByPredicateUriMapper}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapperTest.java
index 33b4bd1..a2b0765 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidQuadFilterMapperTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.ValidQuadFilterMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.ValidQuadFilterMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapperTest.java
index 9de6395..7f947e6 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/filter/ValidTripleFilterMapperTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.filter.ValidTripleFilterMapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.filter.ValidTripleFilterMapper;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingTests.java
index 1e362d1..da3e882 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingTests.java
index 6b49e7f..9ffeb17 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingTests.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.group.AbstractQuadGroupingMapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.group.AbstractQuadGroupingMapper;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for {@link AbstractQuadGroupingMapper} implementations

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingTests.java
index cb20c44..4f1e546 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingTests.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.group.AbstractTripleGroupingMapper;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.group.AbstractTripleGroupingMapper;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for {@link AbstractTripleGroupingMapper} implementations

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapperTest.java
index 370f820..2f8e21e 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByGraphMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByGraphMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapperTest.java
index 919696d..8426a6c 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByObjectMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByObjectMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapperTest.java
index 2a1b520..979e621 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByPredicateMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupByPredicateMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapperTest.java
index 3b0bb1a..0f8a225 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupBySubjectMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.QuadGroupBySubjectMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapperTest.java
index c769bb4..16936da 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupByObjectMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupByObjectMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapperTest.java
index e41cf50..213bdbd 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupByPredicateMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupByPredicateMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapperTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapperTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapperTest.java
index 64335f4..93a4372 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapperTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapperTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesTests.java
index 1de39cd..9dfe40a 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesTests.java
index 71136c2..682134a 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitWithNodesMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapperTests;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitWithNodesMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitToNodesTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitToNodesTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitToNodesTests.java
index 1096ccb..9a685b8 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitToNodesTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractQuadSplitToNodesTests.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.split.AbstractNodeTupleSplitToNodesMapper;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for {@link AbstractNodeTupleSplitToNodesMapper}


[04/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java b/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
index 132010a..8df6faf 100644
--- a/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
+++ b/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
@@ -1,83 +1,83 @@
-/**
- * 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.tools.schemagen;
-
-// Imports
-///////////////
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.util.List;
-
-import org.junit.Test;
-import org.apache.jena.tools.schemagen.SchemagenMojo;
-
-/**
- * <p>Unit tests for {@link SchemagenMojo}</p>
- */
-public class SchemagenMojoTest {
-
-    @Test
-    public void testMatchFileNames0() {
-        SchemagenMojo sm = new SchemagenMojo();
-
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertTrue( s.isEmpty() );
-    }
-
-    @Test
-    public void testMatchFileNames1() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/test1.ttl";
-        sm.addIncludes( f );
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 1, s.size() );
-        assertEquals( new File(f), new File(s.get(0)) );
-    }
-
-    @Test
-    public void testMatchFileNames2() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/*.ttl";
-        sm.addIncludes( f );
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 2, s.size() );
-        assertTrue( s.get(0).endsWith( "test1.ttl" ));
-        assertTrue( s.get(1).endsWith( "test2.ttl" ));
-    }
-
-    @Test
-    public void testMatchFileNames3() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/*.ttl";
-        sm.addIncludes( f );
-        sm.addExcludes( "src/test/resources/test1/test1.ttl" );
-
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 1, s.size() );
-        assertTrue( s.get(0).endsWith( "test2.ttl" ));
-    }
-
-
-}
+/**
+ * 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.tools.schemagen;
+
+// Imports
+///////////////
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+import java.util.List;
+
+import org.junit.Test;
+import org.apache.jena.tools.schemagen.SchemagenMojo;
+
+/**
+ * <p>Unit tests for {@link SchemagenMojo}</p>
+ */
+public class SchemagenMojoTest {
+
+    @Test
+    public void testMatchFileNames0() {
+        SchemagenMojo sm = new SchemagenMojo();
+
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertTrue( s.isEmpty() );
+    }
+
+    @Test
+    public void testMatchFileNames1() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/test1.ttl";
+        sm.addIncludes( f );
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 1, s.size() );
+        assertEquals( new File(f), new File(s.get(0)) );
+    }
+
+    @Test
+    public void testMatchFileNames2() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/*.ttl";
+        sm.addIncludes( f );
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 2, s.size() );
+        assertTrue( s.get(0).endsWith( "test1.ttl" ));
+        assertTrue( s.get(1).endsWith( "test2.ttl" ));
+    }
+
+    @Test
+    public void testMatchFileNames3() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/*.ttl";
+        sm.addIncludes( f );
+        sm.addExcludes( "src/test/resources/test1/test1.ttl" );
+
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 1, s.size() );
+        assertTrue( s.get(0).endsWith( "test2.ttl" ));
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
index d201f3b..1cd19de 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
@@ -1,87 +1,87 @@
-/*
- * 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.query.spatial;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.spatial4j.core.distance.DistanceUtils;
-
-public class DistanceUnitsUtils {
-
-    public final static String defaultDistanceUnit = "kilometres" ;
-    
-	public final static List<String> SUPPORTED_UNITS;
-	static {
-	 // International spelling "metres" 
-	 // As used by http://en.wikipedia.org/wiki/International_Bureau_of_Weights_and_Measures
-		SUPPORTED_UNITS = new ArrayList<String>();
-		SUPPORTED_UNITS.add("kilometres");           
-        SUPPORTED_UNITS.add("kilometers");           // America spelling
-		SUPPORTED_UNITS.add("km");
-		SUPPORTED_UNITS.add("meters");        
-        SUPPORTED_UNITS.add("metres");
-		SUPPORTED_UNITS.add("m");
-		SUPPORTED_UNITS.add("centimeters");
-        SUPPORTED_UNITS.add("centimetres");
-		SUPPORTED_UNITS.add("cm");
-		SUPPORTED_UNITS.add("millimetres");
-        SUPPORTED_UNITS.add("millimeters");
-        SUPPORTED_UNITS.add("mm");
-		SUPPORTED_UNITS.add("miles");
-		SUPPORTED_UNITS.add("mi");
-		SUPPORTED_UNITS.add("degrees");
-		SUPPORTED_UNITS.add("de");
-	}
-
-	public static double dist2Degrees(double dist, String units) {
-		double degrees = dist;
-
-		if (units.equals("kilometers") || units.equals("kilometres") || units.equals("km"))
-			return DistanceUtils.dist2Degrees(dist,
-					DistanceUtils.EARTH_MEAN_RADIUS_KM);
-
-		else if (units.equals("meters") || units.equals("metres") || units.equals("m"))
-			return DistanceUtils.dist2Degrees(dist / 1000,
-					DistanceUtils.EARTH_MEAN_RADIUS_KM);
-
-		else if (units.equals("centimeters") || units.equals("centimetres") || units.equals("cm"))
-			return DistanceUtils.dist2Degrees(dist / (1000 * 100),
-					DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
-
-		else if ( units.equals("millimeters") || units.equals("millimetres") || units.equals("mm") || 
-		          units.equals("milimeters") || units.equals("milimetres") ) // Common spelling mistake.
-			return DistanceUtils.dist2Degrees(dist / (1000 * 1000),
-					DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
-
-		else if (units.equals("miles") || units.equals("mi"))
-			return DistanceUtils.dist2Degrees(dist,
-					DistanceUtils.EARTH_MEAN_RADIUS_MI);
-
-		else if (units.equals("degrees") || units.equals("de"))
-			return degrees;
-
-		throw new IllegalArgumentException("unknow distance units: "+ units);
-	}
-	
-	public static boolean isSupportedUnits(String units){
-		return SUPPORTED_UNITS.contains(units);
-	}
-
-}
+/*
+ * 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.query.spatial;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.spatial4j.core.distance.DistanceUtils;
+
+public class DistanceUnitsUtils {
+
+    public final static String defaultDistanceUnit = "kilometres" ;
+    
+	public final static List<String> SUPPORTED_UNITS;
+	static {
+	 // International spelling "metres" 
+	 // As used by http://en.wikipedia.org/wiki/International_Bureau_of_Weights_and_Measures
+		SUPPORTED_UNITS = new ArrayList<String>();
+		SUPPORTED_UNITS.add("kilometres");           
+        SUPPORTED_UNITS.add("kilometers");           // America spelling
+		SUPPORTED_UNITS.add("km");
+		SUPPORTED_UNITS.add("meters");        
+        SUPPORTED_UNITS.add("metres");
+		SUPPORTED_UNITS.add("m");
+		SUPPORTED_UNITS.add("centimeters");
+        SUPPORTED_UNITS.add("centimetres");
+		SUPPORTED_UNITS.add("cm");
+		SUPPORTED_UNITS.add("millimetres");
+        SUPPORTED_UNITS.add("millimeters");
+        SUPPORTED_UNITS.add("mm");
+		SUPPORTED_UNITS.add("miles");
+		SUPPORTED_UNITS.add("mi");
+		SUPPORTED_UNITS.add("degrees");
+		SUPPORTED_UNITS.add("de");
+	}
+
+	public static double dist2Degrees(double dist, String units) {
+		double degrees = dist;
+
+		if (units.equals("kilometers") || units.equals("kilometres") || units.equals("km"))
+			return DistanceUtils.dist2Degrees(dist,
+					DistanceUtils.EARTH_MEAN_RADIUS_KM);
+
+		else if (units.equals("meters") || units.equals("metres") || units.equals("m"))
+			return DistanceUtils.dist2Degrees(dist / 1000,
+					DistanceUtils.EARTH_MEAN_RADIUS_KM);
+
+		else if (units.equals("centimeters") || units.equals("centimetres") || units.equals("cm"))
+			return DistanceUtils.dist2Degrees(dist / (1000 * 100),
+					DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
+
+		else if ( units.equals("millimeters") || units.equals("millimetres") || units.equals("mm") || 
+		          units.equals("milimeters") || units.equals("milimetres") ) // Common spelling mistake.
+			return DistanceUtils.dist2Degrees(dist / (1000 * 1000),
+					DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
+
+		else if (units.equals("miles") || units.equals("mi"))
+			return DistanceUtils.dist2Degrees(dist,
+					DistanceUtils.EARTH_MEAN_RADIUS_MI);
+
+		else if (units.equals("degrees") || units.equals("de"))
+			return degrees;
+
+		throw new IllegalArgumentException("unknow distance units: "+ units);
+	}
+	
+	public static boolean isSupportedUnits(String units){
+		return SUPPORTED_UNITS.contains(units);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
index 9d0c8d5..1c919f6 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
@@ -1,105 +1,105 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.DatasetFactory ;
-import org.apache.jena.query.spatial.assembler.SpatialVocab;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.assembler.AssemblerUtils ;
-import org.apache.jena.sparql.util.Context ;
-import org.apache.jena.system.JenaSystem ;
-import org.apache.lucene.store.Directory;
-import org.apache.solr.client.solrj.SolrServer;
-
-public class SpatialDatasetFactory
-{
-    static { JenaSystem.init(); }
-    
-    /** Use an assembler file to build a dataset with spatial search capabilities */ 
-    public static Dataset create(String assemblerFile)
-    {
-        return (Dataset)AssemblerUtils.build(assemblerFile, SpatialVocab.spatialDataset) ;
-    }
-
-    /** Create a text-indexed dataset */ 
-    public static Dataset create(Dataset base, SpatialIndex textIndex)
-    {
-        DatasetGraph dsg = base.asDatasetGraph() ;
-        dsg = create(dsg, textIndex) ;
-        return DatasetFactory.wrap(dsg) ;
-    }
-
-
-    /** Create a text-indexed dataset */ 
-    public static DatasetGraph create(DatasetGraph dsg, SpatialIndex spatialIndex)
-    {
-        SpatialDocProducer producer = new SpatialDocProducerTriples(spatialIndex) ;
-        DatasetGraph dsgt = new DatasetGraphSpatial(dsg, spatialIndex, producer) ;
-        // Also set on dsg
-        Context c = dsgt.getContext() ;
-        
-        dsgt.getContext().set(SpatialQuery.spatialIndex, spatialIndex) ;
-        return dsgt ;
-
-    }
-    
-    /** Create a Lucene TextIndex */ 
-    public static SpatialIndex createLuceneIndex(Directory directory, EntityDefinition entMap)
-    {
-        SpatialIndex index = new SpatialIndexLucene(directory, entMap) ;
-        return index ; 
-    }
-
-    /** Create a text-indexed dataset, using Lucene */ 
-    public static Dataset createLucene(Dataset base, Directory directory, EntityDefinition entMap)
-    {
-        SpatialIndex index = createLuceneIndex(directory, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a text-indexed dataset, using Lucene */ 
-    public static DatasetGraph createLucene(DatasetGraph base, Directory directory, EntityDefinition entMap)
-    {
-        SpatialIndex index = createLuceneIndex(directory, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a Solr TextIndex */ 
-    public static SpatialIndex createSolrIndex(SolrServer server, EntityDefinition entMap)
-    {
-        SpatialIndex index = new SpatialIndexSolr(server, entMap) ;
-        return index ; 
-    }
-
-    /** Create a text-indexed dataset, using Solr */ 
-    public static Dataset createSolrIndex(Dataset base, SolrServer server, EntityDefinition entMap)
-    {
-        SpatialIndex index = createSolrIndex(server, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a text-indexed dataset, using Solr */ 
-    public static DatasetGraph createSolrIndex(DatasetGraph base, SolrServer server, EntityDefinition entMap)
-    {
-        SpatialIndex index = createSolrIndex(server, entMap) ;
-        return create(base, index) ; 
-    }
-}
-
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.DatasetFactory ;
+import org.apache.jena.query.spatial.assembler.SpatialVocab;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.assembler.AssemblerUtils ;
+import org.apache.jena.sparql.util.Context ;
+import org.apache.jena.system.JenaSystem ;
+import org.apache.lucene.store.Directory;
+import org.apache.solr.client.solrj.SolrServer;
+
+public class SpatialDatasetFactory
+{
+    static { JenaSystem.init(); }
+    
+    /** Use an assembler file to build a dataset with spatial search capabilities */ 
+    public static Dataset create(String assemblerFile)
+    {
+        return (Dataset)AssemblerUtils.build(assemblerFile, SpatialVocab.spatialDataset) ;
+    }
+
+    /** Create a text-indexed dataset */ 
+    public static Dataset create(Dataset base, SpatialIndex textIndex)
+    {
+        DatasetGraph dsg = base.asDatasetGraph() ;
+        dsg = create(dsg, textIndex) ;
+        return DatasetFactory.wrap(dsg) ;
+    }
+
+
+    /** Create a text-indexed dataset */ 
+    public static DatasetGraph create(DatasetGraph dsg, SpatialIndex spatialIndex)
+    {
+        SpatialDocProducer producer = new SpatialDocProducerTriples(spatialIndex) ;
+        DatasetGraph dsgt = new DatasetGraphSpatial(dsg, spatialIndex, producer) ;
+        // Also set on dsg
+        Context c = dsgt.getContext() ;
+        
+        dsgt.getContext().set(SpatialQuery.spatialIndex, spatialIndex) ;
+        return dsgt ;
+
+    }
+    
+    /** Create a Lucene TextIndex */ 
+    public static SpatialIndex createLuceneIndex(Directory directory, EntityDefinition entMap)
+    {
+        SpatialIndex index = new SpatialIndexLucene(directory, entMap) ;
+        return index ; 
+    }
+
+    /** Create a text-indexed dataset, using Lucene */ 
+    public static Dataset createLucene(Dataset base, Directory directory, EntityDefinition entMap)
+    {
+        SpatialIndex index = createLuceneIndex(directory, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a text-indexed dataset, using Lucene */ 
+    public static DatasetGraph createLucene(DatasetGraph base, Directory directory, EntityDefinition entMap)
+    {
+        SpatialIndex index = createLuceneIndex(directory, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a Solr TextIndex */ 
+    public static SpatialIndex createSolrIndex(SolrServer server, EntityDefinition entMap)
+    {
+        SpatialIndex index = new SpatialIndexSolr(server, entMap) ;
+        return index ; 
+    }
+
+    /** Create a text-indexed dataset, using Solr */ 
+    public static Dataset createSolrIndex(Dataset base, SolrServer server, EntityDefinition entMap)
+    {
+        SpatialIndex index = createSolrIndex(server, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a text-indexed dataset, using Solr */ 
+    public static DatasetGraph createSolrIndex(DatasetGraph base, SolrServer server, EntityDefinition entMap)
+    {
+        SpatialIndex index = createSolrIndex(server, entMap) ;
+        return create(base, index) ; 
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
index 5d25d19..36a6801 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
@@ -1,103 +1,103 @@
-/*
- * 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.query.spatial;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.graph.Node ;
-
-import com.spatial4j.core.shape.Shape;
-
-public class SpatialIndexContext {
-
-	private final EntityDefinition defn;
-	private final SpatialIndex indexer;
-	private final Map<String, Set<SpatialPredicatePairValue>> spatialPredicatePairValues;
-
-	public SpatialIndexContext(SpatialIndex indexer) {
-		super();
-		this.defn = indexer.getDocDef();
-		this.indexer = indexer;
-		this.spatialPredicatePairValues = new HashMap<String, Set<SpatialPredicatePairValue>>();
-	}
-
-	public void index(Node g, Node s, Node p, Node o) {
-
-		if (!o.isLiteral()) {
-			return;
-		}
-
-		String x = SpatialQueryFuncs.subjectToString(s) ;
-		Log.info(getClass(), "Subject: "+x) ;
-
-		if (defn.isSpatialPredicate(p) && SpatialValueUtil.isDecimal(o)) {
-
-			boolean isLat = defn.isLatitudePredicate(p);
-
-			SpatialPredicatePair pair = defn.getSpatialPredicatePair(p);
-			Set<SpatialPredicatePairValue> pairValues = spatialPredicatePairValues
-					.get(x);
-			if (pairValues == null) {
-				pairValues = new HashSet<SpatialPredicatePairValue>();
-				spatialPredicatePairValues.put(x, pairValues);
-			}
-
-			Iterator<SpatialPredicatePairValue> it = pairValues.iterator();
-			SpatialPredicatePairValue toRemove = null;
-
-			while (it.hasNext()) {
-				SpatialPredicatePairValue pairValue = it.next();
-				if (pairValue.getPair().equals(pair)) {
-					Double theOtherValue = pairValue.getTheOtherValue(p);
-					if (theOtherValue != null) {
-						if (isLat) {
-							indexer.add(x, SpatialQuery.ctx.makePoint(
-									theOtherValue, 
-									Double.parseDouble(o.getLiteralLexicalForm())));
-						} else {
-							indexer.add(x, SpatialQuery.ctx.makePoint(Double.parseDouble(o.getLiteralLexicalForm()),
-									theOtherValue));
-						}
-						toRemove = pairValue;
-					}
-					break;
-				}
-			}
-			if (toRemove != null) {
-				pairValues.remove(toRemove);
-				return;
-			}
-
-			SpatialPredicatePairValue toAdd = new SpatialPredicatePairValue(
-					pair);
-			toAdd.setValue(p, Double.parseDouble(o.getLiteralLexicalForm()));
-			pairValues.add(toAdd);
-
-		} else if (defn.isWKTPredicate(p) && SpatialValueUtil.isWKTLiteral(o.getLiteral())) {
-			@SuppressWarnings("deprecation")
-            Shape shape = SpatialQuery.ctx.readShape(o.getLiteralLexicalForm());
-			indexer.add(x, shape);
-		}
-	}
-}
+/*
+ * 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.query.spatial;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.graph.Node ;
+
+import com.spatial4j.core.shape.Shape;
+
+public class SpatialIndexContext {
+
+	private final EntityDefinition defn;
+	private final SpatialIndex indexer;
+	private final Map<String, Set<SpatialPredicatePairValue>> spatialPredicatePairValues;
+
+	public SpatialIndexContext(SpatialIndex indexer) {
+		super();
+		this.defn = indexer.getDocDef();
+		this.indexer = indexer;
+		this.spatialPredicatePairValues = new HashMap<String, Set<SpatialPredicatePairValue>>();
+	}
+
+	public void index(Node g, Node s, Node p, Node o) {
+
+		if (!o.isLiteral()) {
+			return;
+		}
+
+		String x = SpatialQueryFuncs.subjectToString(s) ;
+		Log.info(getClass(), "Subject: "+x) ;
+
+		if (defn.isSpatialPredicate(p) && SpatialValueUtil.isDecimal(o)) {
+
+			boolean isLat = defn.isLatitudePredicate(p);
+
+			SpatialPredicatePair pair = defn.getSpatialPredicatePair(p);
+			Set<SpatialPredicatePairValue> pairValues = spatialPredicatePairValues
+					.get(x);
+			if (pairValues == null) {
+				pairValues = new HashSet<SpatialPredicatePairValue>();
+				spatialPredicatePairValues.put(x, pairValues);
+			}
+
+			Iterator<SpatialPredicatePairValue> it = pairValues.iterator();
+			SpatialPredicatePairValue toRemove = null;
+
+			while (it.hasNext()) {
+				SpatialPredicatePairValue pairValue = it.next();
+				if (pairValue.getPair().equals(pair)) {
+					Double theOtherValue = pairValue.getTheOtherValue(p);
+					if (theOtherValue != null) {
+						if (isLat) {
+							indexer.add(x, SpatialQuery.ctx.makePoint(
+									theOtherValue, 
+									Double.parseDouble(o.getLiteralLexicalForm())));
+						} else {
+							indexer.add(x, SpatialQuery.ctx.makePoint(Double.parseDouble(o.getLiteralLexicalForm()),
+									theOtherValue));
+						}
+						toRemove = pairValue;
+					}
+					break;
+				}
+			}
+			if (toRemove != null) {
+				pairValues.remove(toRemove);
+				return;
+			}
+
+			SpatialPredicatePairValue toAdd = new SpatialPredicatePairValue(
+					pair);
+			toAdd.setValue(p, Double.parseDouble(o.getLiteralLexicalForm()));
+			pairValues.add(toAdd);
+
+		} else if (defn.isWKTPredicate(p) && SpatialValueUtil.isWKTLiteral(o.getLiteral())) {
+			@SuppressWarnings("deprecation")
+            Shape shape = SpatialQuery.ctx.readShape(o.getLiteralLexicalForm());
+			indexer.add(x, shape);
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
index 2f88e1c..eedc212 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
@@ -1,74 +1,74 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.graph.Node ;
-
-public class SpatialPredicatePair {
-
-	private Node latitudePredicate;
-	private Node longitudePredicate;
-
-	public SpatialPredicatePair(Node latitudePredicate, Node longitudePredicate) {
-		super();
-		this.latitudePredicate = latitudePredicate;
-		this.longitudePredicate = longitudePredicate;
-	}
-
-	public Node getLatitudePredicate() {
-		return latitudePredicate;
-	}
-
-	public Node getLongitudePredicate() {
-		return longitudePredicate;
-	}
-
-	@Override
-	public int hashCode() {
-		return latitudePredicate.hashCode() * 7 + longitudePredicate.hashCode()
-				* 13;
-	}
-
-	@Override
-	public boolean equals(Object otherObject) {
-		// a quick test to see if the objects are identical
-		if (this == otherObject)
-			return true;
-
-		// must return false if the explicit parameter is null
-		if (otherObject == null)
-			return false;
-
-		// if the classes don't match, they can't be equal
-		if (getClass() != otherObject.getClass())
-			return false;
-
-		// now we know otherObject is a non-null Employee
-		SpatialPredicatePair other = (SpatialPredicatePair) otherObject;
-
-		// test whether the fields have identical values
-		return latitudePredicate.equals(other.latitudePredicate)
-				&& longitudePredicate == other.longitudePredicate;
-	}
-	
-	@Override
-	public String toString(){
-		return "[ " + latitudePredicate.toString() + ", " + longitudePredicate.toString() + " ]";
-	}
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.graph.Node ;
+
+public class SpatialPredicatePair {
+
+	private Node latitudePredicate;
+	private Node longitudePredicate;
+
+	public SpatialPredicatePair(Node latitudePredicate, Node longitudePredicate) {
+		super();
+		this.latitudePredicate = latitudePredicate;
+		this.longitudePredicate = longitudePredicate;
+	}
+
+	public Node getLatitudePredicate() {
+		return latitudePredicate;
+	}
+
+	public Node getLongitudePredicate() {
+		return longitudePredicate;
+	}
+
+	@Override
+	public int hashCode() {
+		return latitudePredicate.hashCode() * 7 + longitudePredicate.hashCode()
+				* 13;
+	}
+
+	@Override
+	public boolean equals(Object otherObject) {
+		// a quick test to see if the objects are identical
+		if (this == otherObject)
+			return true;
+
+		// must return false if the explicit parameter is null
+		if (otherObject == null)
+			return false;
+
+		// if the classes don't match, they can't be equal
+		if (getClass() != otherObject.getClass())
+			return false;
+
+		// now we know otherObject is a non-null Employee
+		SpatialPredicatePair other = (SpatialPredicatePair) otherObject;
+
+		// test whether the fields have identical values
+		return latitudePredicate.equals(other.latitudePredicate)
+				&& longitudePredicate == other.longitudePredicate;
+	}
+	
+	@Override
+	public String toString(){
+		return "[ " + latitudePredicate.toString() + ", " + longitudePredicate.toString() + " ]";
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
index b8e1285..9288757 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
@@ -1,109 +1,109 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.graph.Node ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class SpatialPredicatePairValue {
-
-	private static Logger log = LoggerFactory
-			.getLogger(SpatialPredicatePairValue.class);
-
-	public SpatialPredicatePairValue(SpatialPredicatePair pair) {
-		this.pair = pair;
-	}
-
-	private SpatialPredicatePair pair;
-	private Double latitudeValue;
-	private Double longitudeValue;
-
-	public Double getLatitudeValue() {
-		return latitudeValue;
-	}
-
-	public Double getLongitudeValue() {
-		return longitudeValue;
-	}
-
-	public SpatialPredicatePair getPair() {
-		return pair;
-	}
-
-	public void setValue(Node predicate, Double value) {
-		if (predicate.equals(pair.getLatitudePredicate())) {
-			this.latitudeValue = value;
-		} else if (predicate.equals(pair.getLongitudePredicate())) {
-			this.longitudeValue = value;
-		} else {
-			log.warn("Try to set value to a SpatialPredicatePairValue with no such predicate: "
-					+ predicate + " :: " + value);
-		}
-
-	}
-
-	public Double getTheOtherValue(Node predicate) {
-		if (pair.getLatitudePredicate().equals(predicate)) {
-			return this.getLongitudeValue();
-		} else if (predicate.equals(pair.getLongitudePredicate())) {
-			return this.getLatitudeValue();
-		} else {
-			log.warn("Try to get value to a SpatialPredicatePairValue with no such predicate: "
-					+ predicate);
-			return null;
-		}
-	}
-
-	@Override
-	public int hashCode() {
-		int latitudeHashCode = latitudeValue == null ? 0 : latitudeValue
-				.hashCode() * 17;
-		int longitudeHashCode = longitudeValue == null ? 0 : longitudeValue
-				.hashCode() * 19;
-		return pair.hashCode() * 11 + latitudeHashCode + longitudeHashCode;
-	}
-
-	@Override
-	public boolean equals(Object otherObject) {
-		// a quick test to see if the objects are identical
-		if (this == otherObject)
-			return true;
-
-		// must return false if the explicit parameter is null
-		if (otherObject == null)
-			return false;
-
-		// if the classes don't match, they can't be equal
-		if (getClass() != otherObject.getClass())
-			return false;
-
-		// now we know otherObject is a non-null Employee
-		SpatialPredicatePairValue other = (SpatialPredicatePairValue) otherObject;
-
-		boolean latitudeValueEquals = this.latitudeValue == null ? other.latitudeValue == null
-				: this.latitudeValue.equals(other.latitudeValue);
-		boolean longitudeValueEquals = this.longitudeValue == null ? other.longitudeValue == null
-				: this.longitudeValue.equals(other.longitudeValue);
-
-		// test whether the fields have identical values
-		return pair.equals(other.pair) && latitudeValueEquals
-				&& longitudeValueEquals;
-	}
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.graph.Node ;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SpatialPredicatePairValue {
+
+	private static Logger log = LoggerFactory
+			.getLogger(SpatialPredicatePairValue.class);
+
+	public SpatialPredicatePairValue(SpatialPredicatePair pair) {
+		this.pair = pair;
+	}
+
+	private SpatialPredicatePair pair;
+	private Double latitudeValue;
+	private Double longitudeValue;
+
+	public Double getLatitudeValue() {
+		return latitudeValue;
+	}
+
+	public Double getLongitudeValue() {
+		return longitudeValue;
+	}
+
+	public SpatialPredicatePair getPair() {
+		return pair;
+	}
+
+	public void setValue(Node predicate, Double value) {
+		if (predicate.equals(pair.getLatitudePredicate())) {
+			this.latitudeValue = value;
+		} else if (predicate.equals(pair.getLongitudePredicate())) {
+			this.longitudeValue = value;
+		} else {
+			log.warn("Try to set value to a SpatialPredicatePairValue with no such predicate: "
+					+ predicate + " :: " + value);
+		}
+
+	}
+
+	public Double getTheOtherValue(Node predicate) {
+		if (pair.getLatitudePredicate().equals(predicate)) {
+			return this.getLongitudeValue();
+		} else if (predicate.equals(pair.getLongitudePredicate())) {
+			return this.getLatitudeValue();
+		} else {
+			log.warn("Try to get value to a SpatialPredicatePairValue with no such predicate: "
+					+ predicate);
+			return null;
+		}
+	}
+
+	@Override
+	public int hashCode() {
+		int latitudeHashCode = latitudeValue == null ? 0 : latitudeValue
+				.hashCode() * 17;
+		int longitudeHashCode = longitudeValue == null ? 0 : longitudeValue
+				.hashCode() * 19;
+		return pair.hashCode() * 11 + latitudeHashCode + longitudeHashCode;
+	}
+
+	@Override
+	public boolean equals(Object otherObject) {
+		// a quick test to see if the objects are identical
+		if (this == otherObject)
+			return true;
+
+		// must return false if the explicit parameter is null
+		if (otherObject == null)
+			return false;
+
+		// if the classes don't match, they can't be equal
+		if (getClass() != otherObject.getClass())
+			return false;
+
+		// now we know otherObject is a non-null Employee
+		SpatialPredicatePairValue other = (SpatialPredicatePairValue) otherObject;
+
+		boolean latitudeValueEquals = this.latitudeValue == null ? other.latitudeValue == null
+				: this.latitudeValue.equals(other.latitudeValue);
+		boolean longitudeValueEquals = this.longitudeValue == null ? other.longitudeValue == null
+				: this.longitudeValue.equals(other.longitudeValue);
+
+		// test whether the fields have identical values
+		return pair.equals(other.pair) && latitudeValueEquals
+				&& longitudeValueEquals;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
index 3996f36..e30d8ee 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
@@ -1,60 +1,60 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.impl.LiteralLabel ;
-import org.apache.jena.sparql.util.NodeUtils ;
-
-public class SpatialValueUtil {
-
-    /** Does the LiteralLabel look like a decimal? 
-     * (Maybe a string - if so, OK if it parses as a decimal)
-     */
-	public static boolean isDecimal(Node n) {
-	    if ( NodeUtils.isSimpleString(n) || NodeUtils.isLangString(n) ) {
-	        try {
-                Double.parseDouble(n.getLiteralLexicalForm()) ;
-                return true;
-            } catch (NumberFormatException e) {
-                return false;
-            }
-	    }
-	    
-		RDFDatatype dtype = n.getLiteralDatatype();
-		if ((dtype.equals(XSDDatatype.XSDfloat))
-				|| (dtype.equals(XSDDatatype.XSDdecimal))
-				|| (dtype.equals(XSDDatatype.XSDdouble) || (dtype
-						.equals(XSDDatatype.XSDinteger))))
-			return true;
-		return false;
-	}
-
-	public static boolean isWKTLiteral(LiteralLabel literal) {
-		RDFDatatype dtype = literal.getDatatype();
-		if (dtype == null)
-			return false;
-		if (dtype.getURI().equals(
-				EntityDefinition.geosparql_wktLiteral.getURI()))
-			return true;
-		return false;
-	}
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.datatypes.RDFDatatype ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.impl.LiteralLabel ;
+import org.apache.jena.sparql.util.NodeUtils ;
+
+public class SpatialValueUtil {
+
+    /** Does the LiteralLabel look like a decimal? 
+     * (Maybe a string - if so, OK if it parses as a decimal)
+     */
+	public static boolean isDecimal(Node n) {
+	    if ( NodeUtils.isSimpleString(n) || NodeUtils.isLangString(n) ) {
+	        try {
+                Double.parseDouble(n.getLiteralLexicalForm()) ;
+                return true;
+            } catch (NumberFormatException e) {
+                return false;
+            }
+	    }
+	    
+		RDFDatatype dtype = n.getLiteralDatatype();
+		if ((dtype.equals(XSDDatatype.XSDfloat))
+				|| (dtype.equals(XSDDatatype.XSDdecimal))
+				|| (dtype.equals(XSDDatatype.XSDdouble) || (dtype
+						.equals(XSDDatatype.XSDinteger))))
+			return true;
+		return false;
+	}
+
+	public static boolean isWKTLiteral(LiteralLabel literal) {
+		RDFDatatype dtype = literal.getDatatype();
+		if (dtype == null)
+			return false;
+		if (dtype.getURI().equals(
+				EntityDefinition.geosparql_wktLiteral.getURI()))
+			return true;
+		return false;
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
index 2f49963..29bb81f 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/DirectionWithPointPFBase.java
@@ -1,146 +1,146 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.List;
-
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.impl.LiteralLabel ;
-import org.apache.jena.query.QueryBuildException ;
-import org.apache.jena.query.spatial.SpatialIndexException;
-import org.apache.jena.query.spatial.SpatialValueUtil;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.pfunction.PropFuncArg ;
-import org.apache.jena.sparql.util.NodeFactoryExtra ;
-import org.apache.lucene.spatial.query.SpatialOperation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class DirectionWithPointPFBase extends SpatialOperationPFBase {
-	
-	private static Logger log = LoggerFactory.getLogger(DirectionWithPointPFBase.class);
-
-	public DirectionWithPointPFBase() {
-		
-	}
-
-	@Override
-	public void build(PropFuncArg argSubject, Node predicate,
-			PropFuncArg argObject, ExecutionContext execCxt) {
-		super.build(argSubject, predicate, argObject, execCxt);
-		
-		if (!argSubject.isNode())
-			throw new QueryBuildException("Subject is not a single node: "
-					+ argSubject);
-
-		if (argObject.isList()) {
-			List<Node> list = argObject.getArgList();
-			if (list.size() < 2)
-				throw new QueryBuildException("Not enough arguments in list");
-
-			if (list.size() > 3)
-				throw new QueryBuildException("Too many arguments in list : "
-						+ list);
-		}
-	}
-	
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-	@Override
-    protected SpatialMatch objectToStruct(PropFuncArg argObject) {
-		if (argObject.isNode()) {
-			log.warn("Object not a List: " + argObject);
-			return null;
-		}
-
-		List<Node> list = argObject.getArgList();
-
-		if (list.size() < 2 || list.size() > 3)
-			throw new SpatialIndexException("Change in object list size");
-
-		int idx = 0;
-
-		Node x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Latitude is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Latitude is not a decimal " + list);
-			return null;
-		}
-		Double latitude = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-
-		x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Longitude is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Longitude is not a decimal " + list);
-			return null;
-		}
-		Double longitude = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-
-		int limit =-1;
-		
-		if (idx < list.size()) {
-			x = list.get(idx);
-
-			if (!x.isLiteral()) {
-				log.warn("Limit is not a literal " + list);
-				return null;
-			}
-
-			LiteralLabel lit = x.getLiteral();
-
-			if (!XSDDatatype.XSDinteger.isValidLiteral(lit)) {
-				log.warn("Limit is not an integer " + list);
-				return null;
-			}
-
-			int v = NodeFactoryExtra.nodeToInt(x);
-			limit = (v < 0) ? -1 : v;
-
-			idx++;
-			if (idx < list.size()) {
-				log.warn("Limit is not the last parameter " + list);
-				return null;
-			}
-		}
-		
-		SpatialMatch match = this.getSpatialMatch(latitude, longitude, limit);
-		if (log.isDebugEnabled())
-			log.debug("Trying SpatialMatch: " + match.toString());
-		return match;
-	}
-	
-	protected abstract SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit);
-
-	@Override
-	protected SpatialOperation getSpatialOperation() {
-		return SpatialOperation.IsWithin;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.List;
+
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.impl.LiteralLabel ;
+import org.apache.jena.query.QueryBuildException ;
+import org.apache.jena.query.spatial.SpatialIndexException;
+import org.apache.jena.query.spatial.SpatialValueUtil;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.pfunction.PropFuncArg ;
+import org.apache.jena.sparql.util.NodeFactoryExtra ;
+import org.apache.lucene.spatial.query.SpatialOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public abstract class DirectionWithPointPFBase extends SpatialOperationPFBase {
+	
+	private static Logger log = LoggerFactory.getLogger(DirectionWithPointPFBase.class);
+
+	public DirectionWithPointPFBase() {
+		
+	}
+
+	@Override
+	public void build(PropFuncArg argSubject, Node predicate,
+			PropFuncArg argObject, ExecutionContext execCxt) {
+		super.build(argSubject, predicate, argObject, execCxt);
+		
+		if (!argSubject.isNode())
+			throw new QueryBuildException("Subject is not a single node: "
+					+ argSubject);
+
+		if (argObject.isList()) {
+			List<Node> list = argObject.getArgList();
+			if (list.size() < 2)
+				throw new QueryBuildException("Not enough arguments in list");
+
+			if (list.size() > 3)
+				throw new QueryBuildException("Too many arguments in list : "
+						+ list);
+		}
+	}
+	
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+	@Override
+    protected SpatialMatch objectToStruct(PropFuncArg argObject) {
+		if (argObject.isNode()) {
+			log.warn("Object not a List: " + argObject);
+			return null;
+		}
+
+		List<Node> list = argObject.getArgList();
+
+		if (list.size() < 2 || list.size() > 3)
+			throw new SpatialIndexException("Change in object list size");
+
+		int idx = 0;
+
+		Node x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Latitude is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Latitude is not a decimal " + list);
+			return null;
+		}
+		Double latitude = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+
+		x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Longitude is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Longitude is not a decimal " + list);
+			return null;
+		}
+		Double longitude = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+
+		int limit =-1;
+		
+		if (idx < list.size()) {
+			x = list.get(idx);
+
+			if (!x.isLiteral()) {
+				log.warn("Limit is not a literal " + list);
+				return null;
+			}
+
+			LiteralLabel lit = x.getLiteral();
+
+			if (!XSDDatatype.XSDinteger.isValidLiteral(lit)) {
+				log.warn("Limit is not an integer " + list);
+				return null;
+			}
+
+			int v = NodeFactoryExtra.nodeToInt(x);
+			limit = (v < 0) ? -1 : v;
+
+			idx++;
+			if (idx < list.size()) {
+				log.warn("Limit is not the last parameter " + list);
+				return null;
+			}
+		}
+		
+		SpatialMatch match = this.getSpatialMatch(latitude, longitude, limit);
+		if (log.isDebugEnabled())
+			log.debug("Trying SpatialMatch: " + match.toString());
+		return match;
+	}
+	
+	protected abstract SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit);
+
+	@Override
+	protected SpatialOperation getSpatialOperation() {
+		return SpatialOperation.IsWithin;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialMatch.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialMatch.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialMatch.java
index 10832ed..0d8275c 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialMatch.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialMatch.java
@@ -1,67 +1,67 @@
-/*
- * 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.query.spatial.pfunction;
-
-import org.apache.jena.query.spatial.DistanceUnitsUtils;
-import org.apache.jena.query.spatial.SpatialQuery;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-import com.spatial4j.core.shape.Shape;
-
-public class SpatialMatch {
-
-	private final Shape shape;
-	private final int limit;
-	private final SpatialOperation operation;
-
-	public SpatialMatch(Double latitude, Double longitude, Double radius,
-			String units, int limit, SpatialOperation operation) {
-
-		double degrees = DistanceUnitsUtils.dist2Degrees(radius, units);
-		this.shape = SpatialQuery.ctx.makeCircle(longitude, latitude, degrees);
-		//System.out.println( SpatialQuery.ctx.toString(shape) );
-		this.limit = limit;
-		this.operation = operation;
-	}
-
-	public SpatialMatch(Double latitude1, Double longitude1, Double latitude2,
-			Double longitude2, int limit, SpatialOperation operation) {
-		this.shape = SpatialQuery.ctx.makeRectangle(longitude1, longitude2, latitude1, latitude2);
-		this.limit = limit;
-		this.operation = operation;
-	}
-
-	public Shape getShape() {
-		return shape;
-	}
-
-	public int getLimit() {
-		return limit;
-	}
-
-	public SpatialOperation getSpatialOperation() {
-		return operation;
-	}
-
-	@Override
-	public String toString() {
-		return "(" + shape + " " + limit + " " + operation + ")";
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import org.apache.jena.query.spatial.DistanceUnitsUtils;
+import org.apache.jena.query.spatial.SpatialQuery;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+import com.spatial4j.core.shape.Shape;
+
+public class SpatialMatch {
+
+	private final Shape shape;
+	private final int limit;
+	private final SpatialOperation operation;
+
+	public SpatialMatch(Double latitude, Double longitude, Double radius,
+			String units, int limit, SpatialOperation operation) {
+
+		double degrees = DistanceUnitsUtils.dist2Degrees(radius, units);
+		this.shape = SpatialQuery.ctx.makeCircle(longitude, latitude, degrees);
+		//System.out.println( SpatialQuery.ctx.toString(shape) );
+		this.limit = limit;
+		this.operation = operation;
+	}
+
+	public SpatialMatch(Double latitude1, Double longitude1, Double latitude2,
+			Double longitude2, int limit, SpatialOperation operation) {
+		this.shape = SpatialQuery.ctx.makeRectangle(longitude1, longitude2, latitude1, latitude2);
+		this.limit = limit;
+		this.operation = operation;
+	}
+
+	public Shape getShape() {
+		return shape;
+	}
+
+	public int getLimit() {
+		return limit;
+	}
+
+	public SpatialOperation getSpatialOperation() {
+		return operation;
+	}
+
+	@Override
+	public String toString() {
+		return "(" + shape + " " + limit + " " + operation + ")";
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationPFBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationPFBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationPFBase.java
index 2f8b638..82d7b4f 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationPFBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationPFBase.java
@@ -1,163 +1,163 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.List ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.spatial.DatasetGraphSpatial ;
-import org.apache.jena.query.spatial.SpatialIndex ;
-import org.apache.jena.query.spatial.SpatialQuery ;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.Substitute ;
-import org.apache.jena.sparql.core.Var ;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.engine.QueryIterator ;
-import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.iterator.QueryIterExtendByVar ;
-import org.apache.jena.sparql.engine.iterator.QueryIterSlice ;
-import org.apache.jena.sparql.pfunction.PropFuncArg ;
-import org.apache.jena.sparql.pfunction.PropertyFunctionBase ;
-import org.apache.jena.sparql.util.IterLib ;
-import org.apache.lucene.spatial.query.SpatialOperation ;
-import org.slf4j.Logger ;
-import org.slf4j.LoggerFactory ;
-
-public abstract class SpatialOperationPFBase extends PropertyFunctionBase {
-
-	private static Logger log = LoggerFactory.getLogger(SpatialOperationPFBase.class);
-
-	protected SpatialIndex server = null;
-	private boolean warningIssued = false;
-
-	public SpatialOperationPFBase() {
-	}
-	
-	@Override
-	public void build(PropFuncArg argSubject, Node predicate,
-			PropFuncArg argObject, ExecutionContext execCxt) {
-		super.build(argSubject, predicate, argObject, execCxt);
-		DatasetGraph dsg = execCxt.getDataset();
-		server = chooseTextIndex(dsg);
-	}
-
-	protected SpatialIndex chooseTextIndex(DatasetGraph dsg) {
-		Object obj = dsg.getContext().get(SpatialQuery.spatialIndex);
-
-		if (obj != null) {
-			try {
-				return (SpatialIndex) obj;
-			} catch (ClassCastException ex) {
-				Log.warn(SpatialOperationWithCircleBase.class, "Context setting '"
-						+ SpatialQuery.spatialIndex + "'is not a SpatialIndex");
-			}
-		}
-
-		if (dsg instanceof DatasetGraphSpatial) {
-			DatasetGraphSpatial x = (DatasetGraphSpatial) dsg;
-			return x.getSpatialIndex();
-		}
-		Log.warn(
-				SpatialOperationWithCircleBase.class,
-				"Failed to find the spatial index : tried context and as a spatial-enabled dataset");
-		return null;
-	}
-
-	@Override
-	public QueryIterator exec(Binding binding, PropFuncArg argSubject,
-			Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
-		if (server == null) {
-			if (!warningIssued) {
-				Log.warn(getClass(), "No spatial index - no spatial search performed");
-				warningIssued = true;
-			}
-			// Not a text dataset - no-op
-			return IterLib.result(binding, execCxt);
-		}
-
-		DatasetGraph dsg = execCxt.getDataset();
-		
-        argSubject = Substitute.substitute(argSubject, binding) ;
-        argObject = Substitute.substitute(argObject, binding) ;
-		
-		if (!argSubject.isNode())
-			throw new InternalErrorException("Subject is not a node (it was earlier!)");
-
-		Node s = argSubject.getArg();
-
-		if (s.isLiteral())
-			// Does not match
-			return IterLib.noResults(execCxt);
-
-		SpatialMatch match = objectToStruct(argObject);
-
-		if (match == null) {
-			// can't match
-			return IterLib.noResults(execCxt);
-		}
-
-		// ----
-
-		QueryIterator qIter = (Var.isVar(s)) ? variableSubject(binding, s,
-				match, execCxt) : concreteSubject(binding, s, match, execCxt);
-		if (match.getLimit() >= 0)
-			qIter = new QueryIterSlice(qIter, 0, match.getLimit(), execCxt);
-		return qIter;
-	}
-
-	private QueryIterator variableSubject(Binding binding, Node s,
-			SpatialMatch match, ExecutionContext execCxt) {
-
-		Var v = Var.alloc(s);
-		List<Node> r = query(match);
-		// Make distinct. Note interaction with limit is imperfect
-		r = Iter.iter(r).distinct().toList();
-		QueryIterator qIter = new QueryIterExtendByVar(binding, v,
-				r.iterator(), execCxt);
-		return qIter;
-	}
-
-	private QueryIterator concreteSubject(Binding binding, Node s,
-			SpatialMatch match, ExecutionContext execCxt) {
-		if (!s.isURI()) {
-			log.warn("Subject not a URI: " + s);
-			return IterLib.noResults(execCxt);
-		}
-
-		List<Node> x = query(match);
-		if (x == null || !x.contains(s))
-			return IterLib.noResults(execCxt);
-		else
-			return IterLib.result(binding, execCxt);
-	}
-
-	private List<Node> query(SpatialMatch match) {
-
-		return server.query(match.getShape(), match.getLimit(),
-				match.getSpatialOperation());
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-	protected abstract SpatialMatch objectToStruct(PropFuncArg argObject);
-	
-	protected abstract SpatialOperation getSpatialOperation();
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.List ;
+
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.lib.InternalErrorException ;
+import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.query.spatial.DatasetGraphSpatial ;
+import org.apache.jena.query.spatial.SpatialIndex ;
+import org.apache.jena.query.spatial.SpatialQuery ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.Substitute ;
+import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.engine.QueryIterator ;
+import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.engine.iterator.QueryIterExtendByVar ;
+import org.apache.jena.sparql.engine.iterator.QueryIterSlice ;
+import org.apache.jena.sparql.pfunction.PropFuncArg ;
+import org.apache.jena.sparql.pfunction.PropertyFunctionBase ;
+import org.apache.jena.sparql.util.IterLib ;
+import org.apache.lucene.spatial.query.SpatialOperation ;
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
+
+public abstract class SpatialOperationPFBase extends PropertyFunctionBase {
+
+	private static Logger log = LoggerFactory.getLogger(SpatialOperationPFBase.class);
+
+	protected SpatialIndex server = null;
+	private boolean warningIssued = false;
+
+	public SpatialOperationPFBase() {
+	}
+	
+	@Override
+	public void build(PropFuncArg argSubject, Node predicate,
+			PropFuncArg argObject, ExecutionContext execCxt) {
+		super.build(argSubject, predicate, argObject, execCxt);
+		DatasetGraph dsg = execCxt.getDataset();
+		server = chooseTextIndex(dsg);
+	}
+
+	protected SpatialIndex chooseTextIndex(DatasetGraph dsg) {
+		Object obj = dsg.getContext().get(SpatialQuery.spatialIndex);
+
+		if (obj != null) {
+			try {
+				return (SpatialIndex) obj;
+			} catch (ClassCastException ex) {
+				Log.warn(SpatialOperationWithCircleBase.class, "Context setting '"
+						+ SpatialQuery.spatialIndex + "'is not a SpatialIndex");
+			}
+		}
+
+		if (dsg instanceof DatasetGraphSpatial) {
+			DatasetGraphSpatial x = (DatasetGraphSpatial) dsg;
+			return x.getSpatialIndex();
+		}
+		Log.warn(
+				SpatialOperationWithCircleBase.class,
+				"Failed to find the spatial index : tried context and as a spatial-enabled dataset");
+		return null;
+	}
+
+	@Override
+	public QueryIterator exec(Binding binding, PropFuncArg argSubject,
+			Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
+		if (server == null) {
+			if (!warningIssued) {
+				Log.warn(getClass(), "No spatial index - no spatial search performed");
+				warningIssued = true;
+			}
+			// Not a text dataset - no-op
+			return IterLib.result(binding, execCxt);
+		}
+
+		DatasetGraph dsg = execCxt.getDataset();
+		
+        argSubject = Substitute.substitute(argSubject, binding) ;
+        argObject = Substitute.substitute(argObject, binding) ;
+		
+		if (!argSubject.isNode())
+			throw new InternalErrorException("Subject is not a node (it was earlier!)");
+
+		Node s = argSubject.getArg();
+
+		if (s.isLiteral())
+			// Does not match
+			return IterLib.noResults(execCxt);
+
+		SpatialMatch match = objectToStruct(argObject);
+
+		if (match == null) {
+			// can't match
+			return IterLib.noResults(execCxt);
+		}
+
+		// ----
+
+		QueryIterator qIter = (Var.isVar(s)) ? variableSubject(binding, s,
+				match, execCxt) : concreteSubject(binding, s, match, execCxt);
+		if (match.getLimit() >= 0)
+			qIter = new QueryIterSlice(qIter, 0, match.getLimit(), execCxt);
+		return qIter;
+	}
+
+	private QueryIterator variableSubject(Binding binding, Node s,
+			SpatialMatch match, ExecutionContext execCxt) {
+
+		Var v = Var.alloc(s);
+		List<Node> r = query(match);
+		// Make distinct. Note interaction with limit is imperfect
+		r = Iter.iter(r).distinct().toList();
+		QueryIterator qIter = new QueryIterExtendByVar(binding, v,
+				r.iterator(), execCxt);
+		return qIter;
+	}
+
+	private QueryIterator concreteSubject(Binding binding, Node s,
+			SpatialMatch match, ExecutionContext execCxt) {
+		if (!s.isURI()) {
+			log.warn("Subject not a URI: " + s);
+			return IterLib.noResults(execCxt);
+		}
+
+		List<Node> x = query(match);
+		if (x == null || !x.contains(s))
+			return IterLib.noResults(execCxt);
+		else
+			return IterLib.result(binding, execCxt);
+	}
+
+	private List<Node> query(SpatialMatch match) {
+
+		return server.query(match.getShape(), match.getLimit(),
+				match.getSpatialOperation());
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+	protected abstract SpatialMatch objectToStruct(PropFuncArg argObject);
+	
+	protected abstract SpatialOperation getSpatialOperation();
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
index ee44773..e200134 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/SpatialOperationWithBoxPFBase.java
@@ -1,164 +1,164 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.List;
-
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.impl.LiteralLabel ;
-import org.apache.jena.query.QueryBuildException ;
-import org.apache.jena.query.spatial.SpatialIndexException;
-import org.apache.jena.query.spatial.SpatialValueUtil;
-import org.apache.jena.sparql.engine.ExecutionContext ;
-import org.apache.jena.sparql.pfunction.PropFuncArg ;
-import org.apache.jena.sparql.util.NodeFactoryExtra ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBase {
-	private static Logger log = LoggerFactory.getLogger(SpatialOperationWithCircleBase.class);
-
-	public SpatialOperationWithBoxPFBase() {
-	}
-
-	@Override
-	public void build(PropFuncArg argSubject, Node predicate,
-			PropFuncArg argObject, ExecutionContext execCxt) {
-		super.build(argSubject, predicate, argObject, execCxt);
-		
-		if (!argSubject.isNode())
-			throw new QueryBuildException("Subject is not a single node: "
-					+ argSubject);
-
-		if (argObject.isList()) {
-			List<Node> list = argObject.getArgList();
-			if (list.size() < 4)
-				throw new QueryBuildException("Not enough arguments in list");
-
-			if (list.size() > 5)
-				throw new QueryBuildException("Too many arguments in list : "
-						+ list);
-		}
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-	@Override
-	protected SpatialMatch objectToStruct(PropFuncArg argObject) {
-		
-		if (argObject.isNode()) {
-			log.warn("Object not a List: " + argObject);
-			return null;
-		}
-
-		List<Node> list = argObject.getArgList();
-
-		if (list.size() < 4 || list.size() > 5)
-			throw new SpatialIndexException("Change in object list size");
-
-		int idx = 0;
-
-		Node x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Latitude 1 is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Latitude 1 is not a decimal " + list);
-			return null;
-		}
-		Double latitude1 = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-
-		x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Longitude 1 is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Longitude 1 is not a decimal " + list);
-			return null;
-		}
-		Double longtitude1 = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-
-		x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Latitude 2 is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Latitude 2 is not a decimal " + list);
-			return null;
-		}
-		Double latitude2 = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-
-		x = list.get(idx);
-		if (!x.isLiteral()) {
-			log.warn("Longitude 2 is not a literal " + list);
-			return null;
-		}
-		if (!SpatialValueUtil.isDecimal(x)) {
-			log.warn("Longitude 2 is not a decimal " + list);
-			return null;
-		}
-		Double longtitude2 = Double.parseDouble(x.getLiteralLexicalForm());
-
-		idx++;
-		int limit =-1;
-		
-		if (idx < list.size()) {
-			x = list.get(idx);
-
-			if (!x.isLiteral()) {
-				log.warn("Limit is not a literal " + list);
-				return null;
-			}
-
-			LiteralLabel lit = x.getLiteral();
-
-			if (!XSDDatatype.XSDinteger.isValidLiteral(lit)) {
-				log.warn("Limit is not an integer " + list);
-				return null;
-			}
-
-			int v = NodeFactoryExtra.nodeToInt(x);
-			limit = (v < 0) ? -1 : v;
-
-			idx++;
-			if (idx < list.size()) {
-				log.warn("Limit is not the last parameter " + list);
-				return null;
-			}
-		}
-		
-		SpatialMatch match = new SpatialMatch(latitude1, longtitude1,
-				latitude2, longtitude2, limit, getSpatialOperation());
-
-		if (log.isDebugEnabled())
-			log.debug("Trying SpatialMatch: " + match.toString());
-		return match;
-	}
-
-
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.List;
+
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.impl.LiteralLabel ;
+import org.apache.jena.query.QueryBuildException ;
+import org.apache.jena.query.spatial.SpatialIndexException;
+import org.apache.jena.query.spatial.SpatialValueUtil;
+import org.apache.jena.sparql.engine.ExecutionContext ;
+import org.apache.jena.sparql.pfunction.PropFuncArg ;
+import org.apache.jena.sparql.util.NodeFactoryExtra ;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public abstract class SpatialOperationWithBoxPFBase extends SpatialOperationPFBase {
+	private static Logger log = LoggerFactory.getLogger(SpatialOperationWithCircleBase.class);
+
+	public SpatialOperationWithBoxPFBase() {
+	}
+
+	@Override
+	public void build(PropFuncArg argSubject, Node predicate,
+			PropFuncArg argObject, ExecutionContext execCxt) {
+		super.build(argSubject, predicate, argObject, execCxt);
+		
+		if (!argSubject.isNode())
+			throw new QueryBuildException("Subject is not a single node: "
+					+ argSubject);
+
+		if (argObject.isList()) {
+			List<Node> list = argObject.getArgList();
+			if (list.size() < 4)
+				throw new QueryBuildException("Not enough arguments in list");
+
+			if (list.size() > 5)
+				throw new QueryBuildException("Too many arguments in list : "
+						+ list);
+		}
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+	@Override
+	protected SpatialMatch objectToStruct(PropFuncArg argObject) {
+		
+		if (argObject.isNode()) {
+			log.warn("Object not a List: " + argObject);
+			return null;
+		}
+
+		List<Node> list = argObject.getArgList();
+
+		if (list.size() < 4 || list.size() > 5)
+			throw new SpatialIndexException("Change in object list size");
+
+		int idx = 0;
+
+		Node x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Latitude 1 is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Latitude 1 is not a decimal " + list);
+			return null;
+		}
+		Double latitude1 = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+
+		x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Longitude 1 is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Longitude 1 is not a decimal " + list);
+			return null;
+		}
+		Double longtitude1 = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+
+		x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Latitude 2 is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Latitude 2 is not a decimal " + list);
+			return null;
+		}
+		Double latitude2 = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+
+		x = list.get(idx);
+		if (!x.isLiteral()) {
+			log.warn("Longitude 2 is not a literal " + list);
+			return null;
+		}
+		if (!SpatialValueUtil.isDecimal(x)) {
+			log.warn("Longitude 2 is not a decimal " + list);
+			return null;
+		}
+		Double longtitude2 = Double.parseDouble(x.getLiteralLexicalForm());
+
+		idx++;
+		int limit =-1;
+		
+		if (idx < list.size()) {
+			x = list.get(idx);
+
+			if (!x.isLiteral()) {
+				log.warn("Limit is not a literal " + list);
+				return null;
+			}
+
+			LiteralLabel lit = x.getLiteral();
+
+			if (!XSDDatatype.XSDinteger.isValidLiteral(lit)) {
+				log.warn("Limit is not an integer " + list);
+				return null;
+			}
+
+			int v = NodeFactoryExtra.nodeToInt(x);
+			limit = (v < 0) ? -1 : v;
+
+			idx++;
+			if (idx < list.size()) {
+				log.warn("Limit is not the last parameter " + list);
+				return null;
+			}
+		}
+		
+		SpatialMatch match = new SpatialMatch(latitude1, longtitude1,
+				latitude2, longtitude2, limit, getSpatialOperation());
+
+		if (log.isDebugEnabled())
+			log.debug("Trying SpatialMatch: " + match.toString());
+		return match;
+	}
+
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/EastPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/EastPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/EastPF.java
index 96e5519..6c40cfa 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/EastPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/EastPF.java
@@ -1,44 +1,44 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.SpatialQuery;
-import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
-import org.apache.jena.query.spatial.pfunction.SpatialMatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EastPF extends DirectionWithPointPFBase {
-
-	private static Logger log = LoggerFactory.getLogger(EastPF.class);
-
-	public EastPF() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-    @Override
-	protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
-		SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
-				longitude, SpatialQuery.ctx.getWorldBounds().getMaxY(), SpatialQuery.ctx.getWorldBounds()
-						.getMaxX(), limit, getSpatialOperation());
-		return match;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.SpatialQuery;
+import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
+import org.apache.jena.query.spatial.pfunction.SpatialMatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class EastPF extends DirectionWithPointPFBase {
+
+	private static Logger log = LoggerFactory.getLogger(EastPF.class);
+
+	public EastPF() {
+		// TODO Auto-generated constructor stub
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+    @Override
+	protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
+		SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
+				longitude, SpatialQuery.ctx.getWorldBounds().getMaxY(), SpatialQuery.ctx.getWorldBounds()
+						.getMaxX(), limit, getSpatialOperation());
+		return match;
+	}
+
+}


[09/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputTest.java
index 40bc937..55df69a 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfxml/RdfXmlOutputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.rdfxml;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftQuadOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftQuadOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftQuadOutputTest.java
index 91509da..c855706 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftQuadOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftQuadOutputTest.java
@@ -1,48 +1,48 @@
-/*
- * 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.hadoop.rdf.io.output.thrift;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-
-/**
- * Tests for Thrift output format
- */
-public class ThriftQuadOutputTest extends AbstractQuadOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".trdf";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return RDFLanguages.THRIFT;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new ThriftQuadOutputFormat<NullWritable>();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.thrift;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+/**
+ * Tests for Thrift output format
+ */
+public class ThriftQuadOutputTest extends AbstractQuadOutputFormatTests {
+
+    @Override
+    protected String getFileExtension() {
+        return ".trdf";
+    }
+
+    @Override
+    protected Lang getRdfLanguage() {
+        return RDFLanguages.THRIFT;
+    }
+
+    @Override
+    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
+        return new ThriftQuadOutputFormat<NullWritable>();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftTripleOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftTripleOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftTripleOutputTest.java
index cf50330..3351ebf 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftTripleOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/thrift/ThriftTripleOutputTest.java
@@ -1,48 +1,48 @@
-/*
- * 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.hadoop.rdf.io.output.thrift;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
-
-/**
- * Tests for Thrift output format
- */
-public class ThriftTripleOutputTest extends AbstractTripleOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".trdf";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return RDFLanguages.THRIFT;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new ThriftTripleOutputFormat<NullWritable>();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.thrift;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+/**
+ * Tests for Thrift output format
+ */
+public class ThriftTripleOutputTest extends AbstractTripleOutputFormatTests {
+
+    @Override
+    protected String getFileExtension() {
+        return ".trdf";
+    }
+
+    @Override
+    protected Lang getRdfLanguage() {
+        return RDFLanguages.THRIFT;
+    }
+
+    @Override
+    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
+        return new ThriftTripleOutputFormat<NullWritable>();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputTest.java
index fd886a3..3955650 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/BatchedTriGOutputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.trig;
 
 import java.util.Arrays;
@@ -24,9 +24,9 @@ import java.util.Collection;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/StreamedTriGOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/StreamedTriGOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/StreamedTriGOutputTest.java
index 9b2b669..15b84f4 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/StreamedTriGOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/StreamedTriGOutputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.trig;
 
 import java.util.Arrays;
@@ -24,9 +24,9 @@ import java.util.Collection;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/TriGBlankNodeOutputTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/TriGBlankNodeOutputTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/TriGBlankNodeOutputTests.java
index 0869926..43ac127 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/TriGBlankNodeOutputTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trig/TriGBlankNodeOutputTests.java
@@ -1,119 +1,119 @@
-/*
- * 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.hadoop.rdf.io.output.trig;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ResIterator ;
-import org.apache.jena.rdf.model.Resource ;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.sparql.core.Quad ;
-import org.junit.Assert;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Tests for TriG output with blank nodes
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class TriGBlankNodeOutputTests extends StreamedTriGOutputTest {
-
-	static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-	static long $bs2 = 1000;
-	static long $bs3 = 100;
-	static long $bs4 = 1;
-
-	/**
-	 * @return Test parameters
-	 */
-	@Parameters
-	public static Collection<Object[]> data() {
-		return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 },
-				{ $bs4 } });
-	}
-
-	/**
-	 * Creates new tests
-	 * 
-	 * @param batchSize
-	 *            Batch size
-	 */
-	public TriGBlankNodeOutputTests(long batchSize) {
-		super(batchSize);
-	}
-
-	@Override
-	protected Iterator<QuadWritable> generateTuples(int num) {
-		List<QuadWritable> qs = new ArrayList<QuadWritable>();
-		Node subject = NodeFactory.createAnon();
-		for (int i = 0; i < num; i++) {
-			Quad t = new Quad(
-					NodeFactory.createURI("http://example.org/graphs/" + i),
-					subject,
-					NodeFactory.createURI("http://example.org/predicate"),
-					NodeFactory.createLiteral(Integer.toString(i),
-							XSDDatatype.XSDinteger));
-			qs.add(new QuadWritable(t));
-		}
-		return qs.iterator();
-	}
-
-	@Override
-	protected void checkTuples(File f, long expected) {
-		super.checkTuples(f, expected);
-
-		Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
-				this.getRdfLanguage());
-		ResIterator iter = m.listSubjects();
-		Set<Node> subjects = new HashSet<Node>();
-		while (iter.hasNext()) {
-			Resource res = iter.next();
-			Assert.assertTrue(res.isAnon());
-			subjects.add(res.asNode());
-		}
-		// Should only be one subject unless the data was empty in which case
-		// there will be zero subjects
-		Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
-	}
-
-	@Override
-	protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-		return new TriGOutputFormat<NullWritable>();
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.trig;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ResIterator ;
+import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.sparql.core.Quad ;
+import org.junit.Assert;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * Tests for TriG output with blank nodes
+ * 
+ * 
+ * 
+ */
+@RunWith(Parameterized.class)
+public class TriGBlankNodeOutputTests extends StreamedTriGOutputTest {
+
+	static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
+	static long $bs2 = 1000;
+	static long $bs3 = 100;
+	static long $bs4 = 1;
+
+	/**
+	 * @return Test parameters
+	 */
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 },
+				{ $bs4 } });
+	}
+
+	/**
+	 * Creates new tests
+	 * 
+	 * @param batchSize
+	 *            Batch size
+	 */
+	public TriGBlankNodeOutputTests(long batchSize) {
+		super(batchSize);
+	}
+
+	@Override
+	protected Iterator<QuadWritable> generateTuples(int num) {
+		List<QuadWritable> qs = new ArrayList<QuadWritable>();
+		Node subject = NodeFactory.createAnon();
+		for (int i = 0; i < num; i++) {
+			Quad t = new Quad(
+					NodeFactory.createURI("http://example.org/graphs/" + i),
+					subject,
+					NodeFactory.createURI("http://example.org/predicate"),
+					NodeFactory.createLiteral(Integer.toString(i),
+							XSDDatatype.XSDinteger));
+			qs.add(new QuadWritable(t));
+		}
+		return qs.iterator();
+	}
+
+	@Override
+	protected void checkTuples(File f, long expected) {
+		super.checkTuples(f, expected);
+
+		Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
+				this.getRdfLanguage());
+		ResIterator iter = m.listSubjects();
+		Set<Node> subjects = new HashSet<Node>();
+		while (iter.hasNext()) {
+			Resource res = iter.next();
+			Assert.assertTrue(res.isAnon());
+			subjects.add(res.asNode());
+		}
+		// Should only be one subject unless the data was empty in which case
+		// there will be zero subjects
+		Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
+	}
+
+	@Override
+	protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
+		return new TriGOutputFormat<NullWritable>();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trix/TriXOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trix/TriXOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trix/TriXOutputTest.java
index 9b6e307..7cb3ec9 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trix/TriXOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/trix/TriXOutputTest.java
@@ -1,47 +1,47 @@
-/*
- * 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.hadoop.rdf.io.output.trix;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-
-/**
- * Tests for TriX output format
- */
-public class TriXOutputTest extends AbstractQuadOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".trix";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.TRIX;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new TriXOutputFormat<NullWritable>();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.trix;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+/**
+ * Tests for TriX output format
+ */
+public class TriXOutputTest extends AbstractQuadOutputFormatTests {
+
+    @Override
+    protected String getFileExtension() {
+        return ".trix";
+    }
+
+    @Override
+    protected Lang getRdfLanguage() {
+        return Lang.TRIX;
+    }
+
+    @Override
+    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
+        return new TriXOutputFormat<NullWritable>();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputTest.java
index a6c4d70..534d0a2 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/BatchedTurtleOutputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.turtle;
 
 import java.util.Arrays;
@@ -24,9 +24,9 @@ import java.util.Collection;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/StreamedTurtleOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/StreamedTurtleOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/StreamedTurtleOutputTest.java
index d8843d3..f2c0487 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/StreamedTurtleOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/StreamedTurtleOutputTest.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.turtle;
 
 import java.util.Arrays;
@@ -24,9 +24,9 @@ import java.util.Collection;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleBlankNodeOutputTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleBlankNodeOutputTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleBlankNodeOutputTests.java
index 4fd535e..91282e4 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleBlankNodeOutputTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/turtle/TurtleBlankNodeOutputTests.java
@@ -1,117 +1,117 @@
-/*
- * 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.hadoop.rdf.io.output.turtle;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ResIterator ;
-import org.apache.jena.rdf.model.Resource ;
-import org.apache.jena.riot.RDFDataMgr;
-import org.junit.Assert;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * Tests for Turtle output with blank nodes
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class TurtleBlankNodeOutputTests extends StreamedTurtleOutputTest {
-
-	static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-	static long $bs2 = 1000;
-	static long $bs3 = 100;
-	static long $bs4 = 1;
-
-	/**
-	 * @return Test parameters
-	 */
-	@Parameters
-	public static Collection<Object[]> data() {
-		return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 },
-				{ $bs4 } });
-	}
-
-	/**
-	 * Creates new tests
-	 * 
-	 * @param batchSize
-	 *            Batch size
-	 */
-	public TurtleBlankNodeOutputTests(long batchSize) {
-		super(batchSize);
-	}
-
-	@Override
-	protected Iterator<TripleWritable> generateTuples(int num) {
-		List<TripleWritable> ts = new ArrayList<TripleWritable>();
-		Node subject = NodeFactory.createAnon();
-		for (int i = 0; i < num; i++) {
-			Triple t = new Triple(subject,
-					NodeFactory.createURI("http://example.org/predicate"),
-					NodeFactory.createLiteral(Integer.toString(i),
-							XSDDatatype.XSDinteger));
-			ts.add(new TripleWritable(t));
-		}
-		return ts.iterator();
-	}
-
-	@Override
-	protected void checkTuples(File f, long expected) {
-		super.checkTuples(f, expected);
-
-		Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
-				this.getRdfLanguage());
-		ResIterator iter = m.listSubjects();
-		Set<Node> subjects = new HashSet<Node>();
-		while (iter.hasNext()) {
-			Resource res = iter.next();
-			Assert.assertTrue(res.isAnon());
-			subjects.add(res.asNode());
-		}
-		// Should only be one subject unless the data was empty in which case
-		// there will be zero subjects
-		Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
-	}
-
-	@Override
-	protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-		return new TurtleOutputFormat<NullWritable>();
-	}
-
-}
+/*
+ * 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.hadoop.rdf.io.output.turtle;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ResIterator ;
+import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.riot.RDFDataMgr;
+import org.junit.Assert;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * Tests for Turtle output with blank nodes
+ * 
+ * 
+ * 
+ */
+@RunWith(Parameterized.class)
+public class TurtleBlankNodeOutputTests extends StreamedTurtleOutputTest {
+
+	static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
+	static long $bs2 = 1000;
+	static long $bs3 = 100;
+	static long $bs4 = 1;
+
+	/**
+	 * @return Test parameters
+	 */
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 },
+				{ $bs4 } });
+	}
+
+	/**
+	 * Creates new tests
+	 * 
+	 * @param batchSize
+	 *            Batch size
+	 */
+	public TurtleBlankNodeOutputTests(long batchSize) {
+		super(batchSize);
+	}
+
+	@Override
+	protected Iterator<TripleWritable> generateTuples(int num) {
+		List<TripleWritable> ts = new ArrayList<TripleWritable>();
+		Node subject = NodeFactory.createAnon();
+		for (int i = 0; i < num; i++) {
+			Triple t = new Triple(subject,
+					NodeFactory.createURI("http://example.org/predicate"),
+					NodeFactory.createLiteral(Integer.toString(i),
+							XSDDatatype.XSDinteger));
+			ts.add(new TripleWritable(t));
+		}
+		return ts.iterator();
+	}
+
+	@Override
+	protected void checkTuples(File f, long expected) {
+		super.checkTuples(f, expected);
+
+		Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
+				this.getRdfLanguage());
+		ResIterator iter = m.listSubjects();
+		Set<Node> subjects = new HashSet<Node>();
+		while (iter.hasNext()) {
+			Resource res = iter.next();
+			Assert.assertTrue(res.isAnon());
+			subjects.add(res.asNode());
+		}
+		// Should only be one subject unless the data was empty in which case
+		// there will be zero subjects
+		Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
+	}
+
+	@Override
+	protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
+		return new TurtleOutputFormat<NullWritable>();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
index 306a697..cff06e7 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
index a6e9a6a..2ad3e0b 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;
 
-import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
  * @param <TValue> Value type
  */
 public class KeyPlusNullMapper<TKey, TValue> extends Mapper<TKey, TValue, TKey, NullWritable> {
-    private static final Logger LOG = LoggerFactory.getLogger(KeyPlusNullMapper.class);
+    private static final Logger LOG = LoggerFactory.getLogger(KeyPlusNullMapper.class);
 
     private boolean tracing = false;
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusKeyMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusKeyMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusKeyMapper.java
index 7a48c1d..519cce4 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusKeyMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusKeyMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;
 
-import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
  * @param <TValue> Value type
  */
 public class NullPlusKeyMapper<TKey, TValue> extends Mapper<TKey, TValue, NullWritable, TKey> {
-    private static final Logger LOG = LoggerFactory.getLogger(NullPlusKeyMapper.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NullPlusKeyMapper.class);
 
     private boolean tracing = false;
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusValueMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusValueMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusValueMapper.java
index a5ac199..9b2f158 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusValueMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/NullPlusValueMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;
 
-import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
  * @param <TValue> Value type
  */
 public class NullPlusValueMapper<TKey, TValue> extends Mapper<TKey, TValue, NullWritable, TValue> {
-    private static final Logger LOG = LoggerFactory.getLogger(NullPlusValueMapper.class);
+    private static final Logger LOG = LoggerFactory.getLogger(NullPlusValueMapper.class);
 
     private boolean tracing = false;
     

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/RdfMapReduceConstants.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/RdfMapReduceConstants.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/RdfMapReduceConstants.java
index 6a8cf18..7d1fd6d 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/RdfMapReduceConstants.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/RdfMapReduceConstants.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/SwapMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/SwapMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/SwapMapper.java
index ef518a9..6f5d2d5 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/SwapMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/SwapMapper.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;
@@ -46,7 +46,7 @@ public class SwapMapper<TKey, TValue> extends Mapper<TKey, TValue, TValue, TKey>
     protected void map(TKey key, TValue value, Context context) throws IOException,
             InterruptedException {
         if (this.tracing) {
-            LOG.trace("Key = {}", key);
+            LOG.trace("Key = {}", key);
             LOG.trace("Value = {}", value);
         }
         context.write(value, key);

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/TextCountReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/TextCountReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/TextCountReducer.java
index 04b9283..a8b4cdd 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/TextCountReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/TextCountReducer.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValueMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValueMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValueMapper.java
index 23ae5f0..99ff046 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValueMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValueMapper.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValuePlusNullMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValuePlusNullMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValuePlusNullMapper.java
index 094fb2d..618b6e3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValuePlusNullMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/ValuePlusNullMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import java.io.IOException;
 
-import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducer.java
index daf61d4..d73e23a 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducer.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
 import java.io.IOException;
@@ -27,10 +27,10 @@ import java.util.TreeMap;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducer.java
index e70698a..9dcf91f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducer.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
 import java.io.IOException;
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/QuadCharacteristicSetGeneratingReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/QuadCharacteristicSetGeneratingReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/QuadCharacteristicSetGeneratingReducer.java
index f4708e6..38c68e6 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/QuadCharacteristicSetGeneratingReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/QuadCharacteristicSetGeneratingReducer.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A reducer which converts quads grouped by some node into characteristic sets

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducer.java
index f627503..9973f59 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducer.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A reducer which converts triples grouped by some node into characteristic

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountMapper.java
index 7c56d1c..1d77bb7 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountMapper.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import java.io.IOException;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/NodeCountReducer.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/NodeCountReducer.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/NodeCountReducer.java
index a5460f6..73d2ce7 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/NodeCountReducer.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/count/NodeCountReducer.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import java.io.IOException;
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**


[03/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IntersectsBoxPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IntersectsBoxPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IntersectsBoxPF.java
index 8d6b426..d71f050 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IntersectsBoxPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IntersectsBoxPF.java
@@ -1,35 +1,35 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.pfunction.SpatialOperationWithBoxPFBase;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-public class IntersectsBoxPF extends SpatialOperationWithBoxPFBase {
-
-	public IntersectsBoxPF() {
-	}
-
-	
-	@Override
-	protected SpatialOperation getSpatialOperation() {
-		return SpatialOperation.Intersects;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.pfunction.SpatialOperationWithBoxPFBase;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+public class IntersectsBoxPF extends SpatialOperationWithBoxPFBase {
+
+	public IntersectsBoxPF() {
+	}
+
+	
+	@Override
+	protected SpatialOperation getSpatialOperation() {
+		return SpatialOperation.Intersects;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsNearByPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsNearByPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsNearByPF.java
index 75df1d1..a5a44d4 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsNearByPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsNearByPF.java
@@ -1,23 +1,23 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-public class IsNearByPF extends IsWithinCirclePF {
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+public class IsNearByPF extends IsWithinCirclePF {
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinBoxPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinBoxPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinBoxPF.java
index 048d0b2..078bd10 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinBoxPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinBoxPF.java
@@ -1,34 +1,34 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.pfunction.SpatialOperationWithBoxPFBase;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-public class IsWithinBoxPF extends SpatialOperationWithBoxPFBase {
-
-	public IsWithinBoxPF() {
-	}
-
-	@Override
-	protected SpatialOperation getSpatialOperation() {
-		return SpatialOperation.IsWithin;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.pfunction.SpatialOperationWithBoxPFBase;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+public class IsWithinBoxPF extends SpatialOperationWithBoxPFBase {
+
+	public IsWithinBoxPF() {
+	}
+
+	@Override
+	protected SpatialOperation getSpatialOperation() {
+		return SpatialOperation.IsWithin;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinCirclePF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinCirclePF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinCirclePF.java
index 322e442..c10c4e2 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinCirclePF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/IsWithinCirclePF.java
@@ -1,35 +1,35 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.pfunction.SpatialOperationWithCircleBase;
-import org.apache.lucene.spatial.query.SpatialOperation;
-
-public class IsWithinCirclePF extends SpatialOperationWithCircleBase {
-
-	public IsWithinCirclePF() {
-		// TODO Auto-generated constructor stub
-	}
-
-	@Override
-	protected SpatialOperation getSpatialOperation() {
-		return SpatialOperation.IsWithin;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.pfunction.SpatialOperationWithCircleBase;
+import org.apache.lucene.spatial.query.SpatialOperation;
+
+public class IsWithinCirclePF extends SpatialOperationWithCircleBase {
+
+	public IsWithinCirclePF() {
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	protected SpatialOperation getSpatialOperation() {
+		return SpatialOperation.IsWithin;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/NorthPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/NorthPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/NorthPF.java
index 9576fe3..e2cfbb1 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/NorthPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/NorthPF.java
@@ -1,45 +1,45 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.SpatialQuery;
-import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
-import org.apache.jena.query.spatial.pfunction.SpatialMatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NorthPF extends DirectionWithPointPFBase {
-
-	private static Logger log = LoggerFactory.getLogger(NorthPF.class);
-
-	public NorthPF() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-    @Override
-    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
-        SpatialMatch match = new SpatialMatch(latitude, SpatialQuery.ctx
-				.getWorldBounds().getMinX(), SpatialQuery.ctx.getWorldBounds()
-				.getMaxY(), SpatialQuery.ctx.getWorldBounds().getMaxX(), limit,
-				getSpatialOperation());
-		return match;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.SpatialQuery;
+import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
+import org.apache.jena.query.spatial.pfunction.SpatialMatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class NorthPF extends DirectionWithPointPFBase {
+
+	private static Logger log = LoggerFactory.getLogger(NorthPF.class);
+
+	public NorthPF() {
+		// TODO Auto-generated constructor stub
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+    @Override
+    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
+        SpatialMatch match = new SpatialMatch(latitude, SpatialQuery.ctx
+				.getWorldBounds().getMinX(), SpatialQuery.ctx.getWorldBounds()
+				.getMaxY(), SpatialQuery.ctx.getWorldBounds().getMaxX(), limit,
+				getSpatialOperation());
+		return match;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/SouthPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/SouthPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/SouthPF.java
index cf8a467..431531b 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/SouthPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/SouthPF.java
@@ -1,43 +1,43 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.SpatialQuery;
-import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
-import org.apache.jena.query.spatial.pfunction.SpatialMatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class SouthPF extends DirectionWithPointPFBase {
-
-	private static Logger log = LoggerFactory.getLogger(SouthPF.class);
-
-	public SouthPF() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-    @Override
-    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {		SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
-				SpatialQuery.ctx.getWorldBounds().getMinX(), latitude, SpatialQuery.ctx.getWorldBounds()
-						.getMaxX(), limit, getSpatialOperation());
-		return match;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.SpatialQuery;
+import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
+import org.apache.jena.query.spatial.pfunction.SpatialMatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SouthPF extends DirectionWithPointPFBase {
+
+	private static Logger log = LoggerFactory.getLogger(SouthPF.class);
+
+	public SouthPF() {
+		// TODO Auto-generated constructor stub
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+    @Override
+    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {		SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
+				SpatialQuery.ctx.getWorldBounds().getMinX(), latitude, SpatialQuery.ctx.getWorldBounds()
+						.getMaxX(), limit, getSpatialOperation());
+		return match;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/WestPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/WestPF.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/WestPF.java
index 5b3f568..9ddf6b7 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/WestPF.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/pfunction/library/WestPF.java
@@ -1,44 +1,44 @@
-/*
- * 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.query.spatial.pfunction.library;
-
-import org.apache.jena.query.spatial.SpatialQuery;
-import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
-import org.apache.jena.query.spatial.pfunction.SpatialMatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class WestPF extends DirectionWithPointPFBase {
-
-	private static Logger log = LoggerFactory.getLogger(WestPF.class);
-
-	public WestPF() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/** Deconstruct the node or list object argument and make a SpatialMatch */
-    @Override
-    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
-        SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
-				SpatialQuery.ctx.getWorldBounds().getMinX(), SpatialQuery.ctx.getWorldBounds().getMaxY(),
-				longitude, limit, getSpatialOperation());
-		return match;
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction.library;
+
+import org.apache.jena.query.spatial.SpatialQuery;
+import org.apache.jena.query.spatial.pfunction.DirectionWithPointPFBase;
+import org.apache.jena.query.spatial.pfunction.SpatialMatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class WestPF extends DirectionWithPointPFBase {
+
+	private static Logger log = LoggerFactory.getLogger(WestPF.class);
+
+	public WestPF() {
+		// TODO Auto-generated constructor stub
+	}
+
+	/** Deconstruct the node or list object argument and make a SpatialMatch */
+    @Override
+    protected SpatialMatch getSpatialMatch(Double latitude, Double longitude, int limit) {
+        SpatialMatch match = new SpatialMatch(SpatialQuery.ctx.getWorldBounds().getMinY(),
+				SpatialQuery.ctx.getWorldBounds().getMinX(), SpatialQuery.ctx.getWorldBounds().getMaxY(),
+				longitude, limit, getSpatialOperation());
+		return match;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
index 0780961..3fdeaca 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
@@ -1,93 +1,93 @@
-/**
- * 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.query.spatial;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.junit.Test;
-import static org.junit.Assert.fail;
-
-import com.spatial4j.core.exception.InvalidShapeException;
-
-public class AbstractTestIndexingSpatialData extends
-		AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testIndexingStringLiteral() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testIndexingStringLiteral>",
-				"   geo:lat '51.3827' ;", "   geo:long '-2.71909' ", ".");
-		String queryString = StrUtils
-				.strjoinNL(
-						QUERY_PROLOG,
-						"SELECT ?s",
-						"WHERE {",
-						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
-						"}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testIndexingStringLiteral" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testIndexingWKTLiteral() {
-		boolean jts_context_ready = false;
-		try {
-			SpatialIndex index = (SpatialIndex) dataset.getContext().get(
-					SpatialQuery.spatialIndex);
-			index.getDocDef().setSpatialContextFactory(
-					SpatialQuery.JTS_SPATIAL_CONTEXT_FACTORY_CLASS);
-			jts_context_ready = true;
-		}catch (NoClassDefFoundError e){
-			//Log.warn(this, "JTS lib is not on the classpath!");
-		}
-		
-		final String turtle = StrUtils
-				.strjoinNL(
-						TURTLE_PROLOG,
-						"<" + RESOURCE_BASE + "testIndexingWKTLiteral>",
-						"   wkt:asWKT 'POINT(-1.74803 52.4539)'^^wkt:wktLiteral  ",
-						".");
-		String queryString = StrUtils
-				.strjoinNL(
-						QUERY_PROLOG,
-						"SELECT ?s",
-						"WHERE {",
-						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
-						"}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testIndexingWKTLiteral" })));
-		
-		try {
-			doTestSearch(turtle, queryString, expectedURIs);
-		}catch (InvalidShapeException e){
-			if (jts_context_ready){
-				fail("The exception is not supposed to be thrown: "+ e.getMessage());
-			}
-		}
-	}
-
-}
+/**
+ * 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.query.spatial;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.junit.Test;
+import static org.junit.Assert.fail;
+
+import com.spatial4j.core.exception.InvalidShapeException;
+
+public class AbstractTestIndexingSpatialData extends
+		AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testIndexingStringLiteral() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testIndexingStringLiteral>",
+				"   geo:lat '51.3827' ;", "   geo:long '-2.71909' ", ".");
+		String queryString = StrUtils
+				.strjoinNL(
+						QUERY_PROLOG,
+						"SELECT ?s",
+						"WHERE {",
+						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
+						"}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testIndexingStringLiteral" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testIndexingWKTLiteral() {
+		boolean jts_context_ready = false;
+		try {
+			SpatialIndex index = (SpatialIndex) dataset.getContext().get(
+					SpatialQuery.spatialIndex);
+			index.getDocDef().setSpatialContextFactory(
+					SpatialQuery.JTS_SPATIAL_CONTEXT_FACTORY_CLASS);
+			jts_context_ready = true;
+		}catch (NoClassDefFoundError e){
+			//Log.warn(this, "JTS lib is not on the classpath!");
+		}
+		
+		final String turtle = StrUtils
+				.strjoinNL(
+						TURTLE_PROLOG,
+						"<" + RESOURCE_BASE + "testIndexingWKTLiteral>",
+						"   wkt:asWKT 'POINT(-1.74803 52.4539)'^^wkt:wktLiteral  ",
+						".");
+		String queryString = StrUtils
+				.strjoinNL(
+						QUERY_PROLOG,
+						"SELECT ?s",
+						"WHERE {",
+						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
+						"}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testIndexingWKTLiteral" })));
+		
+		try {
+			doTestSearch(turtle, queryString, expectedURIs);
+		}catch (InvalidShapeException e){
+			if (jts_context_ready){
+				fail("The exception is not supposed to be thrown: "+ e.getMessage());
+			}
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
index 1a1a2bf..af3ad7a 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
@@ -1,42 +1,42 @@
-/*
- * 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.query.spatial;
-
-import java.io.File;
-import java.io.IOException;
-import org.junit.After;
-import org.junit.Before;
-
-public class TestIndexingSpatialDataWithLucene extends
-		AbstractTestIndexingSpatialData {
-	private static final String INDEX_PATH = "target/test/IsNearByPFWithLuceneSpatialIndex";
-	private static final File INDEX_DIR = new File(INDEX_PATH);
-
-	@Before
-	public void init() throws IOException {
-		dataset = SpatialSearchUtil
-				.initInMemoryDatasetWithLuceneSpatitalIndex(INDEX_DIR);
-	}
-
-	@After
-	public void destroy() {
-		SpatialSearchUtil.deleteOldFiles(INDEX_DIR);
-	}
-
-}
+/*
+ * 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.query.spatial;
+
+import java.io.File;
+import java.io.IOException;
+import org.junit.After;
+import org.junit.Before;
+
+public class TestIndexingSpatialDataWithLucene extends
+		AbstractTestIndexingSpatialData {
+	private static final String INDEX_PATH = "target/test/IsNearByPFWithLuceneSpatialIndex";
+	private static final File INDEX_DIR = new File(INDEX_PATH);
+
+	@Before
+	public void init() throws IOException {
+		dataset = SpatialSearchUtil
+				.initInMemoryDatasetWithLuceneSpatitalIndex(INDEX_DIR);
+	}
+
+	@After
+	public void destroy() {
+		SpatialSearchUtil.deleteOldFiles(INDEX_DIR);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
index 3a94f55..d3f70cd 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
@@ -1,40 +1,40 @@
-/*
- * 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.query.spatial;
-
-import org.junit.After;
-import org.junit.Before;
-
-public class TestIndexingSpatialDataWithSolr extends
-		AbstractTestIndexingSpatialData {
-
-	@Before
-	public void init() {
-		dataset = SpatialSearchUtil.initInMemoryDatasetWithSolrSpatitalIndex();
-	}
-
-	@After
-	public void destroy() {
-		SpatialIndexSolr index = (SpatialIndexSolr) dataset.getContext().get(
-				SpatialQuery.spatialIndex);
-		index.getServer().shutdown();
-		SpatialSearchUtil.deleteOldSolrDataDir();
-	}
-
-}
+/*
+ * 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.query.spatial;
+
+import org.junit.After;
+import org.junit.Before;
+
+public class TestIndexingSpatialDataWithSolr extends
+		AbstractTestIndexingSpatialData {
+
+	@Before
+	public void init() {
+		dataset = SpatialSearchUtil.initInMemoryDatasetWithSolrSpatitalIndex();
+	}
+
+	@After
+	public void destroy() {
+		SpatialIndexSolr index = (SpatialIndexSolr) dataset.getContext().get(
+				SpatialQuery.spatialIndex);
+		index.getServer().shutdown();
+		SpatialSearchUtil.deleteOldSolrDataDir();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestSpatialPredicatePairValue.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestSpatialPredicatePairValue.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestSpatialPredicatePairValue.java
index 6e01f71..e98f459 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestSpatialPredicatePairValue.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestSpatialPredicatePairValue.java
@@ -1,59 +1,59 @@
-/*
- * 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.query.spatial;
-
-import junit.framework.TestCase;
-
-import org.junit.Test;
-
-public class TestSpatialPredicatePairValue {
-
-	@Test public void testEqualsAndHashcode(){
-		SpatialPredicatePair pair1 = new SpatialPredicatePair(
-				EntityDefinition.geo_latitude.asNode(),
-				EntityDefinition.geo_longitude.asNode());
-		SpatialPredicatePair pair2 = new SpatialPredicatePair(
-				EntityDefinition.geo_latitude.asNode(),
-				EntityDefinition.geo_longitude.asNode());
-		TestCase.assertTrue(pair1.equals(pair2));
-		TestCase.assertTrue(pair1.hashCode() == pair2.hashCode());
-
-		SpatialPredicatePairValue value1 = new SpatialPredicatePairValue(pair1);
-		value1.setValue(EntityDefinition.geo_latitude.asNode(), 12.0);
-		value1.setValue(EntityDefinition.geo_longitude.asNode(), 23.0);
-
-		SpatialPredicatePairValue value2 = new SpatialPredicatePairValue(pair2);
-		value2.setValue(EntityDefinition.geo_latitude.asNode(), 12.0);
-		value2.setValue(EntityDefinition.geo_longitude.asNode(), 23.0);
-
-		TestCase.assertTrue(value1.equals(value2));
-		TestCase.assertTrue(value1.hashCode() == value2.hashCode());
-		
-		value1.setValue(EntityDefinition.geo_latitude.asNode(),null);
-		value2.setValue(EntityDefinition.geo_latitude.asNode(),null);
-		
-		TestCase.assertTrue(value1.equals(value2));
-		TestCase.assertTrue(value1.hashCode() == value2.hashCode());
-		
-		value2.setValue(EntityDefinition.geo_latitude.asNode(),23.0);
-		TestCase.assertFalse(value1.equals(value2));
-		TestCase.assertFalse(value1.hashCode() == value2.hashCode());
-	}
-
-}
+/*
+ * 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.query.spatial;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class TestSpatialPredicatePairValue {
+
+	@Test public void testEqualsAndHashcode(){
+		SpatialPredicatePair pair1 = new SpatialPredicatePair(
+				EntityDefinition.geo_latitude.asNode(),
+				EntityDefinition.geo_longitude.asNode());
+		SpatialPredicatePair pair2 = new SpatialPredicatePair(
+				EntityDefinition.geo_latitude.asNode(),
+				EntityDefinition.geo_longitude.asNode());
+		TestCase.assertTrue(pair1.equals(pair2));
+		TestCase.assertTrue(pair1.hashCode() == pair2.hashCode());
+
+		SpatialPredicatePairValue value1 = new SpatialPredicatePairValue(pair1);
+		value1.setValue(EntityDefinition.geo_latitude.asNode(), 12.0);
+		value1.setValue(EntityDefinition.geo_longitude.asNode(), 23.0);
+
+		SpatialPredicatePairValue value2 = new SpatialPredicatePairValue(pair2);
+		value2.setValue(EntityDefinition.geo_latitude.asNode(), 12.0);
+		value2.setValue(EntityDefinition.geo_longitude.asNode(), 23.0);
+
+		TestCase.assertTrue(value1.equals(value2));
+		TestCase.assertTrue(value1.hashCode() == value2.hashCode());
+		
+		value1.setValue(EntityDefinition.geo_latitude.asNode(),null);
+		value2.setValue(EntityDefinition.geo_latitude.asNode(),null);
+		
+		TestCase.assertTrue(value1.equals(value2));
+		TestCase.assertTrue(value1.hashCode() == value2.hashCode());
+		
+		value2.setValue(EntityDefinition.geo_latitude.asNode(),23.0);
+		TestCase.assertFalse(value1.equals(value2));
+		TestCase.assertFalse(value1.hashCode() == value2.hashCode());
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestTDBDatasetWithLuceneSpatialIndex.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestTDBDatasetWithLuceneSpatialIndex.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestTDBDatasetWithLuceneSpatialIndex.java
index 6e943e5..485a081 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestTDBDatasetWithLuceneSpatialIndex.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestTDBDatasetWithLuceneSpatialIndex.java
@@ -1,95 +1,95 @@
-/*
- * 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.query.spatial;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class TestTDBDatasetWithLuceneSpatialIndex extends
-		AbstractTestDatasetWithSpatialIndex {
-
-	private static final String INDEX_PATH = "target/test/TBDDatasetWithLuceneSpatialIndex";
-	private static final File INDEX_DIR = new File(INDEX_PATH);
-	private static final String TDB_PATH = "target/test/TDB";
-	private static final File TDB_DIR = new File(TDB_PATH);
-
-	@Before
-	public void init() throws IOException {
-		dataset = SpatialSearchUtil.initTDBDatasetWithLuceneSpatitalIndex(
-				INDEX_DIR, TDB_DIR);
-	}
-
-	@After
-	public void destroy() {
-		SpatialSearchUtil.deleteOldFiles(INDEX_DIR);
-		SpatialSearchUtil.deleteOldFiles(TDB_DIR);
-	}
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils
-				.strjoinNL(
-						QUERY_PROLOG,
-						"SELECT ?s",
-						"WHERE {",
-						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
-						"}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;", ".", "<" + RESOURCE_BASE
-						+ label + "2>", "   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils
-				.strjoinNL(
-						QUERY_PROLOG,
-						"SELECT ?s",
-						"WHERE {",
-						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
-						"}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-}
+/*
+ * 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.query.spatial;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestTDBDatasetWithLuceneSpatialIndex extends
+		AbstractTestDatasetWithSpatialIndex {
+
+	private static final String INDEX_PATH = "target/test/TBDDatasetWithLuceneSpatialIndex";
+	private static final File INDEX_DIR = new File(INDEX_PATH);
+	private static final String TDB_PATH = "target/test/TDB";
+	private static final File TDB_DIR = new File(TDB_PATH);
+
+	@Before
+	public void init() throws IOException {
+		dataset = SpatialSearchUtil.initTDBDatasetWithLuceneSpatitalIndex(
+				INDEX_DIR, TDB_DIR);
+	}
+
+	@After
+	public void destroy() {
+		SpatialSearchUtil.deleteOldFiles(INDEX_DIR);
+		SpatialSearchUtil.deleteOldFiles(TDB_DIR);
+	}
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils
+				.strjoinNL(
+						QUERY_PROLOG,
+						"SELECT ?s",
+						"WHERE {",
+						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
+						"}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;", ".", "<" + RESOURCE_BASE
+						+ label + "2>", "   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils
+				.strjoinNL(
+						QUERY_PROLOG,
+						"SELECT ?s",
+						"WHERE {",
+						" ?s spatial:nearby (51.3000 -2.71000 100.0 'miles' -1) .",
+						"}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestEastPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestEastPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestEastPF.java
index 9ef30ea..35b634b 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestEastPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestEastPF.java
@@ -1,142 +1,142 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestEastPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.885'^^xsd:float ;",
-				"   geo:long '0.235'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.885'^^xsd:float ;",
-				"   geo:long '0.234'^^xsd:float ", ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.1234'^^xsd:float ;",
-				"   geo:long '1.234'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 -1 'another argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.885'^^xsd:float ;",
-				"   geo:long '0.234'^^xsd:float ", ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.1234'^^xsd:float ;",
-				"   geo:long '1.234'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:north (51.3000 0.0000 1) .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 3) .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:east (51.3000 0.0000 'something not an integer') .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-  
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestEastPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.885'^^xsd:float ;",
+				"   geo:long '0.235'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.885'^^xsd:float ;",
+				"   geo:long '0.234'^^xsd:float ", ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.1234'^^xsd:float ;",
+				"   geo:long '1.234'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 -1 'another argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.885'^^xsd:float ;",
+				"   geo:long '0.234'^^xsd:float ", ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.1234'^^xsd:float ;",
+				"   geo:long '1.234'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:north (51.3000 0.0000 1) .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 -1) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 3) .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:east (51.3000 0.0000 'something not an integer') .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+  
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIntersectsBoxPF.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIntersectsBoxPF.java b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIntersectsBoxPF.java
index f8f074b..0b30782 100644
--- a/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIntersectsBoxPF.java
+++ b/jena-spatial/src/test/java/org/apache/jena/query/spatial/pfunction/AbstractTestIntersectsBoxPF.java
@@ -1,142 +1,142 @@
-/*
- * 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.query.spatial.pfunction;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
-import org.junit.Test;
-
-public abstract class AbstractTestIntersectsBoxPF extends AbstractTestDatasetWithSpatialIndex {
-
-	@Test
-	public void testOneSimpleResult() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testOneSimpleResult>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1)  .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs
-				.addAll(Arrays
-						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-	@Test
-	public void testMultipleResults() {
-		String label = "testMultipleResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000)  .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll(Arrays.asList((new String[] {
-				"http://example.org/data/resource/" + label + "1",
-				"http://example.org/data/resource/" + label + "2" })));
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-	
-	@Test
-	public void testArgumentListSize() {
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + "testArgumentListSize>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 -1) .", "}");
-		doTestSearchThrowException(turtle, queryString);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1 'some other argument') .", "}");
-		doTestSearchThrowException(turtle, queryString);
-	}
-	
-  @Test
-	public void testSearchLimitsResults() {
-		String label = "testSearchLimitsResults";
-		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
-				+ RESOURCE_BASE + label + "1>",
-				"   geo:lat '51.3827'^^xsd:float ;",
-				"   geo:long '-2.71909'^^xsd:float ;" , ".",
-				"<"	+ RESOURCE_BASE + label + "2>",
-				"   geo:lat '51.3967'^^xsd:float ;",
-				"   geo:long '-3.34333'^^xsd:float ;", ".");
-		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 1)   .", "}");
-		Set<String> expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs, 1);
-		
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1)   .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 3)   .", "}");
-		expectedURIs = (new HashSet<String>());
-		expectedURIs.addAll( Arrays.asList((
-				new String[]
-				{
-					    "http://example.org/data/resource/" + label + "1",
-					    "http://example.org/data/resource/" + label + "2"
-				}
-		)));
-		doTestSearch(turtle, queryString, expectedURIs);
-		
-		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
-				"WHERE {",
-				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 'something not an integer')  .", "}");
-		expectedURIs = (new HashSet<String>());
-		doTestSearch(turtle, queryString, expectedURIs);
-	}
-
-}
+/*
+ * 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.query.spatial.pfunction;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.query.spatial.AbstractTestDatasetWithSpatialIndex;
+import org.junit.Test;
+
+public abstract class AbstractTestIntersectsBoxPF extends AbstractTestDatasetWithSpatialIndex {
+
+	@Test
+	public void testOneSimpleResult() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testOneSimpleResult>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1)  .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs
+				.addAll(Arrays
+						.asList((new String[] { "http://example.org/data/resource/testOneSimpleResult" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+	@Test
+	public void testMultipleResults() {
+		String label = "testMultipleResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000)  .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll(Arrays.asList((new String[] {
+				"http://example.org/data/resource/" + label + "1",
+				"http://example.org/data/resource/" + label + "2" })));
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+	
+	@Test
+	public void testArgumentListSize() {
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + "testArgumentListSize>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 -1) .", "}");
+		doTestSearchThrowException(turtle, queryString);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1 'some other argument') .", "}");
+		doTestSearchThrowException(turtle, queryString);
+	}
+	
+  @Test
+	public void testSearchLimitsResults() {
+		String label = "testSearchLimitsResults";
+		final String turtle = StrUtils.strjoinNL(TURTLE_PROLOG, "<"
+				+ RESOURCE_BASE + label + "1>",
+				"   geo:lat '51.3827'^^xsd:float ;",
+				"   geo:long '-2.71909'^^xsd:float ;" , ".",
+				"<"	+ RESOURCE_BASE + label + "2>",
+				"   geo:lat '51.3967'^^xsd:float ;",
+				"   geo:long '-3.34333'^^xsd:float ;", ".");
+		String queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 1)   .", "}");
+		Set<String> expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs, 1);
+		
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 -1)   .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:intersectBox (51.1000 -4.0000 51.4000 0.0000 3)   .", "}");
+		expectedURIs = (new HashSet<String>());
+		expectedURIs.addAll( Arrays.asList((
+				new String[]
+				{
+					    "http://example.org/data/resource/" + label + "1",
+					    "http://example.org/data/resource/" + label + "2"
+				}
+		)));
+		doTestSearch(turtle, queryString, expectedURIs);
+		
+		queryString = StrUtils.strjoinNL(QUERY_PROLOG, "SELECT ?s",
+				"WHERE {",
+				" ?s spatial:withinBox (51.1000 -4.0000 51.4000 0.0000 'something not an integer')  .", "}");
+		expectedURIs = (new HashSet<String>());
+		doTestSearch(turtle, queryString, expectedURIs);
+	}
+
+}


[29/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result19.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result19.rdf b/jena-core/testing/reasoners/rdfs/result19.rdf
index 3756ce0..f05dba9 100644
--- a/jena-core/testing/reasoners/rdfs/result19.rdf
+++ b/jena-core/testing/reasoners/rdfs/result19.rdf
@@ -1,231 +1,231 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY drdfs 'urn:x-hp-direct-predicate:http_//www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns:drdfs="&drdfs;" xmlns="&eg;">
-
-  <rdfs:Resource rdf:about="&eg;a" />
-  <rdfs:Resource rdf:about="&eg;b" />
-  <rdfs:Resource rdf:about="&eg;c" />
-  <rdfs:Resource rdf:about="&eg;d" />
-  <rdfs:Resource rdf:about="&eg;p" />
-  <rdfs:Resource rdf:about="&eg;q" />
-  <rdfs:Resource rdf:about="&eg;r" />
-  <rdfs:Resource rdf:about="&eg;C1" />
-  <rdfs:Resource rdf:about="&eg;C2" />
-  <rdfs:Resource rdf:about="&eg;C3" />
-  <rdfs:Resource rdf:about="&eg;D" />
-  <rdfs:Resource rdf:about="&eg;fubar" />
-  
-   <rdfs:Resource rdf:about="&rdf;type" />
-   <rdfs:Resource rdf:about="&rdf;Statement" />
-   <rdfs:Resource rdf:about="&rdf;nil" />
-   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
-   <rdfs:Resource rdf:about="&rdf;List" />
-   <rdfs:Resource rdf:about="&rdf;Property" />
-   <rdfs:Resource rdf:about="&rdf;subject" />
-   <rdfs:Resource rdf:about="&rdf;predicate" />
-   <rdfs:Resource rdf:about="&rdf;object" />
-   <rdfs:Resource rdf:about="&rdf;first" />
-   <rdfs:Resource rdf:about="&rdf;rest" />
-   
-   <rdfs:Resource rdf:about="&rdfs;Resource" />
-   <rdfs:Resource rdf:about="&rdfs;Literal" />
-   <rdfs:Resource rdf:about="&rdfs;Class" />
-   <rdfs:Resource rdf:about="&rdfs;Datatype" />
-   <rdfs:Resource rdf:about="&rdfs;range" />
-   <rdfs:Resource rdf:about="&rdfs;domain" />
-   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
-   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
-   
-  <rdf:Property rdf:about="&eg;p" />
-  <rdf:Property rdf:about="&eg;q" />
-  <rdf:Property rdf:about="&eg;r" />
-  <rdf:Property rdf:about="&eg;fubar" />
-  
-   <rdf:Property rdf:about="&rdf;subject" />
-   <rdf:Property rdf:about="&rdf;predicate" />
-   <rdf:Property rdf:about="&rdf;object" />
-   <rdf:Property rdf:about="&rdf;first" />
-   <rdf:Property rdf:about="&rdf;rest" />
-   <rdf:Property rdf:about="&rdf;type" />
-   
-   <rdf:Property rdf:about="&rdfs;range" />
-   <rdf:Property rdf:about="&rdfs;domain" />
-   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
-   <rdf:Property rdf:about="&rdfs;subClassOf" />
-
-  <rdfs:Class rdf:about="&eg;D" />
-  <rdfs:Class rdf:about="&eg;C1" />
-  <rdfs:Class rdf:about="&eg;C2" />
-  <rdfs:Class rdf:about="&eg;C3" />
-  
-  <rdfs:Class rdf:about="&rdfs;Resource" />
-  <rdfs:Class rdf:about="&rdf;Property" />
-  <rdfs:Class rdf:about="&rdf;List" />
-  <rdfs:Class rdf:about="&rdfs;Class" />
-  <rdfs:Class rdf:about="&rdfs;Datatype" />
-  <rdfs:Class rdf:about="&rdfs;Literal" />
-  <rdfs:Class rdf:about="&rdf;Statement" />
-  
-  <D rdf:about="&eg;a" />
-  <D rdf:about="&eg;c" />
-
-  <C3 rdf:about="&eg;b" />
-  <C2 rdf:about="&eg;b" />
-  <C1 rdf:about="&eg;b" />
-
-  <C3 rdf:about="&eg;d" />
-  <C2 rdf:about="&eg;d" />
-  <C1 rdf:about="&eg;d" />
-
-  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
-  <rdf:List rdf:about="&rdf;nil" />
-  
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-    <drdfs:subPropertyOf rdf:resource="&eg;p" />
-    <drdfs:subPropertyOf rdf:resource="&eg;q" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-    <drdfs:subPropertyOf rdf:resource="&eg;q" />
-    <drdfs:subPropertyOf rdf:resource="&eg;r" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:range rdf:resource="&eg;C1"/>
-    <rdfs:domain rdf:resource="&eg;D"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <drdfs:subPropertyOf rdf:resource="&eg;r" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;fubar">
-    <rdfs:subPropertyOf rdf:resource="&eg;fubar"/>
-    <drdfs:subPropertyOf rdf:resource="&eg;fubar" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-    <drdfs:subClassOf rdf:resource="&eg;C1" />
-    <drdfs:subClassOf rdf:resource="&eg;C2" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <drdfs:subClassOf rdf:resource="&eg;C2" />
-    <drdfs:subClassOf rdf:resource="&eg;C3" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C3">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <drdfs:subClassOf rdf:resource="&eg;C3" />
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <q rdf:resource="&eg;b"/>
-    <r rdf:resource="&eg;b"/>
-    <fubar>Hello world</fubar>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <q rdf:resource="&eg;d"/>
-    <r rdf:resource="&eg;d"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&rdfs;subPropertyOf">
-    <rdfs:domain rdf:resource="&rdf;Property" />
-    <rdfs:range  rdf:resource="&rdf;Property" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subClassOf">
-    <rdfs:domain rdf:resource="&rdfs;Class" />
-    <rdfs:range  rdf:resource="&rdfs;Class" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;type">
-    <rdfs:range rdf:resource="&rdfs;Class" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subPropertyOf">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
-    <drdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;subClassOf">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
-    <drdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;subject">
-    <rdfs:subPropertyOf rdf:resource="&rdf;subject" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;subject" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;predicate">
-    <rdfs:subPropertyOf rdf:resource="&rdf;predicate" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;predicate" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;object">
-    <rdfs:subPropertyOf rdf:resource="&rdf;object" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;object" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;first">
-    <rdfs:subPropertyOf rdf:resource="&rdf;first" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;first" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;rest">
-    <rdfs:subPropertyOf rdf:resource="&rdf;rest" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;rest" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;type">
-    <rdfs:subPropertyOf rdf:resource="&rdf;type" />
-    <drdfs:subPropertyOf rdf:resource="&rdf;type" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;range">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;range" />
-    <drdfs:subPropertyOf rdf:resource="&rdfs;range" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;domain">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;domain" />
-    <drdfs:subPropertyOf rdf:resource="&rdfs;domain" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;Literal">
-    <rdfs:subClassOf rdf:resource="&rdfs;Literal" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdf;Statement">
-    <rdfs:subClassOf rdf:resource="&rdf;Statement" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-  <rdf:Description rdf:about="&rdfs;Resource">
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
-  </rdf:Description>
-   
-   
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY drdfs 'urn:x-hp-direct-predicate:http_//www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns:drdfs="&drdfs;" xmlns="&eg;">
+
+  <rdfs:Resource rdf:about="&eg;a" />
+  <rdfs:Resource rdf:about="&eg;b" />
+  <rdfs:Resource rdf:about="&eg;c" />
+  <rdfs:Resource rdf:about="&eg;d" />
+  <rdfs:Resource rdf:about="&eg;p" />
+  <rdfs:Resource rdf:about="&eg;q" />
+  <rdfs:Resource rdf:about="&eg;r" />
+  <rdfs:Resource rdf:about="&eg;C1" />
+  <rdfs:Resource rdf:about="&eg;C2" />
+  <rdfs:Resource rdf:about="&eg;C3" />
+  <rdfs:Resource rdf:about="&eg;D" />
+  <rdfs:Resource rdf:about="&eg;fubar" />
+  
+   <rdfs:Resource rdf:about="&rdf;type" />
+   <rdfs:Resource rdf:about="&rdf;Statement" />
+   <rdfs:Resource rdf:about="&rdf;nil" />
+   <rdfs:Resource rdf:about="&rdf;XMLLiteral" />
+   <rdfs:Resource rdf:about="&rdf;List" />
+   <rdfs:Resource rdf:about="&rdf;Property" />
+   <rdfs:Resource rdf:about="&rdf;subject" />
+   <rdfs:Resource rdf:about="&rdf;predicate" />
+   <rdfs:Resource rdf:about="&rdf;object" />
+   <rdfs:Resource rdf:about="&rdf;first" />
+   <rdfs:Resource rdf:about="&rdf;rest" />
+   
+   <rdfs:Resource rdf:about="&rdfs;Resource" />
+   <rdfs:Resource rdf:about="&rdfs;Literal" />
+   <rdfs:Resource rdf:about="&rdfs;Class" />
+   <rdfs:Resource rdf:about="&rdfs;Datatype" />
+   <rdfs:Resource rdf:about="&rdfs;range" />
+   <rdfs:Resource rdf:about="&rdfs;domain" />
+   <rdfs:Resource rdf:about="&rdfs;subPropertyOf" />
+   <rdfs:Resource rdf:about="&rdfs;subClassOf" />
+   
+  <rdf:Property rdf:about="&eg;p" />
+  <rdf:Property rdf:about="&eg;q" />
+  <rdf:Property rdf:about="&eg;r" />
+  <rdf:Property rdf:about="&eg;fubar" />
+  
+   <rdf:Property rdf:about="&rdf;subject" />
+   <rdf:Property rdf:about="&rdf;predicate" />
+   <rdf:Property rdf:about="&rdf;object" />
+   <rdf:Property rdf:about="&rdf;first" />
+   <rdf:Property rdf:about="&rdf;rest" />
+   <rdf:Property rdf:about="&rdf;type" />
+   
+   <rdf:Property rdf:about="&rdfs;range" />
+   <rdf:Property rdf:about="&rdfs;domain" />
+   <rdf:Property rdf:about="&rdfs;subPropertyOf" />
+   <rdf:Property rdf:about="&rdfs;subClassOf" />
+
+  <rdfs:Class rdf:about="&eg;D" />
+  <rdfs:Class rdf:about="&eg;C1" />
+  <rdfs:Class rdf:about="&eg;C2" />
+  <rdfs:Class rdf:about="&eg;C3" />
+  
+  <rdfs:Class rdf:about="&rdfs;Resource" />
+  <rdfs:Class rdf:about="&rdf;Property" />
+  <rdfs:Class rdf:about="&rdf;List" />
+  <rdfs:Class rdf:about="&rdfs;Class" />
+  <rdfs:Class rdf:about="&rdfs;Datatype" />
+  <rdfs:Class rdf:about="&rdfs;Literal" />
+  <rdfs:Class rdf:about="&rdf;Statement" />
+  
+  <D rdf:about="&eg;a" />
+  <D rdf:about="&eg;c" />
+
+  <C3 rdf:about="&eg;b" />
+  <C2 rdf:about="&eg;b" />
+  <C1 rdf:about="&eg;b" />
+
+  <C3 rdf:about="&eg;d" />
+  <C2 rdf:about="&eg;d" />
+  <C1 rdf:about="&eg;d" />
+
+  <rdfs:Datatype rdf:about="&rdf;XMLLiteral" />
+  <rdf:List rdf:about="&rdf;nil" />
+  
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+    <drdfs:subPropertyOf rdf:resource="&eg;p" />
+    <drdfs:subPropertyOf rdf:resource="&eg;q" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+    <drdfs:subPropertyOf rdf:resource="&eg;q" />
+    <drdfs:subPropertyOf rdf:resource="&eg;r" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:range rdf:resource="&eg;C1"/>
+    <rdfs:domain rdf:resource="&eg;D"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <drdfs:subPropertyOf rdf:resource="&eg;r" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;fubar">
+    <rdfs:subPropertyOf rdf:resource="&eg;fubar"/>
+    <drdfs:subPropertyOf rdf:resource="&eg;fubar" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+    <drdfs:subClassOf rdf:resource="&eg;C1" />
+    <drdfs:subClassOf rdf:resource="&eg;C2" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <drdfs:subClassOf rdf:resource="&eg;C2" />
+    <drdfs:subClassOf rdf:resource="&eg;C3" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C3">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <drdfs:subClassOf rdf:resource="&eg;C3" />
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <q rdf:resource="&eg;b"/>
+    <r rdf:resource="&eg;b"/>
+    <fubar>Hello world</fubar>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <q rdf:resource="&eg;d"/>
+    <r rdf:resource="&eg;d"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&rdfs;subPropertyOf">
+    <rdfs:domain rdf:resource="&rdf;Property" />
+    <rdfs:range  rdf:resource="&rdf;Property" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subClassOf">
+    <rdfs:domain rdf:resource="&rdfs;Class" />
+    <rdfs:range  rdf:resource="&rdfs;Class" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;type">
+    <rdfs:range rdf:resource="&rdfs;Class" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subPropertyOf">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
+    <drdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;subClassOf">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
+    <drdfs:subPropertyOf rdf:resource="&rdfs;subClassOf" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;subject">
+    <rdfs:subPropertyOf rdf:resource="&rdf;subject" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;subject" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;predicate">
+    <rdfs:subPropertyOf rdf:resource="&rdf;predicate" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;predicate" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;object">
+    <rdfs:subPropertyOf rdf:resource="&rdf;object" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;object" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;first">
+    <rdfs:subPropertyOf rdf:resource="&rdf;first" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;first" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;rest">
+    <rdfs:subPropertyOf rdf:resource="&rdf;rest" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;rest" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;type">
+    <rdfs:subPropertyOf rdf:resource="&rdf;type" />
+    <drdfs:subPropertyOf rdf:resource="&rdf;type" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;range">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;range" />
+    <drdfs:subPropertyOf rdf:resource="&rdfs;range" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;domain">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;domain" />
+    <drdfs:subPropertyOf rdf:resource="&rdfs;domain" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;Literal">
+    <rdfs:subClassOf rdf:resource="&rdfs;Literal" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdf;Statement">
+    <rdfs:subClassOf rdf:resource="&rdf;Statement" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+  <rdf:Description rdf:about="&rdfs;Resource">
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource" />
+  </rdf:Description>
+   
+   
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result2.rdf b/jena-core/testing/reasoners/rdfs/result2.rdf
index 78a9e8f..38c2612 100644
--- a/jena-core/testing/reasoners/rdfs/result2.rdf
+++ b/jena-core/testing/reasoners/rdfs/result2.rdf
@@ -1,13 +1,13 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <C1 rdf:about="&eg;b" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <C1 rdf:about="&eg;b" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result20-nodirect.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result20-nodirect.rdf b/jena-core/testing/reasoners/rdfs/result20-nodirect.rdf
index 47da074..e578456 100755
--- a/jena-core/testing/reasoners/rdfs/result20-nodirect.rdf
+++ b/jena-core/testing/reasoners/rdfs/result20-nodirect.rdf
@@ -1,21 +1,21 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdf:type rdf:resource="&rdfs;Class" />
-    <rdf:type rdf:resource="&rdfs;Resource" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdf:type rdf:resource="&rdfs;Class" />
+    <rdf:type rdf:resource="&rdfs;Resource" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result20.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result20.rdf b/jena-core/testing/reasoners/rdfs/result20.rdf
index 553028c..eb5115b 100644
--- a/jena-core/testing/reasoners/rdfs/result20.rdf
+++ b/jena-core/testing/reasoners/rdfs/result20.rdf
@@ -1,24 +1,24 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY drdfs 'urn:x-hp-direct-predicate:http_//www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns:drdfs="&drdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdf:type rdf:resource="&rdfs;Class" />
-    <rdf:type rdf:resource="&rdfs;Resource" />
-    <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-    <drdfs:subClassOf rdf:resource="&eg;C1" />
-    <drdfs:subClassOf rdf:resource="&eg;C2" />
-  </rdf:Description>
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY drdfs 'urn:x-hp-direct-predicate:http_//www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns:drdfs="&drdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdf:type rdf:resource="&rdfs;Class" />
+    <rdf:type rdf:resource="&rdfs;Resource" />
+    <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+    <drdfs:subClassOf rdf:resource="&eg;C1" />
+    <drdfs:subClassOf rdf:resource="&eg;C2" />
+  </rdf:Description>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result3.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result3.rdf b/jena-core/testing/reasoners/rdfs/result3.rdf
index 3e38e69..2c0f2a0 100644
--- a/jena-core/testing/reasoners/rdfs/result3.rdf
+++ b/jena-core/testing/reasoners/rdfs/result3.rdf
@@ -1,19 +1,19 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <r rdf:resource="&eg;b"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <r rdf:resource="&eg;d"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <r rdf:resource="&eg;b"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <r rdf:resource="&eg;d"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result4.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result4.rdf b/jena-core/testing/reasoners/rdfs/result4.rdf
index ccf08b6..6e48a29 100644
--- a/jena-core/testing/reasoners/rdfs/result4.rdf
+++ b/jena-core/testing/reasoners/rdfs/result4.rdf
@@ -1,17 +1,17 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <r rdf:resource="&eg;b"/>
-  </rdf:Description>
-
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <r rdf:resource="&eg;b"/>
+  </rdf:Description>
+
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result7.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result7.rdf b/jena-core/testing/reasoners/rdfs/result7.rdf
index e5e30d8..25a7311 100644
--- a/jena-core/testing/reasoners/rdfs/result7.rdf
+++ b/jena-core/testing/reasoners/rdfs/result7.rdf
@@ -1,13 +1,13 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <D rdf:about="&eg;a" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <D rdf:about="&eg;a" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result8.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result8.rdf b/jena-core/testing/reasoners/rdfs/result8.rdf
index a67d2b1..68c8175 100644
--- a/jena-core/testing/reasoners/rdfs/result8.rdf
+++ b/jena-core/testing/reasoners/rdfs/result8.rdf
@@ -1,14 +1,14 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <D rdf:about="&eg;a" />
-  <D rdf:about="&eg;c" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <D rdf:about="&eg;a" />
+  <D rdf:about="&eg;c" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/result9.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/result9.rdf b/jena-core/testing/reasoners/rdfs/result9.rdf
index c911423..f7aff07 100644
--- a/jena-core/testing/reasoners/rdfs/result9.rdf
+++ b/jena-core/testing/reasoners/rdfs/result9.rdf
@@ -1,13 +1,13 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <C3 rdf:about="&eg;b" />
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdfs="&rdfs;" xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <C3 rdf:about="&eg;b" />
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/tbox1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/tbox1.rdf b/jena-core/testing/reasoners/rdfs/tbox1.rdf
index 5de6cd0..29ce4f2 100644
--- a/jena-core/testing/reasoners/rdfs/tbox1.rdf
+++ b/jena-core/testing/reasoners/rdfs/tbox1.rdf
@@ -1,32 +1,32 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:range rdf:resource="&eg;C1"/>
-    <rdfs:domain rdf:resource="&eg;D"/>
-  </rdf:Description>
-
-  <rdfs:Class rdf:about="&eg;C1">
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-  </rdfs:Class>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:range rdf:resource="&eg;C1"/>
+    <rdfs:domain rdf:resource="&eg;D"/>
+  </rdf:Description>
+
+  <rdfs:Class rdf:about="&eg;C1">
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+  </rdfs:Class>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/timing-data.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/timing-data.rdf b/jena-core/testing/reasoners/rdfs/timing-data.rdf
index 8791a01..f0af97c 100644
--- a/jena-core/testing/reasoners/rdfs/timing-data.rdf
+++ b/jena-core/testing/reasoners/rdfs/timing-data.rdf
@@ -1,54 +1,54 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;i1">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i2">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i3">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i4">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i5">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i6">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i7">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i8">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i9">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i10">
-    <r>foo</r>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;i11">
-    <r>foo</r>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;i1">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i2">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i3">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i4">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i5">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i6">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i7">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i8">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i9">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i10">
+    <r>foo</r>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;i11">
+    <r>foo</r>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/rdfs/timing-tbox.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/rdfs/timing-tbox.rdf b/jena-core/testing/reasoners/rdfs/timing-tbox.rdf
index 1d74e04..839ec5c 100644
--- a/jena-core/testing/reasoners/rdfs/timing-tbox.rdf
+++ b/jena-core/testing/reasoners/rdfs/timing-tbox.rdf
@@ -1,39 +1,39 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:domain rdf:resource="&eg;C5"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C4">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C5">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C3">
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:domain rdf:resource="&eg;C5"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C4">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C5">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C3">
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/ruleParserTest1.rules
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/ruleParserTest1.rules b/jena-core/testing/reasoners/ruleParserTest1.rules
index 411693a..d1801ff 100644
--- a/jena-core/testing/reasoners/ruleParserTest1.rules
+++ b/jena-core/testing/reasoners/ruleParserTest1.rules
@@ -1,13 +1,13 @@
-// Test the @prefix and @include operations
-
-@prefix p1: <http://jena.hpl.hp.com/newprefix#>
-@prefix p2: <http://jena.hpl.hp.com/newprefix2#>.
-
--> (p1:A p2:p p1:foo).
-
-@include <RDFS>.
-
--> (p1:A rdfs:subClassOf p1:B).
--> (p1:B rdfs:subClassOf p1:C).
-
+// Test the @prefix and @include operations
+
+@prefix p1: <http://jena.hpl.hp.com/newprefix#>
+@prefix p2: <http://jena.hpl.hp.com/newprefix2#>.
+
+-> (p1:A p2:p p1:foo).
+
+@include <RDFS>.
+
+-> (p1:A rdfs:subClassOf p1:B).
+-> (p1:B rdfs:subClassOf p1:C).
+
 @include <file:testing/reasoners/include.rules>.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data1.rdf b/jena-core/testing/reasoners/transitive/data1.rdf
index 5d62aa7..76df046 100644
--- a/jena-core/testing/reasoners/transitive/data1.rdf
+++ b/jena-core/testing/reasoners/transitive/data1.rdf
@@ -1,25 +1,25 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <rdf:type rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;b">
-    <p rdf:resource="&eg;c"/>
-    <rdf:type rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <rdf:type rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <rdf:type rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;b">
+    <p rdf:resource="&eg;c"/>
+    <rdf:type rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <rdf:type rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data2.rdf b/jena-core/testing/reasoners/transitive/data2.rdf
index 4bfa5d9..8f4c6f2 100644
--- a/jena-core/testing/reasoners/transitive/data2.rdf
+++ b/jena-core/testing/reasoners/transitive/data2.rdf
@@ -1,20 +1,20 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <rdf:type rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;b">
-    <p rdf:resource="&eg;c"/>
-    <rdf:type rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <rdf:type rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;b">
+    <p rdf:resource="&eg;c"/>
+    <rdf:type rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data3.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data3.rdf b/jena-core/testing/reasoners/transitive/data3.rdf
index 3eca49e..b759bc8 100644
--- a/jena-core/testing/reasoners/transitive/data3.rdf
+++ b/jena-core/testing/reasoners/transitive/data3.rdf
@@ -1,15 +1,15 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <rdf:type rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <rdf:type rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data6.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data6.rdf b/jena-core/testing/reasoners/transitive/data6.rdf
index 65c8724..fa7bce9 100644
--- a/jena-core/testing/reasoners/transitive/data6.rdf
+++ b/jena-core/testing/reasoners/transitive/data6.rdf
@@ -1,15 +1,15 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:subPropertyOf rdf:resource="&eg;z"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:subPropertyOf rdf:resource="&eg;z"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data8.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data8.rdf b/jena-core/testing/reasoners/transitive/data8.rdf
index d243ae4..1bbc8dd 100644
--- a/jena-core/testing/reasoners/transitive/data8.rdf
+++ b/jena-core/testing/reasoners/transitive/data8.rdf
@@ -1,37 +1,37 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <rdf:type rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;b">
-    <p rdf:resource="&eg;c"/>
-    <rdf:type rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <rdf:type rdf:resource="&eg;C3"/>
-  </rdf:Description>
-  
-  <!-- metalevel decalarations -->
-  
-  <rdf:Description rdf:about="&eg;sp">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;sc">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf"/>
-  </rdf:Description>
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <rdf:type rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;b">
+    <p rdf:resource="&eg;c"/>
+    <rdf:type rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <rdf:type rdf:resource="&eg;C3"/>
+  </rdf:Description>
+  
+  <!-- metalevel decalarations -->
+  
+  <rdf:Description rdf:about="&eg;sp">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;sc">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subClassOf"/>
+  </rdf:Description>
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/data9.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/data9.rdf b/jena-core/testing/reasoners/transitive/data9.rdf
index b5a96ca..6a84b04 100644
--- a/jena-core/testing/reasoners/transitive/data9.rdf
+++ b/jena-core/testing/reasoners/transitive/data9.rdf
@@ -1,36 +1,36 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-    <rdf:type rdf:resource="&eg;C1"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;b">
-    <p rdf:resource="&eg;c"/>
-    <rdf:type rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;c">
-    <p rdf:resource="&eg;d"/>
-    <rdf:type rdf:resource="&eg;C3"/>
-  </rdf:Description>
-  
-  <!-- nasty nested metalevel decalarations -->
-  
-  <rdf:Description rdf:about="&eg;sc">
-    <sp rdf:resource="&rdfs;subClassOf"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;sp">
-    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+    <rdf:type rdf:resource="&eg;C1"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;b">
+    <p rdf:resource="&eg;c"/>
+    <rdf:type rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;c">
+    <p rdf:resource="&eg;d"/>
+    <rdf:type rdf:resource="&eg;C3"/>
+  </rdf:Description>
+  
+  <!-- nasty nested metalevel decalarations -->
+  
+  <rdf:Description rdf:about="&eg;sc">
+    <sp rdf:resource="&rdfs;subClassOf"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;sp">
+    <rdfs:subPropertyOf rdf:resource="&rdfs;subPropertyOf"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/empty.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/empty.rdf b/jena-core/testing/reasoners/transitive/empty.rdf
index b113812..f966492 100644
--- a/jena-core/testing/reasoners/transitive/empty.rdf
+++ b/jena-core/testing/reasoners/transitive/empty.rdf
@@ -1,12 +1,12 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/manifest.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/manifest.rdf b/jena-core/testing/reasoners/transitive/manifest.rdf
index 2c4b350..870e6f2 100644
--- a/jena-core/testing/reasoners/transitive/manifest.rdf
+++ b/jena-core/testing/reasoners/transitive/manifest.rdf
@@ -1,97 +1,97 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
-  
-  <Test rdf:about="test1">
-    <description>Transitive reasoner: no reasoning, wildcard query</description>
-    <data>transitive/data1.rdf</data>
-    <query>transitive/query-all.nt</query>
-    <result>transitive/data1.rdf</result>
-  </Test>
-  
-  <Test rdf:about="test2">
-    <description>Transitive reasoner: no reasoning, selective query</description>
-    <data>transitive/data1.rdf</data>
-    <query>transitive/query2.nt</query>
-    <result>transitive/result2.rdf</result>
-  </Test>
-
-  <Test rdf:about="test3">
-    <description>Transitive reasoner: no reasoning, tbox+data concatenation</description>
-    <data>transitive/data1.rdf</data>
-    <tbox>transitive/data2.rdf</tbox>
-    <query>transitive/query-all.nt</query>
-    <result>transitive/data1.rdf</result>
-  </Test>
-
-  <Test rdf:about="test4">
-    <description>Transitive reasoner: simple subproperty transitive closure</description>
-    <data>transitive/data1.rdf</data>
-    <tbox>transitive/tbox1.rdf</tbox>
-    <query>transitive/querysp.nt</query>
-    <result>transitive/result4.rdf</result>
-  </Test>
-
-  <Test rdf:about="test5">
-    <description>Transitive reasoner: simple subclass transitive closure</description>
-    <data>transitive/data1.rdf</data>
-    <tbox>transitive/tbox1.rdf</tbox>
-    <query>transitive/querysc.nt</query>
-    <result>transitive/result5.rdf</result>
-  </Test>
-
-  <Test rdf:about="test6">
-    <description>Transitive reasoner: simple subproperty transitive closure, tbox/data merge</description>
-    <data>transitive/data6.rdf</data>
-    <tbox>transitive/tbox1.rdf</tbox>
-    <query>transitive/querysp2.nt</query>
-    <result>transitive/result6.rdf</result>
-  </Test>
-
-  <Test rdf:about="test7">
-    <description>Transitive reasoner: check meta subprops hidden</description>
-    <data>transitive/data1.rdf</data>
-    <tbox>transitive/tbox7.rdf</tbox>
-    <query>transitive/querysp.nt</query>
-    <result>transitive/empty.rdf</result>
-  </Test>
-
-  <Test rdf:about="test8">
-    <description>Transitive reasoner: simple meta level usage - subprop of subclass</description>
-    <data>transitive/data8.rdf</data>
-    <tbox>transitive/tbox7.rdf</tbox>
-    <query>transitive/querysc.nt</query>
-    <result>transitive/result5.rdf</result>
-  </Test>
-
-  <Test rdf:about="test9">
-    <description>Transitive reasoner: simple meta level usage - subprop of subprop</description>
-    <data>transitive/data8.rdf</data>
-    <tbox>transitive/tbox7.rdf</tbox>
-    <query>transitive/querysp.nt</query>
-    <result>transitive/result4.rdf</result>
-  </Test>
-
-  <Test rdf:about="test10">
-    <description>Transitive reasoner: meta level usage - indirect subprop of subclass</description>
-    <data>transitive/data9.rdf</data>
-    <tbox>transitive/tbox7.rdf</tbox>
-    <query>transitive/querysc.nt</query>
-    <result>transitive/result5.rdf</result>
-  </Test>
-  
-  <Test rdf:about="test11">
-    <description>Transitive reasoner: simple subclass transitive closure - wildcard query</description>
-    <data>transitive/data11.rdf</data>
-    <query>transitive/query-all.nt</query>
-    <result>transitive/result11.rdf</result>
-  </Test>
-
-
-  
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY test 'http://www.hpl.hp.com/semweb/2003/query_tester#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&test;">
+  
+  <Test rdf:about="test1">
+    <description>Transitive reasoner: no reasoning, wildcard query</description>
+    <data>transitive/data1.rdf</data>
+    <query>transitive/query-all.nt</query>
+    <result>transitive/data1.rdf</result>
+  </Test>
+  
+  <Test rdf:about="test2">
+    <description>Transitive reasoner: no reasoning, selective query</description>
+    <data>transitive/data1.rdf</data>
+    <query>transitive/query2.nt</query>
+    <result>transitive/result2.rdf</result>
+  </Test>
+
+  <Test rdf:about="test3">
+    <description>Transitive reasoner: no reasoning, tbox+data concatenation</description>
+    <data>transitive/data1.rdf</data>
+    <tbox>transitive/data2.rdf</tbox>
+    <query>transitive/query-all.nt</query>
+    <result>transitive/data1.rdf</result>
+  </Test>
+
+  <Test rdf:about="test4">
+    <description>Transitive reasoner: simple subproperty transitive closure</description>
+    <data>transitive/data1.rdf</data>
+    <tbox>transitive/tbox1.rdf</tbox>
+    <query>transitive/querysp.nt</query>
+    <result>transitive/result4.rdf</result>
+  </Test>
+
+  <Test rdf:about="test5">
+    <description>Transitive reasoner: simple subclass transitive closure</description>
+    <data>transitive/data1.rdf</data>
+    <tbox>transitive/tbox1.rdf</tbox>
+    <query>transitive/querysc.nt</query>
+    <result>transitive/result5.rdf</result>
+  </Test>
+
+  <Test rdf:about="test6">
+    <description>Transitive reasoner: simple subproperty transitive closure, tbox/data merge</description>
+    <data>transitive/data6.rdf</data>
+    <tbox>transitive/tbox1.rdf</tbox>
+    <query>transitive/querysp2.nt</query>
+    <result>transitive/result6.rdf</result>
+  </Test>
+
+  <Test rdf:about="test7">
+    <description>Transitive reasoner: check meta subprops hidden</description>
+    <data>transitive/data1.rdf</data>
+    <tbox>transitive/tbox7.rdf</tbox>
+    <query>transitive/querysp.nt</query>
+    <result>transitive/empty.rdf</result>
+  </Test>
+
+  <Test rdf:about="test8">
+    <description>Transitive reasoner: simple meta level usage - subprop of subclass</description>
+    <data>transitive/data8.rdf</data>
+    <tbox>transitive/tbox7.rdf</tbox>
+    <query>transitive/querysc.nt</query>
+    <result>transitive/result5.rdf</result>
+  </Test>
+
+  <Test rdf:about="test9">
+    <description>Transitive reasoner: simple meta level usage - subprop of subprop</description>
+    <data>transitive/data8.rdf</data>
+    <tbox>transitive/tbox7.rdf</tbox>
+    <query>transitive/querysp.nt</query>
+    <result>transitive/result4.rdf</result>
+  </Test>
+
+  <Test rdf:about="test10">
+    <description>Transitive reasoner: meta level usage - indirect subprop of subclass</description>
+    <data>transitive/data9.rdf</data>
+    <tbox>transitive/tbox7.rdf</tbox>
+    <query>transitive/querysc.nt</query>
+    <result>transitive/result5.rdf</result>
+  </Test>
+  
+  <Test rdf:about="test11">
+    <description>Transitive reasoner: simple subclass transitive closure - wildcard query</description>
+    <data>transitive/data11.rdf</data>
+    <query>transitive/query-all.nt</query>
+    <result>transitive/result11.rdf</result>
+  </Test>
+
+
+  
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/query-all.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/query-all.nt b/jena-core/testing/reasoners/transitive/query-all.nt
index 7a743ab..c73cfad 100644
--- a/jena-core/testing/reasoners/transitive/query-all.nt
+++ b/jena-core/testing/reasoners/transitive/query-all.nt
@@ -1,5 +1,5 @@
-# Test query for transitive reasoner
-# List all the data
-####################################
-<var:a> <var:b> <var:c>.
-
+# Test query for transitive reasoner
+# List all the data
+####################################
+<var:a> <var:b> <var:c>.
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/query2.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/query2.nt b/jena-core/testing/reasoners/transitive/query2.nt
index 62be585..52b4087 100644
--- a/jena-core/testing/reasoners/transitive/query2.nt
+++ b/jena-core/testing/reasoners/transitive/query2.nt
@@ -1,5 +1,5 @@
-# Test query for transitive reasoner
-# List (a,p,*)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.hpl.hp.com/semweb/2003/eg#p> <var:x>.
-
+# Test query for transitive reasoner
+# List (a,p,*)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#a> <http://www.hpl.hp.com/semweb/2003/eg#p> <var:x>.
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/querysc.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/querysc.nt b/jena-core/testing/reasoners/transitive/querysc.nt
index 0d97314..488eefb 100644
--- a/jena-core/testing/reasoners/transitive/querysc.nt
+++ b/jena-core/testing/reasoners/transitive/querysc.nt
@@ -1,5 +1,5 @@
-# Test query for transitive reasoner
-# List (C1,subClassOf,*)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#C1> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <var:x> .
-
+# Test query for transitive reasoner
+# List (C1,subClassOf,*)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#C1> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <var:x> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/querysp.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/querysp.nt b/jena-core/testing/reasoners/transitive/querysp.nt
index ef577d7..729470a 100644
--- a/jena-core/testing/reasoners/transitive/querysp.nt
+++ b/jena-core/testing/reasoners/transitive/querysp.nt
@@ -1,6 +1,6 @@
-# Test query for transitive reasoner
-# List (*,subPropertyOf,p)
-####################################
-<var:x> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.hpl.hp.com/semweb/2003/eg#p> .
-
-
+# Test query for transitive reasoner
+# List (*,subPropertyOf,p)
+####################################
+<var:x> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.hpl.hp.com/semweb/2003/eg#p> .
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/querysp2.nt
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/querysp2.nt b/jena-core/testing/reasoners/transitive/querysp2.nt
index 98d0c74..b3fa1e7 100644
--- a/jena-core/testing/reasoners/transitive/querysp2.nt
+++ b/jena-core/testing/reasoners/transitive/querysp2.nt
@@ -1,6 +1,6 @@
-# Test query for transitive reasoner
-# List (r,subPropertyOf,*)
-####################################
-<http://www.hpl.hp.com/semweb/2003/eg#r> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <var:x> .
-
-
+# Test query for transitive reasoner
+# List (r,subPropertyOf,*)
+####################################
+<http://www.hpl.hp.com/semweb/2003/eg#r> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <var:x> .
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/result2.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/result2.rdf b/jena-core/testing/reasoners/transitive/result2.rdf
index 5b85382..4164817 100644
--- a/jena-core/testing/reasoners/transitive/result2.rdf
+++ b/jena-core/testing/reasoners/transitive/result2.rdf
@@ -1,14 +1,14 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;a">
-    <p rdf:resource="&eg;b"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;a">
+    <p rdf:resource="&eg;b"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/result4.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/result4.rdf b/jena-core/testing/reasoners/transitive/result4.rdf
index 42177bb..b2d1eed 100644
--- a/jena-core/testing/reasoners/transitive/result4.rdf
+++ b/jena-core/testing/reasoners/transitive/result4.rdf
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;s">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;t">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;p">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;s">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;t">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;p">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/result5.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/result5.rdf b/jena-core/testing/reasoners/transitive/result5.rdf
index d477d49..b9e4c52 100644
--- a/jena-core/testing/reasoners/transitive/result5.rdf
+++ b/jena-core/testing/reasoners/transitive/result5.rdf
@@ -1,17 +1,17 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdfs:subClassOf rdf:resource="&eg;C1"/>
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdfs:subClassOf rdf:resource="&eg;C1"/>
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/result6.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/result6.rdf b/jena-core/testing/reasoners/transitive/result6.rdf
index 4c7c32f..f538faa 100644
--- a/jena-core/testing/reasoners/transitive/result6.rdf
+++ b/jena-core/testing/reasoners/transitive/result6.rdf
@@ -1,24 +1,24 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;z"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;r"/>
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;z"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/tbox1.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/tbox1.rdf b/jena-core/testing/reasoners/transitive/tbox1.rdf
index 111d212..62a772d 100644
--- a/jena-core/testing/reasoners/transitive/tbox1.rdf
+++ b/jena-core/testing/reasoners/transitive/tbox1.rdf
@@ -1,35 +1,35 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;q">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;s">
-    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;t">
-    <rdfs:subPropertyOf rdf:resource="&eg;s"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C1">
-    <rdfs:subClassOf rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <rdfs:subClassOf rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;q">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;s">
+    <rdfs:subPropertyOf rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;t">
+    <rdfs:subPropertyOf rdf:resource="&eg;s"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C1">
+    <rdfs:subClassOf rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <rdfs:subClassOf rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/reasoners/transitive/tbox7.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/transitive/tbox7.rdf b/jena-core/testing/reasoners/transitive/tbox7.rdf
index a2bc95e..a15e304 100644
--- a/jena-core/testing/reasoners/transitive/tbox7.rdf
+++ b/jena-core/testing/reasoners/transitive/tbox7.rdf
@@ -1,35 +1,35 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
-
-  <rdf:Description rdf:about="&eg;q">
-    <sp rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;r">
-    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;s">
-    <sp rdf:resource="&eg;p"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;t">
-    <rdfs:subPropertyOf rdf:resource="&eg;s"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C1">
-    <sc rdf:resource="&eg;C2"/>
-  </rdf:Description>
-
-  <rdf:Description rdf:about="&eg;C2">
-    <sc rdf:resource="&eg;C3"/>
-  </rdf:Description>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'http://www.hpl.hp.com/semweb/2003/eg#'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns="&eg;">
+
+  <rdf:Description rdf:about="&eg;q">
+    <sp rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;r">
+    <rdfs:subPropertyOf rdf:resource="&eg;q"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;s">
+    <sp rdf:resource="&eg;p"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;t">
+    <rdfs:subPropertyOf rdf:resource="&eg;s"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C1">
+    <sc rdf:resource="&eg;C2"/>
+  </rdf:Description>
+
+  <rdf:Description rdf:about="&eg;C2">
+    <sc rdf:resource="&eg;C3"/>
+  </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/cardinality/Manifest005.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/cardinality/Manifest005.rdf b/jena-core/testing/wg/cardinality/Manifest005.rdf
index 1376a08..06353dc 100755
--- a/jena-core/testing/wg/cardinality/Manifest005.rdf
+++ b/jena-core/testing/wg/cardinality/Manifest005.rdf
@@ -1,45 +1,45 @@
-<!--++ cardinality/Manifest005.rdf ** generated using webont test editor. ++-->
-<!--++ Created 17 Dec 2002 21:18:23 GMT ++-->
-<!--
-  Copyright World Wide Web Consortium, (Massachusetts Institute of
-  Technology, European Research Consortium for Informatics and
-  Mathematics, Keio University).
-
-  All Rights Reserved.
-
-  Please see the full Copyright clause at
-  <http://www.w3.org/Consortium/Legal/copyright-software.html>
-
-  $Id: Manifest005.rdf,v 1.6 2003-11-20 15:34:04 jeremy_carroll Exp $
--->
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
-      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
-      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
-      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
-      xmlns:dc='http://purl.org/dc/elements/1.0/'
-      xmlns='http://www.w3.org/1999/xhtml'
-      xmlns:owl='http://www.w3.org/2002/07/owl#'
-      xml:base='http://www.w3.org/2002/03owlt/cardinality/Manifest005'
->
-<otest:PositiveEntailmentTest rdf:ID='test'>
-   <rtest:status>PROPOSED</rtest:status> 
-   <rdfs:seeAlso rdf:resource="http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0444"/>
-   <rdfs:seeAlso rdf:resource=
- "http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0017" />
-   <dc:creator>Jeremy J. Carroll</dc:creator>
-   <otest:feature rdf:resource='http://www.w3.org/2002/07/owl#cardinality' />
-   <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
-   <rtest:description rdf:parseType='Literal'>
-An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.</rtest:description>
-   <rtest:premiseDocument>
-         <rtest:RDF-XML-Document rdf:about='premises005' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
-         </rtest:RDF-XML-Document>
-   </rtest:premiseDocument>
-   <rtest:conclusionDocument>
-         <rtest:RDF-XML-Document rdf:about='conclusions005' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
-         </rtest:RDF-XML-Document>
-   </rtest:conclusionDocument>
-</otest:PositiveEntailmentTest >
-</rdf:RDF>
+<!--++ cardinality/Manifest005.rdf ** generated using webont test editor. ++-->
+<!--++ Created 17 Dec 2002 21:18:23 GMT ++-->
+<!--
+  Copyright World Wide Web Consortium, (Massachusetts Institute of
+  Technology, European Research Consortium for Informatics and
+  Mathematics, Keio University).
+
+  All Rights Reserved.
+
+  Please see the full Copyright clause at
+  <http://www.w3.org/Consortium/Legal/copyright-software.html>
+
+  $Id: Manifest005.rdf,v 1.6 2003-11-20 15:34:04 jeremy_carroll Exp $
+-->
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
+      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
+      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
+      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
+      xmlns:dc='http://purl.org/dc/elements/1.0/'
+      xmlns='http://www.w3.org/1999/xhtml'
+      xmlns:owl='http://www.w3.org/2002/07/owl#'
+      xml:base='http://www.w3.org/2002/03owlt/cardinality/Manifest005'
+>
+<otest:PositiveEntailmentTest rdf:ID='test'>
+   <rtest:status>PROPOSED</rtest:status> 
+   <rdfs:seeAlso rdf:resource="http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0444"/>
+   <rdfs:seeAlso rdf:resource=
+ "http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0017" />
+   <dc:creator>Jeremy J. Carroll</dc:creator>
+   <otest:feature rdf:resource='http://www.w3.org/2002/07/owl#cardinality' />
+   <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
+   <rtest:description rdf:parseType='Literal'>
+An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.</rtest:description>
+   <rtest:premiseDocument>
+         <rtest:RDF-XML-Document rdf:about='premises005' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
+         </rtest:RDF-XML-Document>
+   </rtest:premiseDocument>
+   <rtest:conclusionDocument>
+         <rtest:RDF-XML-Document rdf:about='conclusions005' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
+         </rtest:RDF-XML-Document>
+   </rtest:conclusionDocument>
+</otest:PositiveEntailmentTest >
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/cardinality/conclusions005.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/cardinality/conclusions005.rdf b/jena-core/testing/wg/cardinality/conclusions005.rdf
index e480375..7247836 100755
--- a/jena-core/testing/wg/cardinality/conclusions005.rdf
+++ b/jena-core/testing/wg/cardinality/conclusions005.rdf
@@ -1,40 +1,40 @@
-<!--++ cardinality/conclusions005.rdf ** generated using webont test editor. ++-->
-<!--++ Created 17 Dec 2002 21:18:24 GMT ++-->
-<!--
-  Copyright World Wide Web Consortium, (Massachusetts Institute of
-  Technology, European Research Consortium for Informatics and
-  Mathematics, Keio University).
-
-  All Rights Reserved.
-
-  Please see the full Copyright clause at
-  <http://www.w3.org/Consortium/Legal/copyright-software.html>
-
-  $Id: conclusions005.rdf,v 1.5 2003-11-20 15:34:04 jeremy_carroll Exp $
--->
-<!--
-An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.
--->
-<!-- Author: Jeremy J. Carroll -->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions005" >
-    <rdf:Description rdf:about="premises005#c">
-      <owl:intersectionOf rdf:parseType="Collection">
-         <owl:Restriction>
-            <owl:onProperty rdf:resource="premises005#p"/>
-            <owl:maxCardinality
- rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
-             >1</owl:maxCardinality>
-          </owl:Restriction>
-          <owl:Restriction>
-          <owl:onProperty rdf:resource="premises005#p"/>
-          <owl:minCardinality
- rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
-           >1</owl:minCardinality>
-       </owl:Restriction>
-     </owl:intersectionOf>
-   </rdf:Description>
-</rdf:RDF>
+<!--++ cardinality/conclusions005.rdf ** generated using webont test editor. ++-->
+<!--++ Created 17 Dec 2002 21:18:24 GMT ++-->
+<!--
+  Copyright World Wide Web Consortium, (Massachusetts Institute of
+  Technology, European Research Consortium for Informatics and
+  Mathematics, Keio University).
+
+  All Rights Reserved.
+
+  Please see the full Copyright clause at
+  <http://www.w3.org/Consortium/Legal/copyright-software.html>
+
+  $Id: conclusions005.rdf,v 1.5 2003-11-20 15:34:04 jeremy_carroll Exp $
+-->
+<!--
+An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.
+-->
+<!-- Author: Jeremy J. Carroll -->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/cardinality/conclusions005" >
+    <rdf:Description rdf:about="premises005#c">
+      <owl:intersectionOf rdf:parseType="Collection">
+         <owl:Restriction>
+            <owl:onProperty rdf:resource="premises005#p"/>
+            <owl:maxCardinality
+ rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
+             >1</owl:maxCardinality>
+          </owl:Restriction>
+          <owl:Restriction>
+          <owl:onProperty rdf:resource="premises005#p"/>
+          <owl:minCardinality
+ rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
+           >1</owl:minCardinality>
+       </owl:Restriction>
+     </owl:intersectionOf>
+   </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/cardinality/premises005.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/cardinality/premises005.rdf b/jena-core/testing/wg/cardinality/premises005.rdf
index c89ed63..fb6bc4c 100755
--- a/jena-core/testing/wg/cardinality/premises005.rdf
+++ b/jena-core/testing/wg/cardinality/premises005.rdf
@@ -1,30 +1,30 @@
-<!--++ cardinality/premises005.rdf ** generated using webont test editor. ++-->
-<!--++ Created 17 Dec 2002 21:18:23 GMT ++-->
-<!--
-  Copyright World Wide Web Consortium, (Massachusetts Institute of
-  Technology, European Research Consortium for Informatics and
-  Mathematics, Keio University).
-
-  All Rights Reserved.
-
-  Please see the full Copyright clause at
-  <http://www.w3.org/Consortium/Legal/copyright-software.html>
-
-  $Id: premises005.rdf,v 1.5 2003-11-20 15:34:04 jeremy_carroll Exp $
--->
-<!--
-An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.
--->
-<!-- Author: Jeremy J. Carroll -->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises005" >
-    <owl:Restriction  rdf:ID="c">
-      <owl:onProperty rdf:resource="#p"/>
-      <owl:cardinality
- rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
-       >1</owl:cardinality>
-    </owl:Restriction>
-</rdf:RDF>
+<!--++ cardinality/premises005.rdf ** generated using webont test editor. ++-->
+<!--++ Created 17 Dec 2002 21:18:23 GMT ++-->
+<!--
+  Copyright World Wide Web Consortium, (Massachusetts Institute of
+  Technology, European Research Consortium for Informatics and
+  Mathematics, Keio University).
+
+  All Rights Reserved.
+
+  Please see the full Copyright clause at
+  <http://www.w3.org/Consortium/Legal/copyright-software.html>
+
+  $Id: premises005.rdf,v 1.5 2003-11-20 15:34:04 jeremy_carroll Exp $
+-->
+<!--
+An <code>owl:cardinality</code> constraint is simply shorthand for a pair of <code>owl:minCardinality</code> and <code>owl:maxCardinality</code> constraints.
+-->
+<!-- Author: Jeremy J. Carroll -->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises005" >
+    <owl:Restriction  rdf:ID="c">
+      <owl:onProperty rdf:resource="#p"/>
+      <owl:cardinality
+ rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
+       >1</owl:cardinality>
+    </owl:Restriction>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/Manifest008.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/Manifest008.rdf b/jena-core/testing/wg/localtests/Manifest008.rdf
index 47a89cb..d3e4533 100644
--- a/jena-core/testing/wg/localtests/Manifest008.rdf
+++ b/jena-core/testing/wg/localtests/Manifest008.rdf
@@ -1,30 +1,30 @@
-<!--
-  Local test files use in Jena2 development
--->
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
-      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
-      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
-      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
-      xmlns:dc='http://purl.org/dc/elements/1.0/'
-      xmlns='http://www.w3.org/2002/03owlt/localtests/Manifest008#'
-      xmlns:owl='http://www.w3.org/2002/07/owl#'
-      xml:base='http://www.w3.org/2002/03owlt/localtests/Manifest008'
->
-<otest:PositiveEntailmentTest rdf:ID='propInheritance'>
-   <rtest:status>Jena internal</rtest:status>
-   <dc:creator>Dave Reynolds</dc:creator>
-   <rtest:description rdf:parseType='Literal'>
-      Infer domain/range from inverseof
-   </rtest:description>
-   <rtest:premiseDocument>
-         <rtest:RDF-XML-Document rdf:about='premises008' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
-         </rtest:RDF-XML-Document>
-   </rtest:premiseDocument>
-   <rtest:conclusionDocument>
-         <rtest:RDF-XML-Document rdf:about='conclusions008' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
-         </rtest:RDF-XML-Document>
-   </rtest:conclusionDocument>
-</otest:PositiveEntailmentTest >
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+-->
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
+      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
+      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
+      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
+      xmlns:dc='http://purl.org/dc/elements/1.0/'
+      xmlns='http://www.w3.org/2002/03owlt/localtests/Manifest008#'
+      xmlns:owl='http://www.w3.org/2002/07/owl#'
+      xml:base='http://www.w3.org/2002/03owlt/localtests/Manifest008'
+>
+<otest:PositiveEntailmentTest rdf:ID='propInheritance'>
+   <rtest:status>Jena internal</rtest:status>
+   <dc:creator>Dave Reynolds</dc:creator>
+   <rtest:description rdf:parseType='Literal'>
+      Infer domain/range from inverseof
+   </rtest:description>
+   <rtest:premiseDocument>
+         <rtest:RDF-XML-Document rdf:about='premises008' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
+         </rtest:RDF-XML-Document>
+   </rtest:premiseDocument>
+   <rtest:conclusionDocument>
+         <rtest:RDF-XML-Document rdf:about='conclusions008' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Full' />
+         </rtest:RDF-XML-Document>
+   </rtest:conclusionDocument>
+</otest:PositiveEntailmentTest >
+</rdf:RDF>


[07/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByPredicateUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByPredicateUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByPredicateUriMapper.java
index 5e5276d..41ccef7 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByPredicateUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterByPredicateUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A triple filter which selects triples which have matching predicates

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterBySubjectUriMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterBySubjectUriMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterBySubjectUriMapper.java
index 6aa0e16..71bd28e 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterBySubjectUriMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/filter/positional/TripleFilterBySubjectUriMapper.java
@@ -1,30 +1,30 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.filter.positional;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.RdfMapReduceConstants;
 
 /**
  * A triple filter which selects triples which have matching subjects

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingMapper.java
index e3d51e4..08649f5 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractNodeTupleGroupingMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
 import java.io.IOException;
 
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingMapper.java
index 84b14f8..763e836 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractQuadGroupingMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract mapper implementation which helps in grouping quads by assigning

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingMapper.java
index 4a12fd9..b859013 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/AbstractTripleGroupingMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract mapper implementation which helps in grouping triples by assigning

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapper.java
index caa350a..6b7f9a8 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByGraphMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which assists in grouping quads by graph by reassigning their keys

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapper.java
index 0cbc79a..d0b2e2c 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByObjectMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which assists in grouping quads by object by reassigning their keys

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapper.java
index 5e873fa..e597a50 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupByPredicateMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which assists in grouping quads by predicate by reassigning their keys

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapper.java
index 5f9e519..bef4f10 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/QuadGroupBySubjectMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which assists in grouping quads by subject by reassigning their keys

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapper.java
index d9e6ce5..b8b7e4c 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByObjectMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 /**
  * A mapper which assists in grouping triples by object by reassigning their

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapper.java
index 7b90660..cdd44d8 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupByPredicateMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 /**
  * A mapper which assists in grouping triples by predicate by reassigning their

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapper.java
index 08fdb94..5b28288 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/group/TripleGroupBySubjectMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.group;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 /**
  * A mapper which assists in grouping triples by subject by reassigning their

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesMapper.java
index 840d78c..1c90b3d 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitToNodesMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import java.io.IOException;
 
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesMapper.java
index 7dc85fd..5001419 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/AbstractNodeTupleSplitWithNodesMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
 import java.io.IOException;
 
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapper.java
index c62ffbe..1d6e7f1 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitToNodesMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which splits quads into their constituent nodes preserving the

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapper.java
index e399eaa..604842f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/QuadSplitWithNodesMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which splits quads into their constituent nodes using the quad as

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapper.java
index a04b333..4088c60 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitToNodesMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A mapper which splits triples into their constituent nodes

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapper.java
index ac0563d..1e60ebd 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/split/TripleSplitWithNodesMapper.java
@@ -1,26 +1,26 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.split;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * A mapper which splits triples into their constituent nodes

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/AbstractTriplesToQuadsMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/AbstractTriplesToQuadsMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/AbstractTriplesToQuadsMapper.java
index af6b9e5..4f74da9 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/AbstractTriplesToQuadsMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/AbstractTriplesToQuadsMapper.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * An abstract mapper which transforms triples into quads. Derived

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapper.java
index 048e669..7adcf0d 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/QuadsToTriplesMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
 
 import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapper.java
index f0eeb54..fe436b3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsBySubjectMapper.java
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
 
 /**
  * A mapper which converts triples into quads using the subjects of the triples

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapper.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapper.java b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapper.java
index 1c77f58..3bf490e 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapper.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/transform/TriplesToQuadsConstantGraphMapper.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.transform;
 
 import java.io.IOException;
-
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
+
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * A mapper which converts triples to quads where all triples are placed in the

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapReduceTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapReduceTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapReduceTests.java
index 32c40f7..6c12618 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapReduceTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapReduceTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce;
 
 import org.apache.hadoop.mapreduce.Mapper;

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapperTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapperTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapperTests.java
index ce6ab9d..8a1b8ba 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapperTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/AbstractMapperTests.java
@@ -1,69 +1,69 @@
-/*
- * 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.hadoop.rdf.mapreduce;
-
-import org.apache.hadoop.mapreduce.Mapper;
-import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-
-/**
- * Abstract tests for mappers
- * 
- * 
- * @param <TKeyIn>
- *            Input key type
- * @param <TValueIn>
- *            Input value type
- * @param <TKeyOut>
- *            Output key type
- * @param <TValueOut>
- *            Output value type
- * 
- */
-public abstract class AbstractMapperTests<TKeyIn, TValueIn, TKeyOut, TValueOut> {
-
-    /**
-     * Gets the mapper instance to test
-     * 
-     * @return Mapper instance
-     */
-    protected abstract Mapper<TKeyIn, TValueIn, TKeyOut, TValueOut> getInstance();
-
-    /**
-     * Gets a map driver that can be used to create a test case
-     * 
-     * @return Map driver
-     */
-    protected MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> getMapDriver() {
-        MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> driver = new MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut>(
-                this.getInstance());
-        this.configureDriver(driver);
-        return driver;
-    }
-
-    /**
-     * Method that may be overridden by test harnesses which need to configure
-     * the driver in more detail e.g. add configuration keys
-     * 
-     * @param driver
-     *            Driver
-     */
-    protected void configureDriver(MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> driver) {
-        // Does nothing
-    }
-}
+/*
+ * 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.hadoop.rdf.mapreduce;
+
+import org.apache.hadoop.mapreduce.Mapper;
+import org.apache.hadoop.mrunit.mapreduce.MapDriver;
+
+/**
+ * Abstract tests for mappers
+ * 
+ * 
+ * @param <TKeyIn>
+ *            Input key type
+ * @param <TValueIn>
+ *            Input value type
+ * @param <TKeyOut>
+ *            Output key type
+ * @param <TValueOut>
+ *            Output value type
+ * 
+ */
+public abstract class AbstractMapperTests<TKeyIn, TValueIn, TKeyOut, TValueOut> {
+
+    /**
+     * Gets the mapper instance to test
+     * 
+     * @return Mapper instance
+     */
+    protected abstract Mapper<TKeyIn, TValueIn, TKeyOut, TValueOut> getInstance();
+
+    /**
+     * Gets a map driver that can be used to create a test case
+     * 
+     * @return Map driver
+     */
+    protected MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> getMapDriver() {
+        MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> driver = new MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut>(
+                this.getInstance());
+        this.configureDriver(driver);
+        return driver;
+    }
+
+    /**
+     * Method that may be overridden by test harnesses which need to configure
+     * the driver in more detail e.g. add configuration keys
+     * 
+     * @param driver
+     *            Driver
+     */
+    protected void configureDriver(MapDriver<TKeyIn, TValueIn, TKeyOut, TValueOut> driver) {
+        // Does nothing
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducerTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducerTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducerTests.java
index 6f2c0e7..81c43f3 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducerTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/AbstractCharacteristicSetGeneratingReducerTests.java
@@ -1,35 +1,35 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
 import java.io.IOException;
-
+
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.AbstractCharacteristicSetGeneratingReducer;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.AbstractCharacteristicSetGeneratingReducer;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducerTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducerTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducerTest.java
index 47ae4fc..0a3f8b9 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducerTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/CharacteristicSetReducerTest.java
@@ -1,36 +1,36 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
 import java.io.IOException;
 import java.util.List;
-
+
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.Reducer;
 import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
 import org.apache.hadoop.mrunit.types.Pair;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.CharacteristicSetReducer;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.CharacteristicSetReducer;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.CharacteristicWritable;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -103,9 +103,9 @@ public class CharacteristicSetReducerTest
                 .getMapReduceDriver();
 
         this.createSet(driver, 2, 1, "http://predicate");
-        driver.runTest(false);
-        
-        driver = getMapReduceDriver();
+        driver.runTest(false);
+        
+        driver = getMapReduceDriver();
         createSet(driver, 2, 1, "http://predicate");
         List<Pair<CharacteristicSetWritable, NullWritable>> results = driver.run();
         CharacteristicSetWritable cw = results.get(0).getFirst();
@@ -140,10 +140,10 @@ public class CharacteristicSetReducerTest
 
         this.createSet(driver, 2, 1, "http://predicate");
         this.createSet(driver, 1, 1, "http://other");
-        driver.runTest(false);
+        driver.runTest(false);
         
-        driver = getMapReduceDriver();
-        createSet(driver, 2, 1, "http://predicate");
+        driver = getMapReduceDriver();
+        createSet(driver, 2, 1, "http://predicate");
         createSet(driver, 1, 1, "http://other");
         List<Pair<CharacteristicSetWritable, NullWritable>> results = driver.run();
         for (Pair<CharacteristicSetWritable, NullWritable> pair : results) {
@@ -181,10 +181,10 @@ public class CharacteristicSetReducerTest
 
         this.createSet(driver, 2, 1, "http://predicate", "http://other");
         this.createSet(driver, 1, 1, "http://other");
-        driver.runTest(false);
-        
+        driver.runTest(false);
+        
         driver = getMapReduceDriver();
-        createSet(driver, 2, 1, "http://predicate", "http://other");
+        createSet(driver, 2, 1, "http://predicate", "http://other");
         createSet(driver, 1, 1, "http://other");
         List<Pair<CharacteristicSetWritable, NullWritable>> results = driver.run();
         for (Pair<CharacteristicSetWritable, NullWritable> pair : results) {

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducerTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducerTest.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducerTest.java
index ea452b3..ba7739f 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducerTest.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/characteristics/TripleCharacteristicSetGeneratingReducerTest.java
@@ -1,35 +1,35 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.characteristics;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.Reducer;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.mapreduce.characteristics.TripleCharacteristicSetGeneratingReducer;
-import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
-import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.mapreduce.characteristics.TripleCharacteristicSetGeneratingReducer;
+import org.apache.jena.hadoop.rdf.mapreduce.group.TripleGroupBySubjectMapper;
+import org.apache.jena.hadoop.rdf.types.CharacteristicSetWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Tests for the {@link TripleCharacteristicSetGeneratingReducer}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountReducedTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountReducedTests.java b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountReducedTests.java
index ebdbcde..f992d0b 100644
--- a/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountReducedTests.java
+++ b/jena-elephas/jena-elephas-mapreduce/src/test/java/org/apache/jena/hadoop/rdf/mapreduce/count/AbstractNodeTupleNodeCountReducedTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.mapreduce.count;
 
 import java.io.IOException;
@@ -25,10 +25,10 @@ import java.util.Map.Entry;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
-import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
-import org.apache.jena.hadoop.rdf.mapreduce.count.AbstractNodeTupleNodeCountMapper;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.hadoop.rdf.types.NodeWritable;
+import org.apache.jena.hadoop.rdf.mapreduce.AbstractMapReduceTests;
+import org.apache.jena.hadoop.rdf.mapreduce.count.AbstractNodeTupleNodeCountMapper;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.hadoop.rdf.types.NodeWritable;
 import org.junit.Test;
 
 


[10/40] jena git commit: Fix line endings

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
index 6d1d02a..8d8e984 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
index 3823728..8d9c933 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractQuadsInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractQuadsInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
index 50b8bcf..da59dde 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.nquads;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
index ab92873..de014c7 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
index 24fb731..d8d4af7 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractTriplesInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractTriplesInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
index fcec570..560fc01 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.ntriples;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
index 4731832..ee27a23 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.rdfjson;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
index f8edcc4..cf4b362 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.rdfxml;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
index 8d79295..414395b 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.thrift;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.riot.RDFLanguages;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
index 6b5e0b7..7b968e3 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
@@ -1,29 +1,29 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.thrift;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFLanguages;
+import org.apache.jena.riot.RDFLanguages;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
index 1fad0dc..6179055 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.trig;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
index 4a3a66a..a816b28 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.trix;
 
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
index b59102c..b8a9462 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
@@ -1,35 +1,35 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.turtle;
 
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.apache.hadoop.conf.Configuration;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.mapreduce.InputFormat;
-import org.apache.jena.atlas.lib.StrUtils;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
 import org.junit.Test;
 
 
@@ -54,27 +54,27 @@ public class TurtleInputTest extends AbstractWholeFileTripleInputFormatTests {
     @Override
     protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
         return new TurtleInputFormat();
-    }
-    
-    @Test
-    public void turtle_with_prefixes_01() throws IOException, InterruptedException {
-        // Try to reproduce JENA-1075
-        
-        // Create test data
-        File f = new File("target/prefixes.ttl");
-        try (FileWriter writer = new FileWriter(f)) {
-            //@formatter:off
-            writer.write(StrUtils.strjoinNL("@prefix : <http://test/ns#> .",
-                                            ":s :p :o ."));
-            //@formatter:on
-            writer.close();
-        }
-        
-        Configuration config = this.prepareConfiguration();
-        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
-        this.testSingleInput(config, f, 1, 1);
-        
-        // Clean up
-        if (f.exists()) f.delete();
+    }
+    
+    @Test
+    public void turtle_with_prefixes_01() throws IOException, InterruptedException {
+        // Try to reproduce JENA-1075
+        
+        // Create test data
+        File f = new File("target/prefixes.ttl");
+        try (FileWriter writer = new FileWriter(f)) {
+            //@formatter:off
+            writer.write(StrUtils.strjoinNL("@prefix : <http://test/ns#> .",
+                                            ":s :p :o ."));
+            //@formatter:on
+            writer.close();
+        }
+        
+        Configuration config = this.prepareConfiguration();
+        config.setBoolean(RdfIOConstants.INPUT_IGNORE_BAD_TUPLES, false);
+        this.testSingleInput(config, f, 1, 1);
+        
+        // Clean up
+        if (f.exists()) f.delete();
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
index 9532d56..14c5e75 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
@@ -1,21 +1,21 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.ByteArrayInputStream;
@@ -23,7 +23,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
 import org.junit.Assert;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
index f8819bc..55aeefa 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
@@ -1,28 +1,28 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.jena.hadoop.rdf.io.input.util.BlockInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.BlockInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
 import org.junit.Assert;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
index f453aa5..33d3958 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.input.util;
 
 import java.io.InputStream;
-
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
+
+import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
+import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
 
 /**
  * Tests for the {@link TrackedInputStream}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
index b5ea2d8..b6cad7c 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
@@ -1,255 +1,255 @@
-/*
- * 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.hadoop.rdf.io.output;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocatedFileStatus;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.RemoteIterator;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.JobContext;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.TaskAttemptID;
-import org.apache.hadoop.mapreduce.TaskType;
-import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
-import org.apache.hadoop.mapreduce.task.JobContextImpl;
-import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.lang.StreamRDFCounting;
-import org.apache.jena.riot.system.StreamRDFLib;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract node tuple output format tests
- * 
- * 
- * @param <TValue>
- *            Tuple type
- * @param <T>
- *            Writable tuple type
- * 
- */
-public abstract class AbstractNodeTupleOutputFormatTests<TValue, T extends AbstractNodeTupleWritable<TValue>> {
-
-    @SuppressWarnings("unused")
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleOutputFormatTests.class);
-
-    protected static final int EMPTY_SIZE = 0, SMALL_SIZE = 100, LARGE_SIZE = 10000, VERY_LARGE_SIZE = 100000;
-
-    /**
-     * Temporary folder for the tests
-     */
-    @Rule
-    public TemporaryFolder folder = new TemporaryFolder();
-
-    /**
-     * Prepares a fresh configuration
-     * 
-     * @return Configuration
-     */
-    protected Configuration prepareConfiguration() {
-        Configuration config = new Configuration(true);
-        // Nothing else to do
-        return config;
-    }
-
-    /**
-     * Gets the extra file extension to add to the filenames
-     * 
-     * @return File extension
-     */
-    protected abstract String getFileExtension();
-
-    /**
-     * Generates tuples to be output for testing
-     * 
-     * @param num
-     *            Number of tuples to generate
-     * @return Iterator of tuples
-     */
-    protected abstract Iterator<T> generateTuples(int num);
-
-    /**
-     * Counts tuples in the output file
-     * 
-     * @param f
-     *            Output file
-     * @return Tuple count
-     */
-    protected final long countTuples(File f) {
-        StreamRDFCounting counter = StreamRDFLib.count();
-        RDFDataMgr.parse(counter, f.getAbsolutePath(), this.getRdfLanguage(), null);
-        return counter.count();
-    }
-
-    /**
-     * Checks that tuples are as expected
-     * 
-     * @param f
-     *            File
-     * @param expected
-     *            Expected number of tuples
-     */
-    protected void checkTuples(File f, long expected) {
-        Assert.assertEquals(expected, this.countTuples(f));
-    }
-
-    /**
-     * Gets the RDF language of the produced output which is used to parse back
-     * in the output to validate the correct amount of output was produced
-     * 
-     * @return RDF language
-     */
-    protected abstract Lang getRdfLanguage();
-
-    /**
-     * Gets the output format to test
-     * 
-     * @return Output format
-     */
-    protected abstract OutputFormat<NullWritable, T> getOutputFormat();
-
-    /**
-     * Adds an output path to the job configuration
-     * 
-     * @param f
-     *            File
-     * @param config
-     *            Configuration
-     * @param job
-     *            Job
-     * @throws IOException
-     */
-    protected void addOutputPath(File f, Configuration config, Job job) throws IOException {
-        FileSystem fs = FileSystem.getLocal(config);
-        Path outputPath = fs.makeQualified(new Path(f.getAbsolutePath()));
-        FileOutputFormat.setOutputPath(job, outputPath);
-    }
-
-    protected File findOutputFile(File dir, JobContext context) throws FileNotFoundException, IOException {
-        Path outputPath = FileOutputFormat.getOutputPath(context);
-        RemoteIterator<LocatedFileStatus> files = outputPath.getFileSystem(context.getConfiguration()).listFiles(
-                outputPath, true);
-        while (files.hasNext()) {
-            LocatedFileStatus status = files.next();
-            if (status.isFile() && !status.getPath().getName().startsWith("_")) {
-                return new File(status.getPath().toUri());
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Tests output
-     * 
-     * @param f
-     *            File to output to
-     * @param num
-     *            Number of tuples to output
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    protected final void testOutput(File f, int num) throws IOException, InterruptedException {
-        // Prepare configuration
-        Configuration config = this.prepareConfiguration();
-
-        // Set up fake job
-        OutputFormat<NullWritable, T> outputFormat = this.getOutputFormat();
-        Job job = Job.getInstance(config);
-        job.setOutputFormatClass(outputFormat.getClass());
-        this.addOutputPath(f, job.getConfiguration(), job);
-        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
-        Assert.assertNotNull(FileOutputFormat.getOutputPath(context));
-
-        // Output the data
-        TaskAttemptID id = new TaskAttemptID("outputTest", 1, TaskType.MAP, 1, 1);
-        TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), id);
-        RecordWriter<NullWritable, T> writer = outputFormat.getRecordWriter(taskContext);
-        Iterator<T> tuples = this.generateTuples(num);
-        while (tuples.hasNext()) {
-            writer.write(NullWritable.get(), tuples.next());
-        }
-        writer.close(taskContext);
-
-        // Check output
-        File outputFile = this.findOutputFile(this.folder.getRoot(), context);
-        Assert.assertNotNull(outputFile);
-        this.checkTuples(outputFile, num);
-    }
-
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public void output_01() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), EMPTY_SIZE);
-    }
-
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public void output_02() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), SMALL_SIZE);
-    }
-
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public void output_03() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), LARGE_SIZE);
-    }
-
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    @Test
-    public void output_04() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), VERY_LARGE_SIZE);
-    }
-}
+/*
+ * 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.hadoop.rdf.io.output;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Iterator;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.LocatedFileStatus;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.RemoteIterator;
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.Job;
+import org.apache.hadoop.mapreduce.JobContext;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.TaskAttemptID;
+import org.apache.hadoop.mapreduce.TaskType;
+import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
+import org.apache.hadoop.mapreduce.task.JobContextImpl;
+import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl;
+import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.lang.StreamRDFCounting;
+import org.apache.jena.riot.system.StreamRDFLib;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract node tuple output format tests
+ * 
+ * 
+ * @param <TValue>
+ *            Tuple type
+ * @param <T>
+ *            Writable tuple type
+ * 
+ */
+public abstract class AbstractNodeTupleOutputFormatTests<TValue, T extends AbstractNodeTupleWritable<TValue>> {
+
+    @SuppressWarnings("unused")
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractNodeTupleOutputFormatTests.class);
+
+    protected static final int EMPTY_SIZE = 0, SMALL_SIZE = 100, LARGE_SIZE = 10000, VERY_LARGE_SIZE = 100000;
+
+    /**
+     * Temporary folder for the tests
+     */
+    @Rule
+    public TemporaryFolder folder = new TemporaryFolder();
+
+    /**
+     * Prepares a fresh configuration
+     * 
+     * @return Configuration
+     */
+    protected Configuration prepareConfiguration() {
+        Configuration config = new Configuration(true);
+        // Nothing else to do
+        return config;
+    }
+
+    /**
+     * Gets the extra file extension to add to the filenames
+     * 
+     * @return File extension
+     */
+    protected abstract String getFileExtension();
+
+    /**
+     * Generates tuples to be output for testing
+     * 
+     * @param num
+     *            Number of tuples to generate
+     * @return Iterator of tuples
+     */
+    protected abstract Iterator<T> generateTuples(int num);
+
+    /**
+     * Counts tuples in the output file
+     * 
+     * @param f
+     *            Output file
+     * @return Tuple count
+     */
+    protected final long countTuples(File f) {
+        StreamRDFCounting counter = StreamRDFLib.count();
+        RDFDataMgr.parse(counter, f.getAbsolutePath(), this.getRdfLanguage(), null);
+        return counter.count();
+    }
+
+    /**
+     * Checks that tuples are as expected
+     * 
+     * @param f
+     *            File
+     * @param expected
+     *            Expected number of tuples
+     */
+    protected void checkTuples(File f, long expected) {
+        Assert.assertEquals(expected, this.countTuples(f));
+    }
+
+    /**
+     * Gets the RDF language of the produced output which is used to parse back
+     * in the output to validate the correct amount of output was produced
+     * 
+     * @return RDF language
+     */
+    protected abstract Lang getRdfLanguage();
+
+    /**
+     * Gets the output format to test
+     * 
+     * @return Output format
+     */
+    protected abstract OutputFormat<NullWritable, T> getOutputFormat();
+
+    /**
+     * Adds an output path to the job configuration
+     * 
+     * @param f
+     *            File
+     * @param config
+     *            Configuration
+     * @param job
+     *            Job
+     * @throws IOException
+     */
+    protected void addOutputPath(File f, Configuration config, Job job) throws IOException {
+        FileSystem fs = FileSystem.getLocal(config);
+        Path outputPath = fs.makeQualified(new Path(f.getAbsolutePath()));
+        FileOutputFormat.setOutputPath(job, outputPath);
+    }
+
+    protected File findOutputFile(File dir, JobContext context) throws FileNotFoundException, IOException {
+        Path outputPath = FileOutputFormat.getOutputPath(context);
+        RemoteIterator<LocatedFileStatus> files = outputPath.getFileSystem(context.getConfiguration()).listFiles(
+                outputPath, true);
+        while (files.hasNext()) {
+            LocatedFileStatus status = files.next();
+            if (status.isFile() && !status.getPath().getName().startsWith("_")) {
+                return new File(status.getPath().toUri());
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Tests output
+     * 
+     * @param f
+     *            File to output to
+     * @param num
+     *            Number of tuples to output
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    protected final void testOutput(File f, int num) throws IOException, InterruptedException {
+        // Prepare configuration
+        Configuration config = this.prepareConfiguration();
+
+        // Set up fake job
+        OutputFormat<NullWritable, T> outputFormat = this.getOutputFormat();
+        Job job = Job.getInstance(config);
+        job.setOutputFormatClass(outputFormat.getClass());
+        this.addOutputPath(f, job.getConfiguration(), job);
+        JobContext context = new JobContextImpl(job.getConfiguration(), job.getJobID());
+        Assert.assertNotNull(FileOutputFormat.getOutputPath(context));
+
+        // Output the data
+        TaskAttemptID id = new TaskAttemptID("outputTest", 1, TaskType.MAP, 1, 1);
+        TaskAttemptContext taskContext = new TaskAttemptContextImpl(job.getConfiguration(), id);
+        RecordWriter<NullWritable, T> writer = outputFormat.getRecordWriter(taskContext);
+        Iterator<T> tuples = this.generateTuples(num);
+        while (tuples.hasNext()) {
+            writer.write(NullWritable.get(), tuples.next());
+        }
+        writer.close(taskContext);
+
+        // Check output
+        File outputFile = this.findOutputFile(this.folder.getRoot(), context);
+        Assert.assertNotNull(outputFile);
+        this.checkTuples(outputFile, num);
+    }
+
+    /**
+     * Basic output tests
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public void output_01() throws IOException, InterruptedException {
+        this.testOutput(this.folder.getRoot(), EMPTY_SIZE);
+    }
+
+    /**
+     * Basic output tests
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public void output_02() throws IOException, InterruptedException {
+        this.testOutput(this.folder.getRoot(), SMALL_SIZE);
+    }
+
+    /**
+     * Basic output tests
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public void output_03() throws IOException, InterruptedException {
+        this.testOutput(this.folder.getRoot(), LARGE_SIZE);
+    }
+
+    /**
+     * Basic output tests
+     * 
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    @Test
+    public void output_04() throws IOException, InterruptedException {
+        this.testOutput(this.folder.getRoot(), VERY_LARGE_SIZE);
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
index 127f4f9..c59b3ca 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.sparql.core.Quad ;
+
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.sparql.core.Quad ;
 
 /**
  * Abstract tests for quad output formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
index 86ba4f8..4353b50 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
@@ -1,31 +1,31 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 
 /**
  * Abstract tests for triple output formats

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdQuadOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdQuadOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdQuadOutputTest.java
index c6784a5..9063725 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdQuadOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdQuadOutputTest.java
@@ -1,47 +1,47 @@
-/*
- * 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.hadoop.rdf.io.output.jsonld;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-
-/**
- * Tests for JSON-LD output format
- */
-public class JsonLdQuadOutputTest extends AbstractQuadOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".jsonld";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.JSONLD;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new JsonLDQuadOutputFormat<NullWritable>();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.jsonld;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+/**
+ * Tests for JSON-LD output format
+ */
+public class JsonLdQuadOutputTest extends AbstractQuadOutputFormatTests {
+
+    @Override
+    protected String getFileExtension() {
+        return ".jsonld";
+    }
+
+    @Override
+    protected Lang getRdfLanguage() {
+        return Lang.JSONLD;
+    }
+
+    @Override
+    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
+        return new JsonLDQuadOutputFormat<NullWritable>();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdTripleOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdTripleOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdTripleOutputTest.java
index d157409..588b353 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdTripleOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/jsonld/JsonLdTripleOutputTest.java
@@ -1,47 +1,47 @@
-/*
- * 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.hadoop.rdf.io.output.jsonld;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-
-/**
- * Tests for JSON-LD output format
- */
-public class JsonLdTripleOutputTest extends AbstractTripleOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".jsonld";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.JSONLD;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new JsonLDTripleOutputFormat<NullWritable>();
-    }
-
-}
+/*
+ * 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.hadoop.rdf.io.output.jsonld;
+
+import org.apache.hadoop.io.NullWritable;
+import org.apache.hadoop.mapreduce.OutputFormat;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+/**
+ * Tests for JSON-LD output format
+ */
+public class JsonLdTripleOutputTest extends AbstractTripleOutputFormatTests {
+
+    @Override
+    protected String getFileExtension() {
+        return ".jsonld";
+    }
+
+    @Override
+    protected Lang getRdfLanguage() {
+        return Lang.JSONLD;
+    }
+
+    @Override
+    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
+        return new JsonLDTripleOutputFormat<NullWritable>();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputTest.java
index 1a7ffa4..e647c2c 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/nquads/NQuadsOutputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.nquads;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.hadoop.rdf.io.output.AbstractQuadOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputTest.java
index ad9be56..fef78b4 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/ntriples/NTriplesOutputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.ntriples;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputTest.java b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputTest.java
index 833f89b..dcfe236 100644
--- a/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputTest.java
+++ b/jena-elephas/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/rdfjson/RdfJsonOutputTest.java
@@ -1,27 +1,27 @@
-/*
- * 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.
- */
-
+/*
+ * 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.hadoop.rdf.io.output.rdfjson;
 
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.hadoop.rdf.io.output.AbstractTripleOutputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
 import org.apache.jena.riot.Lang;
 
 


[27/40] jena git commit: Fix line endings

Posted by an...@apache.org.
Fix line endings


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

Branch: refs/heads/master
Commit: d6ae87fdb5be2a6252a3e53e3e6a62b41f8850cd
Parents: ae5ddd9
Author: Andy Seaborne <an...@apache.org>
Authored: Sat May 14 17:47:52 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 14 17:47:52 2016 +0100

----------------------------------------------------------------------
 .../constructquads/ExampleConstructQuads.java   |  382 +-
 .../jena/query/ParameterizedSparqlString.java   | 3420 ++++++++--------
 .../java/org/apache/jena/riot/lang/LangCSV.java |  304 +-
 .../apache/jena/riot/lang/PipedQuadsStream.java |  106 +-
 .../apache/jena/riot/lang/PipedRDFIterator.java |  784 ++--
 .../apache/jena/riot/lang/PipedRDFStream.java   |  140 +-
 .../jena/riot/lang/PipedTriplesStream.java      |  106 +-
 .../jena/riot/lang/PipedTuplesStream.java       |  110 +-
 .../jena/riot/out/SinkQuadBracedOutput.java     |  274 +-
 .../sparql/engine/index/HashIndexTable.java     |  436 +-
 .../jena/sparql/engine/index/IndexFactory.java  |   90 +-
 .../jena/sparql/engine/index/IndexTable.java    |   64 +-
 .../jena/sparql/engine/index/LinearIndex.java   |  224 +-
 .../apache/jena/sparql/modify/UpdateEngine.java |   86 +-
 .../jena/sparql/modify/UpdateRequestSink.java   |  150 +-
 .../apache/jena/sparql/modify/UpdateSink.java   |   80 +-
 .../jena/sparql/modify/UpdateVisitorSink.java   |  136 +-
 .../apache/jena/sparql/modify/UsingList.java    |   88 +-
 .../jena/sparql/modify/UsingUpdateSink.java     |  186 +-
 .../sparql/modify/request/UpdateDataWriter.java |  114 +-
 .../apache/jena/web/DatasetGraphAccessor.java   |   52 +-
 .../jena/web/DatasetGraphAccessorBasic.java     |   76 +-
 .../org/apache/jena/query/TS_ParamString.java   |   62 +-
 .../query/TestParameterizedSparqlString.java    | 3762 +++++++++---------
 .../org/apache/jena/riot/TestRiotReader.java    |  170 +-
 .../sparql/engine/index/TestIndexTable.java     |  410 +-
 .../web/AbstractTestDatasetGraphAccessor.java   |  252 +-
 .../jena/web/TestDatasetGraphAccessorMem.java   |   24 +-
 .../Construct/results-construct-quad-data-2.ttl |    2 +-
 .../results-construct-quad-dataset.trig         |    6 +-
 .../results-construct-quad-default-graph.ttl    |    6 +-
 .../results-construct-quad-named-graph.trig     |    4 +-
 .../results-construct-quad-short-form-1.trig    |    4 +-
 .../results-construct-quad-short-form-2.ttl     |    2 +-
 .../results-construct-quad-short-form-3.trig    |    6 +-
 .../results-construct-quad-syntax-1.trig        |    2 +-
 .../results-construct-quad-syntax-3.ttl         |    2 +-
 .../results-construct-quad-syntax-4.trig        |   10 +-
 .../results-construct-quad-syntax-5.trig        |   10 +-
 .../results-construct-quad-syntax-6.trig        |   10 +-
 .../results-construct-quad-syntax-7.ttl         |    2 +-
 .../testing/DAWG-Final/sort/.manifest.ttl.swp   |  Bin 20480 -> 0 bytes
 .../TrigStd/literal_with_CARRIAGE_RETURN.trig   |    2 +-
 .../java/org/apache/jena/vocabulary/SKOS.java   |  192 +-
 .../java/org/apache/jena/vocabulary/SKOSXL.java |  124 +-
 .../org/apache/jena/propertytable/Column.java   |   90 +-
 .../jena/propertytable/PropertyTable.java       |  252 +-
 .../java/org/apache/jena/propertytable/Row.java |  150 +-
 .../jena/propertytable/graph/GraphCSV.java      |  124 +-
 .../propertytable/graph/GraphPropertyTable.java |  400 +-
 .../graph/QueryIterPropertyTable.java           |  228 +-
 .../graph/QueryIterPropertyTableRow.java        |  486 +--
 .../jena/propertytable/graph/RowMatch.java      |   96 +-
 .../graph/StageGeneratorPropertyTable.java      |  114 +-
 .../jena/propertytable/impl/ColumnImpl.java     |  114 +-
 .../impl/PropertyTableArrayImpl.java            |  690 ++--
 .../impl/PropertyTableBuilder.java              |  270 +-
 .../impl/PropertyTableHashMapImpl.java          |  704 ++--
 .../apache/jena/propertytable/lang/LangCSV.java |  308 +-
 jena-csv/src/main/java/riotcmdx/csv2rdf.java    |  104 +-
 .../jena/propertytable/AbstractColumnTest.java  |  158 +-
 .../AbstractPropertyTableTest.java              |  112 +-
 .../jena/propertytable/AbstractRowTest.java     |  210 +-
 .../org/apache/jena/propertytable/BaseTest.java |   94 +-
 .../jena/propertytable/TS_PropertyTable.java    |   84 +-
 .../jena/propertytable/graph/GraphCSVTest.java  |  308 +-
 .../impl/AbstractPropertyTableBuilderTest.java  |  276 +-
 .../impl/PropertyTableArrayImplTest.java        |  168 +-
 .../PropertyTableBuilderForArrayImplTest.java   |   78 +-
 .../PropertyTableBuilderForHashMapImplTest.java |   68 +-
 .../impl/PropertyTableHashMapImplTest.java      |   92 +-
 .../rdf/types/AbstractNodeTupleWritable.java    |  388 +-
 .../rdf/types/CharacteristicSetWritable.java    |   42 +-
 .../rdf/types/CharacteristicWritable.java       |   40 +-
 .../hadoop/rdf/types/NodeTupleWritable.java     |   52 +-
 .../jena/hadoop/rdf/types/NodeWritable.java     |  376 +-
 .../jena/hadoop/rdf/types/QuadWritable.java     |  270 +-
 .../jena/hadoop/rdf/types/TripleWritable.java   |  274 +-
 .../comparators/SimpleBinaryComparator.java     |   68 +-
 .../rdf/io/types/CharacteristicTests.java       |   46 +-
 .../jena/hadoop/rdf/io/types/RdfTypesTest.java  |  802 ++--
 .../jena/hadoop/rdf/io/HadoopIOConstants.java   |   36 +-
 .../jena/hadoop/rdf/io/RdfIOConstants.java      |  162 +-
 .../io/input/AbstractNLineFileInputFormat.java  |   60 +-
 .../io/input/AbstractWholeFileInputFormat.java  |   36 +-
 .../hadoop/rdf/io/input/QuadsInputFormat.java   |   40 +-
 .../hadoop/rdf/io/input/TriplesInputFormat.java |   78 +-
 .../rdf/io/input/TriplesOrQuadsInputFormat.java |   40 +-
 .../input/nquads/BlockedNQuadsInputFormat.java  |   42 +-
 .../rdf/io/input/nquads/NQuadsInputFormat.java  |   44 +-
 .../nquads/WholeFileNQuadsInputFormat.java      |   42 +-
 .../ntriples/BlockedNTriplesInputFormat.java    |   42 +-
 .../io/input/ntriples/NTriplesInputFormat.java  |   44 +-
 .../ntriples/WholeFileNTriplesInputFormat.java  |   42 +-
 .../io/input/rdfjson/RdfJsonInputFormat.java    |   42 +-
 .../rdf/io/input/rdfxml/RdfXmlInputFormat.java  |   42 +-
 .../AbstractBlockBasedNodeTupleReader.java      |  688 ++--
 .../readers/AbstractBlockBasedQuadReader.java   |   46 +-
 .../readers/AbstractBlockBasedTripleReader.java |   46 +-
 .../AbstractLineBasedNodeTupleReader.java       |  528 +--
 .../readers/AbstractLineBasedQuadReader.java    |   42 +-
 .../readers/AbstractLineBasedTripleReader.java  |   42 +-
 .../rdf/io/input/readers/AbstractRdfReader.java |  216 +-
 .../AbstractWholeFileNodeTupleReader.java       |  656 +--
 .../readers/AbstractWholeFileQuadReader.java    |   46 +-
 .../readers/AbstractWholeFileTripleReader.java  |   46 +-
 .../rdf/io/input/readers/QuadsReader.java       |   96 +-
 .../io/input/readers/TriplesOrQuadsReader.java  |  142 +-
 .../rdf/io/input/readers/TriplesReader.java     |   96 +-
 .../io/input/readers/TriplesToQuadsReader.java  |   46 +-
 .../readers/nquads/BlockedNQuadsReader.java     |   38 +-
 .../io/input/readers/nquads/NQuadsReader.java   |   42 +-
 .../readers/nquads/WholeFileNQuadsReader.java   |   38 +-
 .../readers/ntriples/BlockedNTriplesReader.java |   38 +-
 .../input/readers/ntriples/NTriplesReader.java  |   42 +-
 .../ntriples/WholeFileNTriplesReader.java       |   38 +-
 .../io/input/readers/rdfjson/RdfJsonReader.java |   38 +-
 .../io/input/readers/rdfxml/RdfXmlReader.java   |   38 +-
 .../rdf/io/input/readers/trig/TriGReader.java   |   38 +-
 .../rdf/io/input/readers/trix/TriXReader.java   |   38 +-
 .../io/input/readers/turtle/TurtleReader.java   |   38 +-
 .../rdf/io/input/trig/TriGInputFormat.java      |   42 +-
 .../rdf/io/input/trix/TriXInputFormat.java      |   78 +-
 .../rdf/io/input/turtle/TurtleInputFormat.java  |   42 +-
 .../rdf/io/input/util/BlockInputStream.java     |   36 +-
 .../hadoop/rdf/io/input/util/RdfIOUtils.java    |  194 +-
 .../rdf/io/input/util/TrackableInputStream.java |   36 +-
 .../rdf/io/input/util/TrackedInputStream.java   |   36 +-
 .../io/input/util/TrackedPipedQuadsStream.java  |   40 +-
 .../io/input/util/TrackedPipedRDFStream.java    |   36 +-
 .../input/util/TrackedPipedTriplesStream.java   |   40 +-
 .../AbstractBatchedNodeTupleOutputFormat.java   |   44 +-
 .../rdf/io/output/AbstractNodeOutputFormat.java |   38 +-
 .../output/AbstractNodeTupleOutputFormat.java   |  218 +-
 .../io/output/nquads/NQuadsOutputFormat.java    |   48 +-
 .../ntriples/NTriplesNodeOutputFormat.java      |   42 +-
 .../output/ntriples/NTriplesOutputFormat.java   |   48 +-
 .../io/output/rdfjson/RdfJsonOutputFormat.java  |   48 +-
 .../io/output/rdfxml/RdfXmlOutputFormat.java    |   48 +-
 .../io/output/trig/BatchedTriGOutputFormat.java |  106 +-
 .../turtle/BatchedTurtleOutputFormat.java       |   98 +-
 .../io/output/turtle/TurtleOutputFormat.java    |  110 +-
 .../writers/AbstractBatchedNodeTupleWriter.java |   38 +-
 .../writers/AbstractBatchedQuadWriter.java      |   48 +-
 .../writers/AbstractBatchedTripleWriter.java    |   46 +-
 .../AbstractLineBasedNodeTupleWriter.java       |   42 +-
 .../writers/AbstractLineBasedQuadWriter.java    |   44 +-
 .../writers/AbstractLineBasedTripleWriter.java  |  134 +-
 .../io/output/writers/AbstractNodeWriter.java   |  384 +-
 .../AbstractWholeFileNodeTupleWriter.java       |   38 +-
 .../writers/AbstractWholeFileQuadWriter.java    |   46 +-
 .../writers/AbstractWholeFileTripleWriter.java  |   46 +-
 .../io/output/writers/nquads/NQuadsWriter.java  |   44 +-
 .../writers/ntriples/NTriplesNodeWriter.java    |   44 +-
 .../output/writers/ntriples/NTriplesWriter.java |   44 +-
 .../output/writers/rdfjson/RdfJsonWriter.java   |   38 +-
 .../io/output/writers/rdfxml/RdfXmlWriter.java  |   38 +-
 .../output/writers/trig/BatchedTriGWriter.java  |  104 +-
 .../writers/turtle/BatchedTurtleWriter.java     |  108 +-
 .../rdf/io/RdfTriplesInputTestMapper.java       |   38 +-
 .../AbstractBlockedQuadInputFormatTests.java    |   36 +-
 .../AbstractBlockedTripleInputFormatTests.java  |   36 +-
 .../AbstractNodeTupleInputFormatTests.java      | 1220 +++---
 .../io/input/AbstractQuadsInputFormatTests.java |   48 +-
 .../input/AbstractTriplesInputFormatTests.java  |   52 +-
 .../AbstractWholeFileQuadInputFormatTests.java  |   66 +-
 ...AbstractWholeFileTripleInputFormatTests.java |   66 +-
 ...ractCompressedNodeTupleInputFormatTests.java |   48 +-
 ...AbstractCompressedQuadsInputFormatTests.java |   48 +-
 ...stractCompressedTriplesInputFormatTests.java |   48 +-
 ...CompressedWholeFileQuadInputFormatTests.java |   70 +-
 ...mpressedWholeFileTripleInputFormatTests.java |  286 +-
 ...actCompressedJsonLDQuadInputFormatTests.java |   74 +-
 ...tCompressedJsonLDTripleInputFormatTests.java |   74 +-
 .../jsonld/BZippedJsonLDQuadInputTest.java      |   68 +-
 .../jsonld/BZippedJsonLDTripleInputTest.java    |   68 +-
 .../jsonld/DeflatedJsonLDQuadInputTest.java     |   36 +-
 .../jsonld/DeflatedJsonLDTripleInputTest.java   |   36 +-
 .../jsonld/GZippedJsonLDQuadInputTest.java      |   36 +-
 .../jsonld/GZippedJsonLDTripleInputTest.java    |   36 +-
 ...bstractCompressedNQuadsInputFormatTests.java |   42 +-
 ...mpressedWholeFileNQuadsInputFormatTests.java |   42 +-
 .../nquads/BZipppedNQuadsInputTest.java         |   36 +-
 .../BZipppedWholeFileNQuadsInputTest.java       |   36 +-
 .../nquads/DeflatedNQuadsInputTest.java         |   36 +-
 .../DeflatedWholeFileNQuadsInputTest.java       |   36 +-
 .../nquads/GZippedNQuadsInputTest.java          |   36 +-
 .../nquads/GZippedWholeFileNQuadsInputTest.java |   36 +-
 ...mpressedBlockedNTriplesInputFormatTests.java |   40 +-
 ...tractCompressedNTriplesInputFormatTests.java |   42 +-
 ...ressedWholeFileNTriplesInputFormatTests.java |   42 +-
 .../ntriples/BZippedBlockedNTriplesInput.java   |   36 +-
 .../ntriples/BZippedNTriplesInputTest.java      |   36 +-
 .../BZippedWholeFileNTriplesInputTest.java      |   36 +-
 .../ntriples/DeflatedBlockedNTriplesInput.java  |   36 +-
 .../ntriples/DeflatedNTriplesInputTest.java     |   36 +-
 .../DeflatedWholeFileNTriplesInputTest.java     |   36 +-
 .../ntriples/GZippedBlockedNTriplesInput.java   |   36 +-
 .../ntriples/GZippedNTriplesInputTest.java      |   36 +-
 .../GZippedWholeFileNTriplesInputTest.java      |   36 +-
 ...stractCompressedRdfJsonInputFormatTests.java |   42 +-
 .../rdfjson/BZippedRdfJsonInputTest.java        |   36 +-
 .../rdfjson/DeflatedRdfJsonInputTest.java       |   36 +-
 .../rdfjson/GZippedRdfJsonInputTest.java        |   36 +-
 ...bstractCompressedRdfXmlInputFormatTests.java |   42 +-
 .../rdfxml/BZippedRdfXmlInputTest.java          |   36 +-
 .../rdfxml/DeflatedRdfXmlInputTest.java         |   36 +-
 .../rdfxml/GZippedRdfXmlInputTest.java          |   36 +-
 ...actCompressedThriftQuadInputFormatTests.java |  142 +-
 ...tCompressedThriftTripleInputFormatTests.java |  142 +-
 .../thrift/BZippedThriftQuadInputTest.java      |   68 +-
 .../thrift/BZippedThriftTripleInputTest.java    |   68 +-
 .../thrift/DeflatedThriftQuadInputTest.java     |   36 +-
 .../thrift/DeflatedThriftTripleInputTest.java   |   36 +-
 .../thrift/GZippedThriftQuadInputTest.java      |   36 +-
 .../thrift/GZippedThriftTripleInputTest.java    |   36 +-
 .../AbstractCompressedTriGInputFormatTests.java |   42 +-
 .../compressed/trig/BZippedTriGInputTest.java   |   36 +-
 .../compressed/trig/DeflatedTriGInputTest.java  |   36 +-
 .../compressed/trig/GZippedTriGInputTest.java   |   36 +-
 .../AbstractCompressedTriXInputFormatTests.java |   42 +-
 .../compressed/trix/BZippedTriXInputTest.java   |   38 +-
 .../compressed/trix/DeflatedTriXInputTest.java  |   70 +-
 .../compressed/trix/GZippedTriXInputTest.java   |   38 +-
 ...bstractCompressedTurtleInputFormatTests.java |   42 +-
 .../turtle/BZippedTurtleInputTest.java          |   36 +-
 .../turtle/DeflatedTurtleInputTest.java         |   36 +-
 .../turtle/GZippedTurtleInputTest.java          |   36 +-
 .../io/input/jsonld/JsonLDQuadInputTest.java    |   72 +-
 .../io/input/jsonld/JsonLDTripleInputTest.java  |   78 +-
 .../io/input/nquads/BlockedNQuadsInputTest.java |   40 +-
 .../rdf/io/input/nquads/NQuadsInputTest.java    |   40 +-
 .../input/nquads/WholeFileNQuadsInputTest.java  |   40 +-
 .../ntriples/BlockedNTriplesInputTest.java      |   40 +-
 .../io/input/ntriples/NTriplesInputTest.java    |   40 +-
 .../ntriples/WholeFileNTriplesInputTest.java    |   40 +-
 .../rdf/io/input/rdfjson/RdfJsonInputTest.java  |   40 +-
 .../rdf/io/input/rdfxml/RdfXmlInputTest.java    |   40 +-
 .../io/input/thrift/ThriftQuadInputTest.java    |   42 +-
 .../io/input/thrift/ThriftTripleInputTest.java  |   42 +-
 .../hadoop/rdf/io/input/trig/TriGInputTest.java |   40 +-
 .../hadoop/rdf/io/input/trix/TriXInputTest.java |   40 +-
 .../rdf/io/input/turtle/TurtleInputTest.java    |  102 +-
 .../util/AbstractTrackableInputStreamTests.java |   38 +-
 .../rdf/io/input/util/BlockInputStreamTest.java |   40 +-
 .../io/input/util/TrackedInputStreamTest.java   |   42 +-
 .../AbstractNodeTupleOutputFormatTests.java     |  510 +--
 .../output/AbstractQuadOutputFormatTests.java   |   46 +-
 .../output/AbstractTripleOutputFormatTests.java |   46 +-
 .../io/output/jsonld/JsonLdQuadOutputTest.java  |   94 +-
 .../output/jsonld/JsonLdTripleOutputTest.java   |   94 +-
 .../rdf/io/output/nquads/NQuadsOutputTest.java  |   40 +-
 .../io/output/ntriples/NTriplesOutputTest.java  |   40 +-
 .../io/output/rdfjson/RdfJsonOutputTest.java    |   40 +-
 .../rdf/io/output/rdfxml/RdfXmlOutputTest.java  |   40 +-
 .../io/output/thrift/ThriftQuadOutputTest.java  |   96 +-
 .../output/thrift/ThriftTripleOutputTest.java   |   96 +-
 .../io/output/trig/BatchedTriGOutputTest.java   |   42 +-
 .../io/output/trig/StreamedTriGOutputTest.java  |   42 +-
 .../output/trig/TriGBlankNodeOutputTests.java   |  238 +-
 .../rdf/io/output/trix/TriXOutputTest.java      |   94 +-
 .../output/turtle/BatchedTurtleOutputTest.java  |   42 +-
 .../output/turtle/StreamedTurtleOutputTest.java |   42 +-
 .../turtle/TurtleBlankNodeOutputTests.java      |  234 +-
 .../jena/hadoop/rdf/mapreduce/KeyMapper.java    |   36 +-
 .../hadoop/rdf/mapreduce/KeyPlusNullMapper.java |   40 +-
 .../hadoop/rdf/mapreduce/NullPlusKeyMapper.java |   40 +-
 .../rdf/mapreduce/NullPlusValueMapper.java      |   40 +-
 .../rdf/mapreduce/RdfMapReduceConstants.java    |   36 +-
 .../jena/hadoop/rdf/mapreduce/SwapMapper.java   |   38 +-
 .../hadoop/rdf/mapreduce/TextCountReducer.java  |   36 +-
 .../jena/hadoop/rdf/mapreduce/ValueMapper.java  |   36 +-
 .../rdf/mapreduce/ValuePlusNullMapper.java      |   38 +-
 ...tractCharacteristicSetGeneratingReducer.java |   44 +-
 .../CharacteristicSetReducer.java               |   38 +-
 .../QuadCharacteristicSetGeneratingReducer.java |   42 +-
 ...ripleCharacteristicSetGeneratingReducer.java |   42 +-
 .../count/AbstractNodeTupleNodeCountMapper.java |   40 +-
 .../rdf/mapreduce/count/NodeCountReducer.java   |   38 +-
 .../mapreduce/count/QuadNodeCountMapper.java    |   42 +-
 .../mapreduce/count/TripleNodeCountMapper.java  |   42 +-
 .../datatypes/QuadDataTypeCountMapper.java      |   48 +-
 .../datatypes/TripleDataTypeCountMapper.java    |   48 +-
 .../AbstractNodeTupleNamespaceCountMapper.java  |   46 +-
 .../namespaces/QuadNamespaceCountMapper.java    |   44 +-
 .../namespaces/TripleNamespaceCountMapper.java  |   44 +-
 .../count/positional/QuadGraphCountMapper.java  |   84 +-
 .../count/positional/QuadObjectCountMapper.java |   46 +-
 .../positional/QuadPredicateCountMapper.java    |   46 +-
 .../positional/QuadSubjectCountMapper.java      |   46 +-
 .../positional/TripleObjectCountMapper.java     |   46 +-
 .../positional/TriplePredicateCountMapper.java  |   46 +-
 .../positional/TripleSubjectCountMapper.java    |   46 +-
 .../filter/AbstractNodeTupleFilterMapper.java   |   42 +-
 .../filter/AbstractQuadFilterMapper.java        |   40 +-
 .../filter/AbstractTripleFilterMapper.java      |   40 +-
 .../filter/GroundQuadFilterMapper.java          |   40 +-
 .../filter/GroundTripleFilterMapper.java        |   40 +-
 .../mapreduce/filter/ValidQuadFilterMapper.java |   40 +-
 .../filter/ValidTripleFilterMapper.java         |   40 +-
 .../AbstractQuadFilterByPositionMapper.java     |   44 +-
 .../AbstractTripleFilterByPositionMapper.java   |   44 +-
 .../positional/QuadFilterByGraphUriMapper.java  |   44 +-
 .../positional/QuadFilterByObjectUriMapper.java |   44 +-
 .../positional/QuadFilterByPredicateMapper.java |   44 +-
 .../QuadFilterBySubjectUriMapper.java           |   44 +-
 .../TripleFilterByObjectUriMapper.java          |   44 +-
 .../TripleFilterByPredicateUriMapper.java       |   44 +-
 .../TripleFilterBySubjectUriMapper.java         |   44 +-
 .../group/AbstractNodeTupleGroupingMapper.java  |   40 +-
 .../group/AbstractQuadGroupingMapper.java       |   42 +-
 .../group/AbstractTripleGroupingMapper.java     |   42 +-
 .../mapreduce/group/QuadGroupByGraphMapper.java |   40 +-
 .../group/QuadGroupByObjectMapper.java          |   40 +-
 .../group/QuadGroupByPredicateMapper.java       |   40 +-
 .../group/QuadGroupBySubjectMapper.java         |   40 +-
 .../group/TripleGroupByObjectMapper.java        |   40 +-
 .../group/TripleGroupByPredicateMapper.java     |   40 +-
 .../group/TripleGroupBySubjectMapper.java       |   40 +-
 .../AbstractNodeTupleSplitToNodesMapper.java    |   40 +-
 .../AbstractNodeTupleSplitWithNodesMapper.java  |   40 +-
 .../mapreduce/split/QuadSplitToNodesMapper.java |   42 +-
 .../split/QuadSplitWithNodesMapper.java         |   42 +-
 .../split/TripleSplitToNodesMapper.java         |   42 +-
 .../split/TripleSplitWithNodesMapper.java       |   42 +-
 .../transform/AbstractTriplesToQuadsMapper.java |   48 +-
 .../transform/QuadsToTriplesMapper.java         |   40 +-
 .../TriplesToQuadsBySubjectMapper.java          |   40 +-
 .../TriplesToQuadsConstantGraphMapper.java      |   44 +-
 .../rdf/mapreduce/AbstractMapReduceTests.java   |   36 +-
 .../rdf/mapreduce/AbstractMapperTests.java      |  138 +-
 ...CharacteristicSetGeneratingReducerTests.java |   52 +-
 .../CharacteristicSetReducerTest.java           |   66 +-
 ...eCharacteristicSetGeneratingReducerTest.java |   52 +-
 .../AbstractNodeTupleNodeCountReducedTests.java |   44 +-
 .../count/AbstractNodeTupleNodeCountTests.java  |   44 +-
 .../count/QuadNodeCountMapReduceTest.java       |   54 +-
 .../count/QuadNodeCountMapperTest.java          |   50 +-
 .../count/TripleNodeCountMapReduceTest.java     |   50 +-
 .../count/TripleNodeCountMapperTest.java        |   48 +-
 .../filter/AbstractNodeTupleFilterTests.java    |   42 +-
 .../filter/AbstractQuadValidityFilterTests.java |   44 +-
 .../AbstractTripleValidityFilterTests.java      |   44 +-
 .../TripleFilterByNoPredicateMapperTest.java    |   38 +-
 .../TripleFilterByPredicateMapperTest.java      |   52 +-
 ...leInvertedFilterByNoPredicateMapperTest.java |   38 +-
 ...ipleInvertedFilterByPredicateMapperTest.java |   52 +-
 .../filter/ValidQuadFilterMapperTest.java       |   40 +-
 .../filter/ValidTripleFilterMapperTest.java     |   40 +-
 .../group/AbstractNodeTupleGroupingTests.java   |   44 +-
 .../group/AbstractQuadGroupingTests.java        |   48 +-
 .../group/AbstractTripleGroupingTests.java      |   46 +-
 .../group/QuadGroupByGraphMapperTest.java       |   42 +-
 .../group/QuadGroupByObjectMapperTest.java      |   42 +-
 .../group/QuadGroupByPredicateMapperTest.java   |   42 +-
 .../group/QuadGroupBySubjectMapperTest.java     |   42 +-
 .../group/TripleGroupByObjectMapperTest.java    |   42 +-
 .../group/TripleGroupByPredicateMapperTest.java |   42 +-
 .../group/TripleGroupBySubjectMapperTest.java   |   42 +-
 .../AbstractNodeTupleSplitToNodesTests.java     |   44 +-
 .../AbstractNodeTupleSplitWithNodesTests.java   |   44 +-
 .../split/AbstractQuadSplitToNodesTests.java    |   50 +-
 .../split/AbstractQuadSplitWithNodesTests.java  |   50 +-
 .../split/AbstractTripleSplitToNodesTests.java  |   48 +-
 .../AbstractTripleSplitWithNodesTests.java      |   48 +-
 .../split/QuadSplitToNodesMapperTest.java       |   42 +-
 .../split/QuadSplitWithNodesMapperTest.java     |   42 +-
 .../split/TripleSplitToNodesMapperTest.java     |   42 +-
 .../split/TripleSplitWithNodesMapperTest.java   |   44 +-
 .../transform/QuadsToTriplesMapperTest.java     |   54 +-
 .../TriplesToQuadsBySubjectMapperTest.java      |   54 +-
 .../TriplesToQuadsConstantGraphMapperTest.java  |   54 +-
 .../apache/jena/hadoop/rdf/stats/RdfStats.java  |  842 ++--
 .../jena/hadoop/rdf/stats/jobs/JobFactory.java  |  232 +-
 .../http/TestDatasetGraphAccessorHTTP.java      |   30 +-
 .../http/TestDatasetGraphAccessorHTTP.java      |   30 +-
 .../jena/tools/schemagen/SchemagenMojoTest.java |  166 +-
 .../jena/query/spatial/DistanceUnitsUtils.java  |  174 +-
 .../query/spatial/SpatialDatasetFactory.java    |  210 +-
 .../jena/query/spatial/SpatialIndexContext.java |  206 +-
 .../query/spatial/SpatialPredicatePair.java     |  148 +-
 .../spatial/SpatialPredicatePairValue.java      |  218 +-
 .../jena/query/spatial/SpatialValueUtil.java    |  120 +-
 .../pfunction/DirectionWithPointPFBase.java     |  292 +-
 .../query/spatial/pfunction/SpatialMatch.java   |  134 +-
 .../pfunction/SpatialOperationPFBase.java       |  326 +-
 .../SpatialOperationWithBoxPFBase.java          |  328 +-
 .../query/spatial/pfunction/library/EastPF.java |   88 +-
 .../pfunction/library/IntersectsBoxPF.java      |   70 +-
 .../spatial/pfunction/library/IsNearByPF.java   |   46 +-
 .../pfunction/library/IsWithinBoxPF.java        |   68 +-
 .../pfunction/library/IsWithinCirclePF.java     |   70 +-
 .../spatial/pfunction/library/NorthPF.java      |   90 +-
 .../spatial/pfunction/library/SouthPF.java      |   86 +-
 .../query/spatial/pfunction/library/WestPF.java |   88 +-
 .../AbstractTestIndexingSpatialData.java        |  186 +-
 .../TestIndexingSpatialDataWithLucene.java      |   84 +-
 .../TestIndexingSpatialDataWithSolr.java        |   80 +-
 .../spatial/TestSpatialPredicatePairValue.java  |  118 +-
 .../TestTDBDatasetWithLuceneSpatialIndex.java   |  190 +-
 .../spatial/pfunction/AbstractTestEastPF.java   |  284 +-
 .../pfunction/AbstractTestIntersectsBoxPF.java  |  284 +-
 .../pfunction/AbstractTestIsNearByPF.java       |  670 ++--
 .../pfunction/AbstractTestIsWithinBoxPF.java    |  284 +-
 .../pfunction/AbstractTestIsWithinCirclePF.java |  672 ++--
 .../spatial/pfunction/AbstractTestNorthPF.java  |  284 +-
 .../spatial/pfunction/AbstractTestSouthPF.java  |  284 +-
 .../spatial/pfunction/AbstractTestWestPF.java   |  282 +-
 jena-tdb/src-examples/tdb/examples/ExTDB1.java  |  102 +-
 jena-tdb/src-examples/tdb/examples/ExTDB2.java  |   86 +-
 jena-tdb/src-examples/tdb/examples/ExTDB3.java  |  132 +-
 jena-tdb/src-examples/tdb/examples/ExTDB4.java  |  120 +-
 jena-tdb/src-examples/tdb/examples/ExTDB5.java  |  140 +-
 .../jena/tdb/base/file/BufferAllocator.java     |   86 +-
 .../tdb/base/file/BufferAllocatorDirect.java    |   92 +-
 .../tdb/base/file/BufferAllocatorMapped.java    |  290 +-
 .../jena/tdb/base/file/BufferAllocatorMem.java  |   92 +-
 .../jena/tdb/extra/T_QuadsObjectIsNull.java     |  220 +-
 .../jena/tdb/extra/T_TimeoutTDBPattern.java     |  224 +-
 .../tdb/graph/TestDatasetGraphAccessorTDB.java  |   22 +-
 420 files changed, 24400 insertions(+), 24400 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/d6ae87fd/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 febd328..e8f8b4a 100644
--- a/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
+++ b/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
@@ -1,191 +1,191 @@
-/*
- * 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 arq.examples.constructquads;
-
-import java.io.* ;
-import java.util.Iterator;
-
-import org.apache.jena.graph.Triple;
-import org.apache.jena.query.* ;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.sparql.core.Quad;
-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);
-		
-		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);
-		}
-		System.out.println(query);
-
-		// 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);
-		}
-        System.out.println(query);
-
-		// 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);
-		}
-        System.out.println(query);
-
-		// 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);
-		}
-        System.out.println(query);
-
-		// 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);
-		}
-        System.out.println(query);
-
-		// 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);
-		}
-		System.out.println(query);
-
-		// 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);
-		}
-		System.out.println(query);
-
-		// 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);
-		}
-		System.out.println(query);
-
-		// 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);
-		}
-		System.out.println(query);
-		
-		// 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);
-		}
-		System.out.println(query);
-
-		// run-construct-quad-test
-		System.out.println("run-construct-quad-test:");
-		File[] tests = new File("testing/ARQ/Syntax/Syntax-ARQ")
-				.listFiles((dir, fname)->{
-						if (fname.startsWith("syntax-quad-construct-")) {
-							return true;
-						}
-						return false;
-				});
-		for (File test : tests) {
-			System.out.println("======== File: "+test.getName());
-			try (BufferedReader br = new BufferedReader(new FileReader(test))) {
-				String line = null;
-				while( (line = br.readLine()) != null){
-					System.out.println(line);
-				}
-			}
-			System.out.println("==== Output of parse/print file "+ test.getName());
-			try {
-			    Query q = QueryFactory.read(test.getAbsolutePath(), Syntax.syntaxARQ) ;
-			    System.out.println(q);
-			} catch (QueryParseException ex) {
-			    System.out.println("File "+test.getAbsolutePath()+ " : "+ex.getMessage()) ;
-			}
-		}
-	}
-}
+/*
+ * 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 arq.examples.constructquads;
+
+import java.io.* ;
+import java.util.Iterator;
+
+import org.apache.jena.graph.Triple;
+import org.apache.jena.query.* ;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.sparql.core.Quad;
+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);
+		
+		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);
+		}
+		System.out.println(query);
+
+		// 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);
+		}
+        System.out.println(query);
+
+		// 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);
+		}
+        System.out.println(query);
+
+		// 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);
+		}
+        System.out.println(query);
+
+		// 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);
+		}
+        System.out.println(query);
+
+		// 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);
+		}
+		System.out.println(query);
+
+		// 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);
+		}
+		System.out.println(query);
+
+		// 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);
+		}
+		System.out.println(query);
+
+		// 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);
+		}
+		System.out.println(query);
+		
+		// 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);
+		}
+		System.out.println(query);
+
+		// run-construct-quad-test
+		System.out.println("run-construct-quad-test:");
+		File[] tests = new File("testing/ARQ/Syntax/Syntax-ARQ")
+				.listFiles((dir, fname)->{
+						if (fname.startsWith("syntax-quad-construct-")) {
+							return true;
+						}
+						return false;
+				});
+		for (File test : tests) {
+			System.out.println("======== File: "+test.getName());
+			try (BufferedReader br = new BufferedReader(new FileReader(test))) {
+				String line = null;
+				while( (line = br.readLine()) != null){
+					System.out.println(line);
+				}
+			}
+			System.out.println("==== Output of parse/print file "+ test.getName());
+			try {
+			    Query q = QueryFactory.read(test.getAbsolutePath(), Syntax.syntaxARQ) ;
+			    System.out.println(q);
+			} catch (QueryParseException ex) {
+			    System.out.println("File "+test.getAbsolutePath()+ " : "+ex.getMessage()) ;
+			}
+		}
+	}
+}


[28/40] jena git commit: Fix line endings (part 2)

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/ManifestRestriction001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/ManifestRestriction001.rdf b/jena-core/testing/wg/localtests/ManifestRestriction001.rdf
index 1cee138..b125d17 100644
--- a/jena-core/testing/wg/localtests/ManifestRestriction001.rdf
+++ b/jena-core/testing/wg/localtests/ManifestRestriction001.rdf
@@ -1,30 +1,30 @@
-<!--
-  Local test files use in Jena2 development
--->
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
-      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
-      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
-      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
-      xmlns:dc='http://purl.org/dc/elements/1.0/'
-      xmlns='http://www.w3.org/2002/03owlt/localtests/ManifestRestriction001#'
-      xmlns:owl='http://www.w3.org/2002/07/owl#'
-      xml:base='http://www.w3.org/2002/03owlt/localtests/ManifestRestriction001'
->
-<otest:PositiveEntailmentTest rdf:ID='intersection1'>
-   <rtest:status>Jena internal</rtest:status>
-   <dc:creator>Dave Reynolds</dc:creator>
-   <rtest:description rdf:parseType='Literal'>
-       Test core intersectionOf processing - 'if' direction.
-   </rtest:description>
-   <rtest:premiseDocument>
-         <rtest:RDF-XML-Document rdf:about='premisesRestriction001' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
-         </rtest:RDF-XML-Document>
-   </rtest:premiseDocument>
-   <rtest:conclusionDocument>
-         <rtest:RDF-XML-Document rdf:about='conclusionsRestriction001' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
-         </rtest:RDF-XML-Document>
-   </rtest:conclusionDocument>
-</otest:PositiveEntailmentTest >
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+-->
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
+      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
+      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
+      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
+      xmlns:dc='http://purl.org/dc/elements/1.0/'
+      xmlns='http://www.w3.org/2002/03owlt/localtests/ManifestRestriction001#'
+      xmlns:owl='http://www.w3.org/2002/07/owl#'
+      xml:base='http://www.w3.org/2002/03owlt/localtests/ManifestRestriction001'
+>
+<otest:PositiveEntailmentTest rdf:ID='intersection1'>
+   <rtest:status>Jena internal</rtest:status>
+   <dc:creator>Dave Reynolds</dc:creator>
+   <rtest:description rdf:parseType='Literal'>
+       Test core intersectionOf processing - 'if' direction.
+   </rtest:description>
+   <rtest:premiseDocument>
+         <rtest:RDF-XML-Document rdf:about='premisesRestriction001' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
+         </rtest:RDF-XML-Document>
+   </rtest:premiseDocument>
+   <rtest:conclusionDocument>
+         <rtest:RDF-XML-Document rdf:about='conclusionsRestriction001' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
+         </rtest:RDF-XML-Document>
+   </rtest:conclusionDocument>
+</otest:PositiveEntailmentTest >
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/ManifestSubclass001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/ManifestSubclass001.rdf b/jena-core/testing/wg/localtests/ManifestSubclass001.rdf
index b91aa4a..603a183 100644
--- a/jena-core/testing/wg/localtests/ManifestSubclass001.rdf
+++ b/jena-core/testing/wg/localtests/ManifestSubclass001.rdf
@@ -1,30 +1,30 @@
-<!--
-  Local test files use in Jena2 development
--->
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
-      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
-      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
-      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
-      xmlns:dc='http://purl.org/dc/elements/1.0/'
-      xmlns='http://www.w3.org/2002/03owlt/localtests/ManifestSubclass001#'
-      xmlns:owl='http://www.w3.org/2002/07/owl#'
-      xml:base='http://www.w3.org/2002/03owlt/localtests/ManifestSubclass001'
->
-<otest:PositiveEntailmentTest rdf:ID='intersection1'>
-   <rtest:status>Jena internal</rtest:status>
-   <dc:creator>Dave Reynolds</dc:creator>
-   <rtest:description rdf:parseType='Literal'>
-		Basic subclass closure checking.
-   </rtest:description>
-   <rtest:premiseDocument>
-         <rtest:RDF-XML-Document rdf:about='premisesSubclass001' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
-         </rtest:RDF-XML-Document>
-   </rtest:premiseDocument>
-   <rtest:conclusionDocument>
-         <rtest:RDF-XML-Document rdf:about='conclusionsSubclass001' >
-              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
-         </rtest:RDF-XML-Document>
-   </rtest:conclusionDocument>
-</otest:PositiveEntailmentTest >
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+-->
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
+      xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
+      xmlns:rtest='http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#'
+      xmlns:otest='http://www.w3.org/2002/03owlt/testOntology#'
+      xmlns:dc='http://purl.org/dc/elements/1.0/'
+      xmlns='http://www.w3.org/2002/03owlt/localtests/ManifestSubclass001#'
+      xmlns:owl='http://www.w3.org/2002/07/owl#'
+      xml:base='http://www.w3.org/2002/03owlt/localtests/ManifestSubclass001'
+>
+<otest:PositiveEntailmentTest rdf:ID='intersection1'>
+   <rtest:status>Jena internal</rtest:status>
+   <dc:creator>Dave Reynolds</dc:creator>
+   <rtest:description rdf:parseType='Literal'>
+		Basic subclass closure checking.
+   </rtest:description>
+   <rtest:premiseDocument>
+         <rtest:RDF-XML-Document rdf:about='premisesSubclass001' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
+         </rtest:RDF-XML-Document>
+   </rtest:premiseDocument>
+   <rtest:conclusionDocument>
+         <rtest:RDF-XML-Document rdf:about='conclusionsSubclass001' >
+              <otest:level rdf:resource='http://www.w3.org/2002/03owlt/testOntology#Lite' />
+         </rtest:RDF-XML-Document>
+   </rtest:conclusionDocument>
+</otest:PositiveEntailmentTest >
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/conclusions008.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/conclusions008.rdf b/jena-core/testing/wg/localtests/conclusions008.rdf
index 394347b..4aec7e5 100644
--- a/jena-core/testing/wg/localtests/conclusions008.rdf
+++ b/jena-core/testing/wg/localtests/conclusions008.rdf
@@ -1,24 +1,24 @@
-<?xml version="1.0"?>
-<!--
-  Local test files use in Jena2 development
-
-  Infer domain/range from inverseof
--->
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'urn:x-hp:eg'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
-    <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:xsd="&xsd;" xmlns:owl="&owl;"
-         xml:base="&eg;" xmlns="&eg;#">
-
-	<owl:ObjectProperty rdf:about="#q">
-	  <rdfs:domain rdf:resource="&eg;#B" />
-	  <rdfs:range rdf:resource="&eg;#A" />
-	</owl:ObjectProperty>
-	
-</rdf:RDF>
+<?xml version="1.0"?>
+<!--
+  Local test files use in Jena2 development
+
+  Infer domain/range from inverseof
+-->
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'urn:x-hp:eg'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
+    <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:xsd="&xsd;" xmlns:owl="&owl;"
+         xml:base="&eg;" xmlns="&eg;#">
+
+	<owl:ObjectProperty rdf:about="#q">
+	  <rdfs:domain rdf:resource="&eg;#B" />
+	  <rdfs:range rdf:resource="&eg;#A" />
+	</owl:ObjectProperty>
+	
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/conclusionsRestriction001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/conclusionsRestriction001.rdf b/jena-core/testing/wg/localtests/conclusionsRestriction001.rdf
index 90a6ff9..20de9e2 100644
--- a/jena-core/testing/wg/localtests/conclusionsRestriction001.rdf
+++ b/jena-core/testing/wg/localtests/conclusionsRestriction001.rdf
@@ -1,17 +1,17 @@
-<!--
-  Local test files use in Jena2 development
-
-  Test core intersectionOf processing - 'if' direction.
--->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesRestriction001" >
-    
-    <owl:Class rdf:ID="c1">
- <!--     <owl:equivalentClass rdf:resource="#c2" /> -->
-      <rdfs:subClassOf rdf:resource="#c2" />
-      </owl:Class>
-         
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+
+  Test core intersectionOf processing - 'if' direction.
+-->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesRestriction001" >
+    
+    <owl:Class rdf:ID="c1">
+ <!--     <owl:equivalentClass rdf:resource="#c2" /> -->
+      <rdfs:subClassOf rdf:resource="#c2" />
+      </owl:Class>
+         
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/conclusionsSubclass001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/conclusionsSubclass001.rdf b/jena-core/testing/wg/localtests/conclusionsSubclass001.rdf
index 269c1d3..fa2fe3a 100644
--- a/jena-core/testing/wg/localtests/conclusionsSubclass001.rdf
+++ b/jena-core/testing/wg/localtests/conclusionsSubclass001.rdf
@@ -1,20 +1,20 @@
-<!--
-  Local test files use in Jena2 development
-
-  Test core intersectionOf processing - 'if' direction.
--->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesSubclass001" >
-    
-    <rdf:Description rdf:about="#a">
-      <rdfs:subClassOf rdf:resource="#c"/>
-    </rdf:Description>
-    
-    <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Thing">
-      <owl:equivalentClass rdf:resource="#d"/>
-    </rdf:Description>
-
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+
+  Test core intersectionOf processing - 'if' direction.
+-->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesSubclass001" >
+    
+    <rdf:Description rdf:about="#a">
+      <rdfs:subClassOf rdf:resource="#c"/>
+    </rdf:Description>
+    
+    <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Thing">
+      <owl:equivalentClass rdf:resource="#d"/>
+    </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/premises008.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/premises008.rdf b/jena-core/testing/wg/localtests/premises008.rdf
index 9df8af7..f85c1f5 100644
--- a/jena-core/testing/wg/localtests/premises008.rdf
+++ b/jena-core/testing/wg/localtests/premises008.rdf
@@ -1,31 +1,31 @@
-<?xml version="1.0"?>
-<!--
-  Local test files use in Jena2 development
-
-  Infer domain/range from inverseof
--->
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY eg   'urn:x-hp:eg'>
-    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
-    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
-    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
-    <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
-]>
-
-<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:xsd="&xsd;" xmlns:owl="&owl;"
-         xml:base="&eg;" xmlns="&eg;#">
-
-    <owl:Class rdf:about="#A" />
-    <owl:Class rdf:about="#B" />
-
-	<owl:ObjectProperty rdf:about="#p">
-	  <rdfs:domain rdf:resource="&eg;#A" />
-	  <rdfs:range rdf:resource="&eg;#B" />
-	</owl:ObjectProperty>
-	
-	<owl:ObjectProperty rdf:about="#q">
-  	  <owl:inverseOf rdf:resource="&eg;#p"/>
-	</owl:ObjectProperty>
-
-</rdf:RDF>
+<?xml version="1.0"?>
+<!--
+  Local test files use in Jena2 development
+
+  Infer domain/range from inverseof
+-->
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY eg   'urn:x-hp:eg'>
+    <!ENTITY rdf  'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
+    <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
+    <!ENTITY xsd  'http://www.w3.org/2001/XMLSchema#'>
+    <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
+]>
+
+<rdf:RDF xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;" xmlns:xsd="&xsd;" xmlns:owl="&owl;"
+         xml:base="&eg;" xmlns="&eg;#">
+
+    <owl:Class rdf:about="#A" />
+    <owl:Class rdf:about="#B" />
+
+	<owl:ObjectProperty rdf:about="#p">
+	  <rdfs:domain rdf:resource="&eg;#A" />
+	  <rdfs:range rdf:resource="&eg;#B" />
+	</owl:ObjectProperty>
+	
+	<owl:ObjectProperty rdf:about="#q">
+  	  <owl:inverseOf rdf:resource="&eg;#p"/>
+	</owl:ObjectProperty>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/premisesRestriction001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/premisesRestriction001.rdf b/jena-core/testing/wg/localtests/premisesRestriction001.rdf
index 1ecf367..2e724bc 100644
--- a/jena-core/testing/wg/localtests/premisesRestriction001.rdf
+++ b/jena-core/testing/wg/localtests/premisesRestriction001.rdf
@@ -1,33 +1,33 @@
-<!--
-  Local test files use in Jena2 development
-
-  Test core intersectionOf processing - 'if' direction.
--->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesRestriction001" >
-    
-    <owl:Class rdf:about="#d" />
-    <owl:ObjectProperty rdf:about="#p" />
-    
-    <owl:Class rdf:ID="c1">
-      <owl:equivalentClass>
-        <owl:Restriction>
-           <owl:onProperty rdf:resource="#p"/>
-           <owl:someValuesFrom rdf:resource="#d" />
-        </owl:Restriction>
-      </owl:equivalentClass>
-     </owl:Class>
-    
-    <owl:Class rdf:ID="c2">
-      <owl:equivalentClass>
-        <owl:Restriction>
-           <owl:onProperty rdf:resource="#p"/>
-           <owl:someValuesFrom rdf:resource="#d" />
-        </owl:Restriction>
-      </owl:equivalentClass>
-     </owl:Class>
-     
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+
+  Test core intersectionOf processing - 'if' direction.
+-->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesRestriction001" >
+    
+    <owl:Class rdf:about="#d" />
+    <owl:ObjectProperty rdf:about="#p" />
+    
+    <owl:Class rdf:ID="c1">
+      <owl:equivalentClass>
+        <owl:Restriction>
+           <owl:onProperty rdf:resource="#p"/>
+           <owl:someValuesFrom rdf:resource="#d" />
+        </owl:Restriction>
+      </owl:equivalentClass>
+     </owl:Class>
+    
+    <owl:Class rdf:ID="c2">
+      <owl:equivalentClass>
+        <owl:Restriction>
+           <owl:onProperty rdf:resource="#p"/>
+           <owl:someValuesFrom rdf:resource="#d" />
+        </owl:Restriction>
+      </owl:equivalentClass>
+     </owl:Class>
+     
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-core/testing/wg/localtests/premisesSubclass001.rdf
----------------------------------------------------------------------
diff --git a/jena-core/testing/wg/localtests/premisesSubclass001.rdf b/jena-core/testing/wg/localtests/premisesSubclass001.rdf
index d61c3b9..e80bf40 100644
--- a/jena-core/testing/wg/localtests/premisesSubclass001.rdf
+++ b/jena-core/testing/wg/localtests/premisesSubclass001.rdf
@@ -1,31 +1,31 @@
-<!--
-  Local test files use in Jena2 development
-
-  Test core intersectionOf processing - 'if' direction.
--->
-<rdf:RDF
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesSubclass001" >
-    
-    <owl:Class rdf:about="#a">
-      <rdfs:subClassOf rdf:resource="#b"/>
-    </owl:Class>
-    
-    <owl:Class rdf:about="#b">
-      <rdfs:subClassOf rdf:resource="#c"/>
-    </owl:Class>
-    
-    <owl:Class rdf:about="#c">
-      <rdfs:subClassOf rdf:resource="#d"/>
-    </owl:Class>
-    
-    <owl:Class rdf:about="#d">
-    </owl:Class>
-    
-    <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Thing">
-      <rdfs:subClassOf rdf:resource="#d"/>
-    </rdf:Description>
-
-</rdf:RDF>
+<!--
+  Local test files use in Jena2 development
+
+  Test core intersectionOf processing - 'if' direction.
+-->
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+    xmlns:owl="http://www.w3.org/2002/07/owl#"
+    xml:base="http://www.w3.org/2002/03owlt/equivalentClass/premisesSubclass001" >
+    
+    <owl:Class rdf:about="#a">
+      <rdfs:subClassOf rdf:resource="#b"/>
+    </owl:Class>
+    
+    <owl:Class rdf:about="#b">
+      <rdfs:subClassOf rdf:resource="#c"/>
+    </owl:Class>
+    
+    <owl:Class rdf:about="#c">
+      <rdfs:subClassOf rdf:resource="#d"/>
+    </owl:Class>
+    
+    <owl:Class rdf:about="#d">
+    </owl:Class>
+    
+    <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Thing">
+      <rdfs:subClassOf rdf:resource="#d"/>
+    </rdf:Description>
+
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/Data/data.ttl
----------------------------------------------------------------------
diff --git a/jena-sdb/Data/data.ttl b/jena-sdb/Data/data.ttl
index 423ea6d..42217da 100644
--- a/jena-sdb/Data/data.ttl
+++ b/jena-sdb/Data/data.ttl
@@ -1,34 +1,34 @@
-# 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.
-
-@prefix : <http://example/> .
-
-:x :p 1 .
-:x :p 2 .
-:x :p 3 .
-
-:x :p :a .
-:x :p :b .
-:x :p :z .
-
-:a :q1 :z1 .
-:a :q2 :z2 .
-
-:b :q1 :z1 .
-
-:z :p1 "abc" .
-:z :p2 "def" .
-:z :p3 "g" .
+# 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.
+
+@prefix : <http://example/> .
+
+:x :p 1 .
+:x :p 2 .
+:x :p 3 .
+
+:x :p :a .
+:x :p :b .
+:x :p :z .
+
+:a :q1 :z1 .
+:a :q2 :z2 .
+
+:b :q1 :z1 .
+
+:z :p1 "abc" .
+:z :p2 "def" .
+:z :p3 "g" .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/Data/data2.ttl
----------------------------------------------------------------------
diff --git a/jena-sdb/Data/data2.ttl b/jena-sdb/Data/data2.ttl
index b570f9d..08194b6 100644
--- a/jena-sdb/Data/data2.ttl
+++ b/jena-sdb/Data/data2.ttl
@@ -1,20 +1,20 @@
-# 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.
-
-# Some international stuff
-@prefix : <http://example/> .
-
-:x :p "Unicode: 03 B1 \u03b1" .
+# 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.
+
+# Some international stuff
+@prefix : <http://example/> .
+
+:x :p "Unicode: 03 B1 \u03b1" .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/Reports/explain.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/explain.rb b/jena-sdb/Reports/explain.rb
index 49004be..1ae3b30 100644
--- a/jena-sdb/Reports/explain.rb
+++ b/jena-sdb/Reports/explain.rb
@@ -1,29 +1,29 @@
-#!/bin/env ruby
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-require 'format'
-
-columns=nil
-data=[]
-
-#ARGF.each do |line|
-#  line.chomp!
-#  v = line.split("\t")
-#  if !columns
-#    columns = v
-#  else
-#    data << v 
-#  end
-#end
-
-# Ruby has CSV 
-require 'csv.rb'
-CSV::Reader.parse(ARGF) do |row|
-  if !columns
-    columns = row
-  else
-    data << row
-  end
-end
-
-Fmt::table(columns, data)
+#!/bin/env ruby
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+require 'format'
+
+columns=nil
+data=[]
+
+#ARGF.each do |line|
+#  line.chomp!
+#  v = line.split("\t")
+#  if !columns
+#    columns = v
+#  else
+#    data << v 
+#  end
+#end
+
+# Ruby has CSV 
+require 'csv.rb'
+CSV::Reader.parse(ARGF) do |row|
+  if !columns
+    columns = row
+  else
+    data << row
+  end
+end
+
+Fmt::table(columns, data)

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/Reports/format.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/format.rb b/jena-sdb/Reports/format.rb
index 682710e..acc5b0c 100644
--- a/jena-sdb/Reports/format.rb
+++ b/jena-sdb/Reports/format.rb
@@ -1,41 +1,41 @@
-# Formatting utilities
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-module Fmt
-  def Fmt.table(headings, body)
-    widths = calc_widths(headings, body)
-    widths = calc_widths(headings, body)
-    # Make lines like column names
-    lines = []
-    headings.each_index { |i| lines<<"-"*(widths[i]) ; }
-    lines2 = []
-    headings.each_index { |i| lines2<<"="*(widths[i]) ; }
-    print_row(lines,   widths, "-", "+", "-", "+")
-    print_row(headings, widths, " ", "|", "|", "|")
-    print_row(lines2,  widths, "=", "|", "|", "|")
-    body.each { |row| print_row(row, widths, " ", "|", "|", "|") }
-    print_row(lines, widths, "-", "+", "-", "+")
-  end
-
-  private
-  def Fmt.calc_widths(columns, data)
-    x = []
-    columns.each { |c| x << c.length }
-    data.each do |row|
-      row.each_index { |i|  x[i] = row[i].length if row[i].length > x[i] }
-    end
-    return x
-  end
-
-  def Fmt.print_row(items, widths, sep, left, mid, right)
-    print left
-    items.each_index do |i|
-      print mid if i != 0
-      print sep
-      printf("%-*s",widths[i],items[i])
-      print sep
-    end
-    print right
-    print "\n" 
-  end
-end
+# Formatting utilities
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+module Fmt
+  def Fmt.table(headings, body)
+    widths = calc_widths(headings, body)
+    widths = calc_widths(headings, body)
+    # Make lines like column names
+    lines = []
+    headings.each_index { |i| lines<<"-"*(widths[i]) ; }
+    lines2 = []
+    headings.each_index { |i| lines2<<"="*(widths[i]) ; }
+    print_row(lines,   widths, "-", "+", "-", "+")
+    print_row(headings, widths, " ", "|", "|", "|")
+    print_row(lines2,  widths, "=", "|", "|", "|")
+    body.each { |row| print_row(row, widths, " ", "|", "|", "|") }
+    print_row(lines, widths, "-", "+", "-", "+")
+  end
+
+  private
+  def Fmt.calc_widths(columns, data)
+    x = []
+    columns.each { |c| x << c.length }
+    data.each do |row|
+      row.each_index { |i|  x[i] = row[i].length if row[i].length > x[i] }
+    end
+    return x
+  end
+
+  def Fmt.print_row(items, widths, sep, left, mid, right)
+    print left
+    items.each_index do |i|
+      print mid if i != 0
+      print sep
+      printf("%-*s",widths[i],items[i])
+      print sep
+    end
+    print right
+    print "\n" 
+  end
+end

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/Reports/jdbc.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/jdbc.rb b/jena-sdb/Reports/jdbc.rb
index f90a16c..8b84f9a 100644
--- a/jena-sdb/Reports/jdbc.rb
+++ b/jena-sdb/Reports/jdbc.rb
@@ -1,139 +1,139 @@
-# = Module for handling JDBC Result Sets
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-require 'java'
-require 'format'
-include_class 'java.sql.DriverManager' 
-
-module JDBC
-
-# == Class DB: a connection to a database / tablespace
-  class DB
-    attr_reader   :conn
-
-    def initialize(connection)
-      @conn = connection ;
-    end
-
-    def DB.connect(url, driver, user, password)
-      Java::JavaClass.for_name(driver) ;
-      c = new(DriverManager.getConnection(url, user, password))
-      return c
-    end
-
-    def query(queryString)
-      s = @conn.createStatement()
-      return Results.new(s.executeQuery(queryString))
-    end
-
-    def query_print(queryString)
-      s = @conn.createStatement()
-      rs = Results.new(s.executeQuery(queryString))
-      rs.dump
-      rs.close
-      return nil
-    end
-
-    def close
-      @conn.close()
-    end
-  end
-
-  class Results
-  
-    def initialize(jdbcResultSet)
-      @rs = jdbcResultSet
-    end
-
-    def each
-      while(@rs.next) 
-        yield Row.new(@rs)
-      end
-      close
-    end
-
-    def close
-      @rs.close
-    end
-
-    # All the cols (via their display name)
-    def cols
-      if !@columns
-        md = @rs.getMetaData
-        @columns=[]
-        1.upto(md.getColumnCount) { |i| @columns << md.getColumnLabel(i) }
-        end
-      return @columns
-    end
-      
-    # All the rows, as an array of hashes (values are strings)
-    def all_rows_hash
-      x = []
-      columns = cols 
-      each {|row| x << row.data(columns)}
-      close
-      return x
-    end
-
-    # All the rows, as an array of arrays
-    def all_rows_array
-      x = []
-      each {|row| x << row.as_array }
-      close
-      return x
-    end
-    
-    def dump
-      # Order matters - must get columns before exhausting data and closing ResultSet
-      columns = cols 
-      data = all_rows_array
-      Fmt.table(columns, data)
-    end
-  end
-
-  class Row
-    def initialize(row)
-      @row = row
-    end
-    
-    # and it works for string name or integer index
-    def [](name)
-      return @row.getString(name)
-    end
-
-    def next
-      raise "Error: calling close on a Row object"
-    end
-
-    def each
-      len = @row.getMetaData.getColumnCount
-      (1..len).each { |i| yield  @row.getString(i) }
-    end
-
-    def as_array
-      len = @row.getMetaData.getColumnCount
-      x = []
-      (1..len).each { |i| x << @row.getString(i) }
-      return x
-    end
-
-    # Needs column names
-    def data(cols)
-      x = {}
-      cols.each do |col| 
-        x[col] = @row.getString(col)
-        if @row.wasNull
-          x[col] = nil
-        end
-      end
-      return x 
-    end
-
-    # Direct any missing methods to the wrapped object
-    def method_missing(methId, *args)
-      meth = @row.method(methId)
-      meth.call *args
-    end 
-
-  end
-end
+# = Module for handling JDBC Result Sets
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+require 'java'
+require 'format'
+include_class 'java.sql.DriverManager' 
+
+module JDBC
+
+# == Class DB: a connection to a database / tablespace
+  class DB
+    attr_reader   :conn
+
+    def initialize(connection)
+      @conn = connection ;
+    end
+
+    def DB.connect(url, driver, user, password)
+      Java::JavaClass.for_name(driver) ;
+      c = new(DriverManager.getConnection(url, user, password))
+      return c
+    end
+
+    def query(queryString)
+      s = @conn.createStatement()
+      return Results.new(s.executeQuery(queryString))
+    end
+
+    def query_print(queryString)
+      s = @conn.createStatement()
+      rs = Results.new(s.executeQuery(queryString))
+      rs.dump
+      rs.close
+      return nil
+    end
+
+    def close
+      @conn.close()
+    end
+  end
+
+  class Results
+  
+    def initialize(jdbcResultSet)
+      @rs = jdbcResultSet
+    end
+
+    def each
+      while(@rs.next) 
+        yield Row.new(@rs)
+      end
+      close
+    end
+
+    def close
+      @rs.close
+    end
+
+    # All the cols (via their display name)
+    def cols
+      if !@columns
+        md = @rs.getMetaData
+        @columns=[]
+        1.upto(md.getColumnCount) { |i| @columns << md.getColumnLabel(i) }
+        end
+      return @columns
+    end
+      
+    # All the rows, as an array of hashes (values are strings)
+    def all_rows_hash
+      x = []
+      columns = cols 
+      each {|row| x << row.data(columns)}
+      close
+      return x
+    end
+
+    # All the rows, as an array of arrays
+    def all_rows_array
+      x = []
+      each {|row| x << row.as_array }
+      close
+      return x
+    end
+    
+    def dump
+      # Order matters - must get columns before exhausting data and closing ResultSet
+      columns = cols 
+      data = all_rows_array
+      Fmt.table(columns, data)
+    end
+  end
+
+  class Row
+    def initialize(row)
+      @row = row
+    end
+    
+    # and it works for string name or integer index
+    def [](name)
+      return @row.getString(name)
+    end
+
+    def next
+      raise "Error: calling close on a Row object"
+    end
+
+    def each
+      len = @row.getMetaData.getColumnCount
+      (1..len).each { |i| yield  @row.getString(i) }
+    end
+
+    def as_array
+      len = @row.getMetaData.getColumnCount
+      x = []
+      (1..len).each { |i| x << @row.getString(i) }
+      return x
+    end
+
+    # Needs column names
+    def data(cols)
+      x = {}
+      cols.each do |col| 
+        x[col] = @row.getString(col)
+        if @row.wasNull
+          x[col] = nil
+        end
+      end
+      return x 
+    end
+
+    # Direct any missing methods to the wrapped object
+    def method_missing(methId, *args)
+      meth = @row.method(methId)
+      meth.call *args
+    end 
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/bin2/sdbscript
----------------------------------------------------------------------
diff --git a/jena-sdb/bin2/sdbscript b/jena-sdb/bin2/sdbscript
index 0b20a3b..82b1692 100755
--- a/jena-sdb/bin2/sdbscript
+++ b/jena-sdb/bin2/sdbscript
@@ -1,10 +1,10 @@
-#!/bin/bash
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-if [ "$SDBROOT" = "" ]
-then
-    echo "SDBROOT not set" 1>&2
-    exit 1
-    fi
-
+#!/bin/bash
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+if [ "$SDBROOT" = "" ]
+then
+    echo "SDBROOT not set" 1>&2
+    exit 1
+    fi
+
 exec "${SDBROOT}/bin/sdbscript" "$@"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml b/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
index bca78a9..b33d25b 100644
--- a/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
+++ b/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<!--  Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
-
-<properties version="1.0">
-  <comment>SDB System Properties</comment>
-  <entry key="org.apache.jena.sdb.version">${project.version}</entry>
-  <entry key="org.apache.jena.sdb.build.datetime">${build.time.xsd}</entry>
-</properties>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<!--  Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
+
+<properties version="1.0">
+  <comment>SDB System Properties</comment>
+  <entry key="org.apache.jena.sdb.version">${project.version}</entry>
+  <entry key="org.apache.jena.sdb.build.datetime">${build.time.xsd}</entry>
+</properties>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/schema.xml
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/schema.xml b/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/schema.xml
index a5848ff..c6137a2 100644
--- a/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/schema.xml
+++ b/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/schema.xml
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- 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.
--->
-<schema name="spatial" version="1.0">
-
- <fields>
-        
-   <field name="uri" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
-
-   <field name="geo"  type="location_rpt"  indexed="true" stored="true"  multiValued="true" /> 
-
-   <field name="_version_" type="long" indexed="true" stored="true" multiValued="false" />
- </fields>
-
-
- <!-- Field to use to determine and enforce document uniqueness. 
-      Unless this field is marked with required="false", it will be a required field
-   -->
- <uniqueKey>uri</uniqueKey>
-
- <types>
-    <!-- field type definitions. The "name" attribute is
-       just a label to be used by field definitions.  The "class"
-       attribute and any other attributes determine the real
-       behavior of the fieldType.
-         Class names starting with "solr" refer to java classes in a
-       standard package such as org.apache.solr.analysis
-    -->
-
-    <!-- The StrField type is not analyzed, but indexed/stored verbatim.
-       It supports doc values but in that case the field needs to be
-       single-valued and either required or have a default value.
-      -->
-    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
-
-    <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
-        geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
-
-    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
- </types>
-
-</schema>
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+<schema name="spatial" version="1.0">
+
+ <fields>
+        
+   <field name="uri" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
+
+   <field name="geo"  type="location_rpt"  indexed="true" stored="true"  multiValued="true" /> 
+
+   <field name="_version_" type="long" indexed="true" stored="true" multiValued="false" />
+ </fields>
+
+
+ <!-- Field to use to determine and enforce document uniqueness. 
+      Unless this field is marked with required="false", it will be a required field
+   -->
+ <uniqueKey>uri</uniqueKey>
+
+ <types>
+    <!-- field type definitions. The "name" attribute is
+       just a label to be used by field definitions.  The "class"
+       attribute and any other attributes determine the real
+       behavior of the fieldType.
+         Class names starting with "solr" refer to java classes in a
+       standard package such as org.apache.solr.analysis
+    -->
+
+    <!-- The StrField type is not analyzed, but indexed/stored verbatim.
+       It supports doc values but in that case the field needs to be
+       single-valued and either required or have a default value.
+      -->
+    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
+
+    <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
+        geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
+
+    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
+ </types>
+
+</schema>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/solrconfig.xml b/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/solrconfig.xml
index 55e4e46..01967fb 100644
--- a/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/solrconfig.xml
+++ b/jena-spatial/src/test/resources/SolrHome/SolrARQCollection/conf/solrconfig.xml
@@ -1,77 +1,77 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- 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.
--->
-
-<config>
-
-  <luceneMatchVersion>LUCENE_43</luceneMatchVersion>
-
-
-
-  <!-- Request Handlers 
-
-       http://wiki.apache.org/solr/SolrRequestHandler
-
-       Incoming queries will be dispatched to a specific handler by name
-       based on the path specified in the request.
-
-       Legacy behavior: If the request path uses "/select" but no Request
-       Handler has that name, and if handleSelect="true" has been specified in
-       the requestDispatcher, then the Request Handler is dispatched based on
-       the qt parameter.  Handlers without a leading '/' are accessed this way
-       like so: http://host/app/[core/]select?qt=name  If no qt is
-       given, then the requestHandler that declares default="true" will be
-       used or the one named "standard".
-
-       If a Request Handler is declared with startup="lazy", then it will
-       not be initialized until the first request that uses it.
-
-    -->
-  <!-- SearchHandler
-
-       http://wiki.apache.org/solr/SearchHandler
-
-       For processing Search Queries, the primary Request Handler
-       provided with Solr is "SearchHandler" It delegates to a sequent
-       of SearchComponents (see below) and supports distributed
-       queries across multiple shards
-    -->
-  <requestHandler name="/select" class="solr.SearchHandler">
-  </requestHandler>
- 
-  <!-- Update Request Handler.  
-       
-       http://wiki.apache.org/solr/UpdateXmlMessages
-
-       The canonical Request Handler for Modifying the Index through
-       commands specified using XML, JSON, CSV, or JAVABIN
-
-       Note: Since solr1.1 requestHandlers requires a valid content
-       type header if posted in the body. For example, curl now
-       requires: -H 'Content-type:text/xml; charset=utf-8'
-       
-       To override the request content type and force a specific 
-       Content-type, use the request parameter: 
-         ?update.contentType=text/csv
-       
-       This handler will pick a response format to match the input
-       if the 'wt' parameter is not explicit
-    -->
-  <requestHandler name="/update" class="solr.UpdateRequestHandler">
-  </requestHandler>
-
-</config>
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+<config>
+
+  <luceneMatchVersion>LUCENE_43</luceneMatchVersion>
+
+
+
+  <!-- Request Handlers 
+
+       http://wiki.apache.org/solr/SolrRequestHandler
+
+       Incoming queries will be dispatched to a specific handler by name
+       based on the path specified in the request.
+
+       Legacy behavior: If the request path uses "/select" but no Request
+       Handler has that name, and if handleSelect="true" has been specified in
+       the requestDispatcher, then the Request Handler is dispatched based on
+       the qt parameter.  Handlers without a leading '/' are accessed this way
+       like so: http://host/app/[core/]select?qt=name  If no qt is
+       given, then the requestHandler that declares default="true" will be
+       used or the one named "standard".
+
+       If a Request Handler is declared with startup="lazy", then it will
+       not be initialized until the first request that uses it.
+
+    -->
+  <!-- SearchHandler
+
+       http://wiki.apache.org/solr/SearchHandler
+
+       For processing Search Queries, the primary Request Handler
+       provided with Solr is "SearchHandler" It delegates to a sequent
+       of SearchComponents (see below) and supports distributed
+       queries across multiple shards
+    -->
+  <requestHandler name="/select" class="solr.SearchHandler">
+  </requestHandler>
+ 
+  <!-- Update Request Handler.  
+       
+       http://wiki.apache.org/solr/UpdateXmlMessages
+
+       The canonical Request Handler for Modifying the Index through
+       commands specified using XML, JSON, CSV, or JAVABIN
+
+       Note: Since solr1.1 requestHandlers requires a valid content
+       type header if posted in the body. For example, curl now
+       requires: -H 'Content-type:text/xml; charset=utf-8'
+       
+       To override the request content type and force a specific 
+       Content-type, use the request parameter: 
+         ?update.contentType=text/csv
+       
+       This handler will pick a response format to match the input
+       if the 'wt' parameter is not explicit
+    -->
+  <requestHandler name="/update" class="solr.UpdateRequestHandler">
+  </requestHandler>
+
+</config>

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/SolrHome/solr.xml
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/SolrHome/solr.xml b/jena-spatial/src/test/resources/SolrHome/solr.xml
index 212e4b6..8d364d9 100644
--- a/jena-spatial/src/test/resources/SolrHome/solr.xml
+++ b/jena-spatial/src/test/resources/SolrHome/solr.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<solr persistent="true">
-<cores adminPath="/admin/cores" defaultCoreName="SolrARQCollection">
-<core name="SolrARQCollection" instanceDir="SolrARQCollection" >
-<property name="dataDir" value="../../../../../target/test/SolrARQCollection/data" />
-</core>
-</cores>
+<?xml version="1.0" encoding="UTF-8" ?>
+<solr persistent="true">
+<cores adminPath="/admin/cores" defaultCoreName="SolrARQCollection">
+<core name="SolrARQCollection" instanceDir="SolrARQCollection" >
+<property name="dataDir" value="../../../../../target/test/SolrARQCollection/data" />
+</core>
+</cores>
 </solr>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/geoarq-data-1.ttl
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/geoarq-data-1.ttl b/jena-spatial/src/test/resources/geoarq-data-1.ttl
index 50242d7..f3b3ea2 100644
--- a/jena-spatial/src/test/resources/geoarq-data-1.ttl
+++ b/jena-spatial/src/test/resources/geoarq-data-1.ttl
@@ -1,86 +1,86 @@
-@prefix : <http://localhost/jena_example/#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-@prefix dbp: <http://dbpedia.org/resource/> .
-@prefix airports: <http://airports.dataincubator.org/airports/> .
-@prefix airports_sc: <http://airports.dataincubator.org/schema/> .
-
-@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
-@prefix wkt: <http://www.opengis.net/ont/geosparql#> .
-
-airports:EGBB rdf:type airports_sc:LargeAirport ;
-    geo:lat "52.4539"^^xsd:float ;
-    geo:long "-1.74803"^^xsd:float ;
-    rdfs:label "Birmingham International Airport"
-    .
-
-airports:EGBB__Pair_1 rdf:type airports_sc:LargeAirport ;
-    :latitude_1 "52.4539"^^xsd:float ;
-    :longitude_1 "-1.74803"^^xsd:float ;
-    rdfs:label "Birmingham International Airport (Pair_1)"
-    .
-
-airports:EGBB_Pair_2 rdf:type airports_sc:LargeAirport ;
-    :latitude_2 "52.4539"^^xsd:float ;
-    :longitude_2 "-1.74803"^^xsd:float ;
-    rdfs:label "Birmingham International Airport (Pair_2)"
-    .
-
-airports:EGBB_WKT rdf:type airports_sc:LargeAirport ;
-    wkt:asWKT "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
-    rdfs:label "Birmingham International Airport (wktLiteral)"
-    .
-
-airports:EGBB_WKT_1 rdf:type airports_sc:LargeAirport ;
-    :wkt_1 "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
-    rdfs:label "Birmingham International Airport (wktLiteral_1)"
-    .
-
-airports:EGBB_WKT_2 rdf:type airports_sc:LargeAirport ;
-    :wkt_2 "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
-    rdfs:label "Birmingham International Airport (wktLiteral_2)"
-    .
-
-airports:EGBB_String rdf:type airports_sc:LargeAirport ;
-    geo:lat "52.4539" ;
-    geo:long "-1.74803" ;
-    rdfs:label "Birmingham International Airport (String)"
-    .
-
-airports:EGFF rdf:type airports_sc:LargeAirport ;
-    geo:lat "51.3967"^^xsd:float ;
-    geo:long "-3.34333"^^xsd:float ;
-    rdfs:label "Cardiff International Airport"
-    .
-
-airports:EGGD rdf:type airports_sc:LargeAirport ;
-    geo:lat "51.3827"^^xsd:float ;
-    geo:long "-2.71909"^^xsd:float ;
-    rdfs:label "Bristol International Airport"
-    .
-
-airports:EGKK rdf:type airports_sc:LargeAirport ;
-    geo:lat "51.1481"^^xsd:float ;
-    geo:long "-0.190278"^^xsd:float ;
-    rdfs:label "London Gatwick Airport"
-    .
-
-airports:EGSS rdf:type airports_sc:LargeAirport ;
-    geo:lat "51.885"^^xsd:float ;
-    geo:long "0.235"^^xsd:float ;
-    rdfs:label "London Stansted Airport"
-    .
-
-airports:EGBB_Fake_In_Box rdf:type airports_sc:LargeAirport ;
-    wkt:asWKT "Polygon ((-2.0000 51.2000, 1.0000 51.2000, 1.0000 51.8000, -2.0000 51.8000, -2.0000 51.2000))"^^wkt:wktLiteral ;
-    rdfs:label "Fake in Box Airport (wktLiteral)"
-    .
-
-airports:EGBB_Fake_out_of_Box rdf:type airports_sc:LargeAirport ;
-    wkt:asWKT "Polygon ((-2.0000 50.2000, 1.0000 50.2000, 1.0000 50.8000, -2.0000 50.8000, -2.0000 50.2000))"^^wkt:wktLiteral ;
-    rdfs:label "Fake out of Box Airport (wktLiteral)"
-    .
-
-
+@prefix : <http://localhost/jena_example/#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+@prefix dbp: <http://dbpedia.org/resource/> .
+@prefix airports: <http://airports.dataincubator.org/airports/> .
+@prefix airports_sc: <http://airports.dataincubator.org/schema/> .
+
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix wkt: <http://www.opengis.net/ont/geosparql#> .
+
+airports:EGBB rdf:type airports_sc:LargeAirport ;
+    geo:lat "52.4539"^^xsd:float ;
+    geo:long "-1.74803"^^xsd:float ;
+    rdfs:label "Birmingham International Airport"
+    .
+
+airports:EGBB__Pair_1 rdf:type airports_sc:LargeAirport ;
+    :latitude_1 "52.4539"^^xsd:float ;
+    :longitude_1 "-1.74803"^^xsd:float ;
+    rdfs:label "Birmingham International Airport (Pair_1)"
+    .
+
+airports:EGBB_Pair_2 rdf:type airports_sc:LargeAirport ;
+    :latitude_2 "52.4539"^^xsd:float ;
+    :longitude_2 "-1.74803"^^xsd:float ;
+    rdfs:label "Birmingham International Airport (Pair_2)"
+    .
+
+airports:EGBB_WKT rdf:type airports_sc:LargeAirport ;
+    wkt:asWKT "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
+    rdfs:label "Birmingham International Airport (wktLiteral)"
+    .
+
+airports:EGBB_WKT_1 rdf:type airports_sc:LargeAirport ;
+    :wkt_1 "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
+    rdfs:label "Birmingham International Airport (wktLiteral_1)"
+    .
+
+airports:EGBB_WKT_2 rdf:type airports_sc:LargeAirport ;
+    :wkt_2 "POINT(-1.74803 52.4539)"^^wkt:wktLiteral ;
+    rdfs:label "Birmingham International Airport (wktLiteral_2)"
+    .
+
+airports:EGBB_String rdf:type airports_sc:LargeAirport ;
+    geo:lat "52.4539" ;
+    geo:long "-1.74803" ;
+    rdfs:label "Birmingham International Airport (String)"
+    .
+
+airports:EGFF rdf:type airports_sc:LargeAirport ;
+    geo:lat "51.3967"^^xsd:float ;
+    geo:long "-3.34333"^^xsd:float ;
+    rdfs:label "Cardiff International Airport"
+    .
+
+airports:EGGD rdf:type airports_sc:LargeAirport ;
+    geo:lat "51.3827"^^xsd:float ;
+    geo:long "-2.71909"^^xsd:float ;
+    rdfs:label "Bristol International Airport"
+    .
+
+airports:EGKK rdf:type airports_sc:LargeAirport ;
+    geo:lat "51.1481"^^xsd:float ;
+    geo:long "-0.190278"^^xsd:float ;
+    rdfs:label "London Gatwick Airport"
+    .
+
+airports:EGSS rdf:type airports_sc:LargeAirport ;
+    geo:lat "51.885"^^xsd:float ;
+    geo:long "0.235"^^xsd:float ;
+    rdfs:label "London Stansted Airport"
+    .
+
+airports:EGBB_Fake_In_Box rdf:type airports_sc:LargeAirport ;
+    wkt:asWKT "Polygon ((-2.0000 51.2000, 1.0000 51.2000, 1.0000 51.8000, -2.0000 51.8000, -2.0000 51.2000))"^^wkt:wktLiteral ;
+    rdfs:label "Fake in Box Airport (wktLiteral)"
+    .
+
+airports:EGBB_Fake_out_of_Box rdf:type airports_sc:LargeAirport ;
+    wkt:asWKT "Polygon ((-2.0000 50.2000, 1.0000 50.2000, 1.0000 50.8000, -2.0000 50.8000, -2.0000 50.2000))"^^wkt:wktLiteral ;
+    rdfs:label "Fake out of Box Airport (wktLiteral)"
+    .
+
+

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/spatial-config-spatialindexer.ttl
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/spatial-config-spatialindexer.ttl b/jena-spatial/src/test/resources/spatial-config-spatialindexer.ttl
index 8655092..e1fae4d 100644
--- a/jena-spatial/src/test/resources/spatial-config-spatialindexer.ttl
+++ b/jena-spatial/src/test/resources/spatial-config-spatialindexer.ttl
@@ -1,52 +1,52 @@
-## Example of a TDB dataset and spatial index
-
-@prefix :        <http://localhost/jena_example/#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
-@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix spatial: <http://jena.apache.org/spatial#> .
-
-# Spatial
-[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
-spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
-#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
-spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
-
-## ---------------------------------------------------------------
-## This URI must be fixed - it's used to assemble the spatial dataset.
-
-:spatial_dataset rdf:type     spatial:SpatialDataset ;
-    spatial:dataset   <#dataset> ;
-    ##spaital:index   <#indexSolr> ;
-    spatial:index     <#indexLucene> ;
-    .
-
-<#dataset> rdf:type ja:RDFDataset ;
-    ja:defaultGraph <#graph>;
-    .
-
-<#graph> rdf:type ja:MemoryModel ;
-    ja:content [ja:externalContent <file:geoarq-data-1.ttl> ] ;
-    .
-
-<#indexLucene> a spatial:SpatialIndexLucene ;
-    spatial:directory <file:Lucene> ;
-    #spatial:directory "mem" ;
-    spatial:definition <#definition> ;
-    .
-
-<#definition> a spatial:EntityDefinition ;
-    spatial:entityField      "uri" ;
-    spatial:geoField     "geo" ;
-    # custom geo predicates for 1) latitude/longitude
-    spatial:hasSpatialPredicatePairs (
-         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
-         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
-         ) ;
-    # custom geo predicates for 2) Well Known Text Literal
-    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
-    # custom SpatialContextFactory for 2) Well Known Text Literal
-    spatial:spatialContextFactory
-         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
-    .
+## Example of a TDB dataset and spatial index
+
+@prefix :        <http://localhost/jena_example/#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
+@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix spatial: <http://jena.apache.org/spatial#> .
+
+# Spatial
+[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
+spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
+#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
+spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
+
+## ---------------------------------------------------------------
+## This URI must be fixed - it's used to assemble the spatial dataset.
+
+:spatial_dataset rdf:type     spatial:SpatialDataset ;
+    spatial:dataset   <#dataset> ;
+    ##spaital:index   <#indexSolr> ;
+    spatial:index     <#indexLucene> ;
+    .
+
+<#dataset> rdf:type ja:RDFDataset ;
+    ja:defaultGraph <#graph>;
+    .
+
+<#graph> rdf:type ja:MemoryModel ;
+    ja:content [ja:externalContent <file:geoarq-data-1.ttl> ] ;
+    .
+
+<#indexLucene> a spatial:SpatialIndexLucene ;
+    spatial:directory <file:Lucene> ;
+    #spatial:directory "mem" ;
+    spatial:definition <#definition> ;
+    .
+
+<#definition> a spatial:EntityDefinition ;
+    spatial:entityField      "uri" ;
+    spatial:geoField     "geo" ;
+    # custom geo predicates for 1) latitude/longitude
+    spatial:hasSpatialPredicatePairs (
+         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
+         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
+         ) ;
+    # custom geo predicates for 2) Well Known Text Literal
+    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
+    # custom SpatialContextFactory for 2) Well Known Text Literal
+    spatial:spatialContextFactory
+         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/spatial-config.ttl
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/spatial-config.ttl b/jena-spatial/src/test/resources/spatial-config.ttl
index 0c90874..258c965 100644
--- a/jena-spatial/src/test/resources/spatial-config.ttl
+++ b/jena-spatial/src/test/resources/spatial-config.ttl
@@ -1,54 +1,54 @@
-## Example of a TDB dataset and spatial index
-
-@prefix :        <http://localhost/jena_example/#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
-@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix spatial: <http://jena.apache.org/spatial#> .
-
-# TDB
-[] ja:loadClass "org.apache.jena.tdb.TDB" .
-tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
-tdb:GraphTDB    rdfs:subClassOf  ja:Model .
-
-# Spatial
-[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
-spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
-#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
-spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
-
-## ---------------------------------------------------------------
-## This URI must be fixed - it's used to assemble the spatial dataset.
-
-:spatial_dataset rdf:type     spatial:SpatialDataset ;
-    spatial:dataset   <#dataset> ;
-    ##spaital:index   <#indexSolr> ;
-    spatial:index     <#indexLucene> ;
-    .
-
-<#dataset> rdf:type      tdb:DatasetTDB ;
-    tdb:location "--mem--" ;
-    tdb:unionDefaultGraph true ;
-    .
-
-<#indexLucene> a spatial:SpatialIndexLucene ;
-    #spatial:directory <file:Lucene> ;
-    spatial:directory "mem" ;
-    spatial:definition <#definition> ;
-    .
-
-<#definition> a spatial:EntityDefinition ;
-    spatial:entityField      "uri" ;
-    spatial:geoField     "geo" ;
-    # custom geo predicates for 1) latitude/longitude
-    spatial:hasSpatialPredicatePairs (
-         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
-         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
-         ) ;
-    # custom geo predicates for 2) Well Known Text Literal
-    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
-    # custom SpatialContextFactory for 2) Well Known Text Literal
-    spatial:spatialContextFactory
-         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
-    .
+## Example of a TDB dataset and spatial index
+
+@prefix :        <http://localhost/jena_example/#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
+@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix spatial: <http://jena.apache.org/spatial#> .
+
+# TDB
+[] ja:loadClass "org.apache.jena.tdb.TDB" .
+tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
+tdb:GraphTDB    rdfs:subClassOf  ja:Model .
+
+# Spatial
+[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
+spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
+#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
+spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
+
+## ---------------------------------------------------------------
+## This URI must be fixed - it's used to assemble the spatial dataset.
+
+:spatial_dataset rdf:type     spatial:SpatialDataset ;
+    spatial:dataset   <#dataset> ;
+    ##spaital:index   <#indexSolr> ;
+    spatial:index     <#indexLucene> ;
+    .
+
+<#dataset> rdf:type      tdb:DatasetTDB ;
+    tdb:location "--mem--" ;
+    tdb:unionDefaultGraph true ;
+    .
+
+<#indexLucene> a spatial:SpatialIndexLucene ;
+    #spatial:directory <file:Lucene> ;
+    spatial:directory "mem" ;
+    spatial:definition <#definition> ;
+    .
+
+<#definition> a spatial:EntityDefinition ;
+    spatial:entityField      "uri" ;
+    spatial:geoField     "geo" ;
+    # custom geo predicates for 1) latitude/longitude
+    spatial:hasSpatialPredicatePairs (
+         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
+         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
+         ) ;
+    # custom geo predicates for 2) Well Known Text Literal
+    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
+    # custom SpatialContextFactory for 2) Well Known Text Literal
+    spatial:spatialContextFactory
+         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/587c66ae/jena-spatial/src/test/resources/spatial-solr-config.ttl
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/spatial-solr-config.ttl b/jena-spatial/src/test/resources/spatial-solr-config.ttl
index dfa0a33..b8f16ed 100644
--- a/jena-spatial/src/test/resources/spatial-solr-config.ttl
+++ b/jena-spatial/src/test/resources/spatial-solr-config.ttl
@@ -1,51 +1,51 @@
- ## Example of a TDB dataset and spatial index
-
-@prefix :        <http://localhost/jena_example/#> .
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
-@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
-@prefix spatial: <http://jena.apache.org/spatial#> .
-
-# TDB
-[] ja:loadClass "org.apache.jena.tdb.TDB" .
-tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
-tdb:GraphTDB    rdfs:subClassOf  ja:Model .
-
-# Spatial
-[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
-spatial:SpatialDataset   rdfs:subClassOf   ja:RDFDataset .
-spatial:SpatialIndexSolr rdfs:subClassOf   spatial:SpatialIndex .
-
-## ---------------------------------------------------------------
-## This URI must be fixed - it's used to assemble the spatial dataset.
-
-:spatial_dataset rdf:type     spatial:SpatialDataset ;
-    spatial:dataset <#dataset> ;
-    spatial:index   <#indexSolr> ;
-    .
-
-<#dataset> rdf:type      tdb:DatasetTDB ;
-    tdb:location "--mem--" ;
-    .
-
-<#indexSolr> a spatial:SpatialIndexSolr ;
-    spatial:server <embedded:SolrARQCollection> ;
-    spatial:solrHome <file:SolrHome> ;
-    spatial:definition <#definition> ;
-    .
-
-<#definition> a spatial:EntityDefinition ;
-    spatial:entityField      "uri" ;
-    spatial:geoField     "geo" ;
-    # custom geo predicates for 1) latitude/longitude
-    spatial:hasSpatialPredicatePairs (
-         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
-         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
-         ) ;
-    # custom geo predicates for 2) Well Known Text Literal
-    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
-    # custom SpatialContextFactory for 2) Well Known Text Literal
-    spatial:spatialContextFactory
-         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
+ ## Example of a TDB dataset and spatial index
+
+@prefix :        <http://localhost/jena_example/#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
+@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix spatial: <http://jena.apache.org/spatial#> .
+
+# TDB
+[] ja:loadClass "org.apache.jena.tdb.TDB" .
+tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
+tdb:GraphTDB    rdfs:subClassOf  ja:Model .
+
+# Spatial
+[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
+spatial:SpatialDataset   rdfs:subClassOf   ja:RDFDataset .
+spatial:SpatialIndexSolr rdfs:subClassOf   spatial:SpatialIndex .
+
+## ---------------------------------------------------------------
+## This URI must be fixed - it's used to assemble the spatial dataset.
+
+:spatial_dataset rdf:type     spatial:SpatialDataset ;
+    spatial:dataset <#dataset> ;
+    spatial:index   <#indexSolr> ;
+    .
+
+<#dataset> rdf:type      tdb:DatasetTDB ;
+    tdb:location "--mem--" ;
+    .
+
+<#indexSolr> a spatial:SpatialIndexSolr ;
+    spatial:server <embedded:SolrARQCollection> ;
+    spatial:solrHome <file:SolrHome> ;
+    spatial:definition <#definition> ;
+    .
+
+<#definition> a spatial:EntityDefinition ;
+    spatial:entityField      "uri" ;
+    spatial:geoField     "geo" ;
+    # custom geo predicates for 1) latitude/longitude
+    spatial:hasSpatialPredicatePairs (
+         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
+         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
+         ) ;
+    # custom geo predicates for 2) Well Known Text Literal
+    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
+    # custom SpatialContextFactory for 2) Well Known Text Literal
+    spatial:spatialContextFactory
+         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
     .
\ No newline at end of file