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 14:03:31 UTC
[32/42] jena git commit: Merge commit 'refs/pull/143/head' of
github.com:apache/jena
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
----------------------------------------------------------------------
diff --cc jena-arq/src/test/java/org/apache/jena/riot/TestRiotReader.java
index b54df07,b54df07..24f4738
--- 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 +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/4b5cd267/jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
----------------------------------------------------------------------
diff --cc jena-arq/src/test/java/org/apache/jena/sparql/engine/index/TestIndexTable.java
index 30ff9d4,30ff9d4..5c14139
--- 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 +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/4b5cd267/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
----------------------------------------------------------------------
diff --cc jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
index 95b2cd3,5b4c5fc..1c9c30e
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestFunctions.java
@@@ -18,14 -18,14 +18,20 @@@
package org.apache.jena.sparql.expr;
--import static org.junit.Assert.* ;
++import static org.junit.Assert.assertEquals ;
++import static org.junit.Assert.assertFalse ;
++import static org.junit.Assert.assertTrue ;
++import static org.junit.Assert.fail ;
++
++import java.text.ParseException;
++import java.text.SimpleDateFormat;
++import java.util.Date;
++import java.util.TimeZone;
++
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.sparql.ARQConstants ;
--import org.apache.jena.sparql.expr.Expr ;
--import org.apache.jena.sparql.expr.ExprEvalException ;
--import org.apache.jena.sparql.expr.NodeValue ;
import org.apache.jena.sparql.function.FunctionEnvBase ;
import org.apache.jena.sparql.util.ExprUtils ;
import org.junit.Test ;
@@@ -76,33 -84,40 +82,63 @@@ public class TestFunction
@Test public void exprSprintf_02() { test("afn:sprintf('%s', 'abcdefghi')",NodeValue.makeString("abcdefghi")) ; }
@Test public void exprSprintf_03() { test("afn:sprintf('sometext %s', 'abcdefghi')",NodeValue.makeString("sometext abcdefghi")) ; }
@Test public void exprSprintf_04() { test("afn:sprintf('%1$tm %1$te,%1$tY', '2016-03-17'^^xsd:date)",NodeValue.makeString("03 17,2016")) ; }
--// @Test public void exprSprintf_05() {
--// String nodeStr = NodeValue.makeDateTime("2005-10-14T13:09:43Z").toString();
--// test("afn:sprintf('%1$tm %1$te,%1$tY', "+nodeStr+")",NodeValue.makeString("10 14,2005")) ;
--// }
- private static void test_exprSprintf_05(String nodeStr, String... possible) {
- private static void test_exprSprintf_05(String nodeStr) {
++ // Calculate the expected answer by using SimpleDateFormat
++ private static void test_exprSprintf_05_V1(String nodeStr) {
+ String exprStr = "afn:sprintf('%1$tm %1$te,%1$tY', "+NodeValue.makeDateTime(nodeStr).toString()+")" ;
+ Expr expr = ExprUtils.parse(exprStr) ;
+ NodeValue r = expr.eval(null, FunctionEnvBase.createTest()) ;
+ assertTrue(r.isString()) ;
+ String s = r.getString() ;
+ // Parse the date
+ String dtFormat = "yyyy-MM-dd'T'HH:mm:ssXXX";
+ SimpleDateFormat sdtFormat = new SimpleDateFormat(dtFormat);
+ Date dtDate = null;
+ try {
+ dtDate = sdtFormat.parse(nodeStr);
+ } catch (ParseException e) {
+ assertFalse("Cannot parse the input date string. Message:"+e.getMessage(),false);
+ }
+ // print the date based on the current timeZone.
+ SimpleDateFormat stdFormatOut = new SimpleDateFormat("MM dd,yyyy");
+ stdFormatOut.setTimeZone(TimeZone.getDefault());
+ String outDate = stdFormatOut.format(dtDate);
+ assertEquals(s,outDate);
+ }
+
+ // Temporary fix for JENA-1175
+ // Timezone -11:00 to any timezone can be a day ahead
- @Test public void exprSprintf_05a() { test_exprSprintf_05("2005-10-14T14:09:43-11:00") ; }
++ @Test public void exprSprintf_05a() { test_exprSprintf_05_V1("2005-10-14T14:09:43-11:00") ; }
++ // Timezone Z to any timezone can be a day behind or a day ahead
++ @Test public void exprSprintf_05b() { test_exprSprintf_05_V1("2005-10-14T12:09:43+00:00") ; }
++ // Timezone +11:00 can be a day behind
++ @Test public void exprSprintf_05c() { test_exprSprintf_05_V1("2005-10-14T10:09:43+11:00") ; }
++
++ // Accept alternative possible "right" answers.
++ private static void test_exprSprintf_05_V2(String nodeStr, String... possible) {
+ String exprStr = "afn:sprintf('%1$tm %1$te,%1$tY', "+NodeValue.makeDateTime(nodeStr).toString()+")" ;
+ Expr expr = ExprUtils.parse(exprStr) ;
+ NodeValue r = expr.eval(null, FunctionEnvBase.createTest()) ;
+ assertTrue(r.isString()) ;
+ String s = r.getString() ;
+ // Timezones! The locale data can be -1, 0, +1 from the Z day.
+ boolean b = false ;
+ for (String poss : possible ) {
+ if ( poss.equals(s) )
+ b = true ;
+ }
+ assertTrue(b) ;
+ }
+
+ // Temporary fix for JENA-1175
+ // Timezone -11:00 to any timezone can be a day ahead
- @Test public void exprSprintf_05a() { test_exprSprintf_05("2005-10-14T14:09:43-11:00", "10 14,2005", "10 15,2005") ; }
++ @Test public void exprSprintf_05d() { test_exprSprintf_05_V2("2005-10-14T14:09:43-11:00", "10 14,2005", "10 15,2005") ; }
// Timezone Z to any timezone can be a day behind or a day ahead
- @Test public void exprSprintf_05b() { test_exprSprintf_05("2005-10-14T12:09:43Z", "10 13,2005", "10 14,2005", "10 15,2005") ; }
- @Test public void exprSprintf_05b() { test_exprSprintf_05("2005-10-14T12:09:43+00:00") ; }
++ @Test public void exprSprintf_05e() { test_exprSprintf_05_V2("2005-10-14T12:09:43Z", "10 13,2005", "10 14,2005", "10 15,2005") ; }
// Timezone +11:00 can be a day behind
- @Test public void exprSprintf_05c() { test_exprSprintf_05("2005-10-14T10:09:43+11:00", "10 13,2005", "10 14,2005") ; }
- @Test public void exprSprintf_05d() { test_exprSprintf_05("2005-10-14T10:09:43+11:00") ; }
++ @Test public void exprSprintf_05f() { test_exprSprintf_05_V2("2005-10-14T10:09:43+11:00", "10 13,2005", "10 14,2005") ; }
++
++
@Test public void exprSprintf_06() { test("afn:sprintf('this is %s', 'false'^^xsd:boolean)",NodeValue.makeString("this is false")) ; }
@Test public void exprSprintf_07() { test("afn:sprintf('this number is equal to %.2f', '11.22'^^xsd:decimal)",NodeValue.makeString("this number is equal to "+String.format("%.2f",11.22))) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
----------------------------------------------------------------------
diff --cc jena-arq/src/test/java/org/apache/jena/web/AbstractTestDatasetGraphAccessor.java
index e013f0c,e013f0c..1aececa
--- 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 +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 +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 +46,135 @@@
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/4b5cd267/jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
----------------------------------------------------------------------
diff --cc jena-arq/src/test/java/org/apache/jena/web/TestDatasetGraphAccessorMem.java
index f2a633a,f2a633a..14295c3
--- 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 +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/4b5cd267/jena-arq/src/test/resources/test.csv
----------------------------------------------------------------------
diff --cc jena-arq/src/test/resources/test.csv
index b9ac0e1,b9ac0e1..306e493
--- a/jena-arq/src/test/resources/test.csv
+++ b/jena-arq/src/test/resources/test.csv
@@@ -1,3 -1,3 +1,3 @@@
--Town,Population,Predicate With Space,`~!@#$%^&*()-_=+[{]}|\;:'"<.>/?,1234
--Southton,123000.0,PredicateWithSpace1,NonURICharacters1,DigitalLocalName1
--Northville,654000,PredicateWithSpace2,NonURICharacters2,DigitalLocalName2
++Town,Population,Predicate With Space,`~!@#$%^&*()-_=+[{]}|\;:'"<.>/?,1234
++Southton,123000.0,PredicateWithSpace1,NonURICharacters1,DigitalLocalName1
++Northville,654000,PredicateWithSpace2,NonURICharacters2,DigitalLocalName2
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-data-2.ttl
index 9a434a5,9a434a5..858a0bc
--- 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 +1,2 @@@
--@prefix : <http://example.org/ns#> .
++@prefix : <http://example.org/ns#> .
:s :p :o .
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-dataset.trig
index 2ca2b27,2ca2b27..2dd369a
--- 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 +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 }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-default-graph.ttl
index f07c90c,f07c90c..c39d57f
--- 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 +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/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-named-graph.trig
index 876197f,876197f..d789da4
--- 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 +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 }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-1.trig
index f95c57b,f95c57b..7ed6d7f
--- 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 +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 }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-2.ttl
index 9a434a5,9a434a5..858a0bc
--- 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 +1,2 @@@
--@prefix : <http://example.org/ns#> .
++@prefix : <http://example.org/ns#> .
:s :p :o .
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-short-form-3.trig
index ab87333,ab87333..6b48ffd
--- 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 +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 }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-1.trig
index ee42de7,ee42de7..78c9d04
--- 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 +1,2 @@@
--@prefix : <http://example.org/ns#> .
++@prefix : <http://example.org/ns#> .
:g {:s :p :o }
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-3.ttl
index 8914bbe,8914bbe..0cb2bd7
--- 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 +1,2 @@@
--@prefix : <http://example.org/ns#> .
++@prefix : <http://example.org/ns#> .
:s :p :o
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-4.trig
index eb40f00,eb40f00..7fdc75d
--- 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 +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}
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-5.trig
index eb40f00,eb40f00..7fdc75d
--- 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 +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}
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-6.trig
index 9ddbf74,9ddbf74..67d9665
--- 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 +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 .}
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
----------------------------------------------------------------------
diff --cc jena-arq/testing/ARQ/Construct/results-construct-quad-syntax-7.ttl
index 8914bbe,8914bbe..0cb2bd7
--- 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 +1,2 @@@
--@prefix : <http://example.org/ns#> .
++@prefix : <http://example.org/ns#> .
:s :p :o
http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
----------------------------------------------------------------------
diff --cc jena-arq/testing/RIOT/Lang/TrigStd/literal_with_CARRIAGE_RETURN.trig
index 18d6fe8,18d6fe8..0be04a9
--- 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 +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> '''
''' .}