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 2018/01/17 20:19:14 UTC

[1/5] jena git commit: JENA-1463: test @base/xml:base file://example.com/

Repository: jena
Updated Branches:
  refs/heads/master 40e78407e -> 550a4cfeb


JENA-1463: test @base/xml:base file://example.com/


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

Branch: refs/heads/master
Commit: bfd45548aa808fe44c558115ad6bd5fcb393ac6c
Parents: 1b15211
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 11 18:33:24 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Jan 16 01:11:55 2018 +0000

----------------------------------------------------------------------
 .../apache/jena/riot/TestParseURISchemeBases.java    | 15 +++++++++++++++
 jena-arq/testing/RIOT/URISchemes/file-base.rdf       |  8 ++++++++
 jena-arq/testing/RIOT/URISchemes/file-base.ttl       |  5 +++++
 3 files changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/bfd45548/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
index 8fc816a..1f20e41 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
@@ -248,6 +248,21 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
+	public void fileBaseRDF() throws Exception {
+		RDFDataMgr.read(m, load("file-base.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("fileRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void fileBaseTTL() throws Exception {
+		RDFDataMgr.read(m, load("file-base.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("fileTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+	
+	
+	@Test
 	public void httpNT() throws Exception {
 		RDFDataMgr.read(m, load("http.nt"), Lang.NTRIPLES);
 		dumpModelWithMessage("httpNT");

http://git-wip-us.apache.org/repos/asf/jena/blob/bfd45548/jena-arq/testing/RIOT/URISchemes/file-base.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file-base.rdf b/jena-arq/testing/RIOT/URISchemes/file-base.rdf
new file mode 100644
index 0000000..6839a24
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/file-base.rdf
@@ -0,0 +1,8 @@
+<rdf:RDF
+    xml:base="http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="foo.txt">
+    <rdfs:seeAlso rdf:resource="/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/bfd45548/jena-arq/testing/RIOT/URISchemes/file-base.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file-base.ttl b/jena-arq/testing/RIOT/URISchemes/file-base.ttl
new file mode 100644
index 0000000..a34da04
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/file-base.ttl
@@ -0,0 +1,5 @@
+@base <file://example.com/nested/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<foo.txt> rdfs:seeAlso </bar.txt> .
+


[5/5] jena git commit: JENA-1462: Merge commit 'refs/pull/341/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1462: Merge commit 'refs/pull/341/head' of github.com:apache/jena

This closes #341.


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

Branch: refs/heads/master
Commit: 550a4cfeb20363b81bae243c35cc67db1088518d
Parents: 40e7840 5200369
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Jan 17 18:57:53 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Jan 17 18:57:53 2018 +0000

----------------------------------------------------------------------
 .../org/apache/jena/riot/TS_RiotGeneral.java    |   1 +
 .../jena/riot/TestParseURISchemeBases.java      | 384 +++++++++++++++++++
 jena-arq/testing/RIOT/URISchemes/app-base.rdf   |   8 +
 jena-arq/testing/RIOT/URISchemes/app-base.ttl   |   5 +
 jena-arq/testing/RIOT/URISchemes/app.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/app.ttl        |   3 +
 jena-arq/testing/RIOT/URISchemes/example.rdf    |   7 +
 jena-arq/testing/RIOT/URISchemes/example.ttl    |   3 +
 jena-arq/testing/RIOT/URISchemes/file-base.rdf  |   8 +
 jena-arq/testing/RIOT/URISchemes/file-base.ttl  |   5 +
 jena-arq/testing/RIOT/URISchemes/file.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/file.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/http-base.rdf  |   8 +
 jena-arq/testing/RIOT/URISchemes/http-base.ttl  |   5 +
 jena-arq/testing/RIOT/URISchemes/http.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/http.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/jena.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/jena.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/rel.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/rel.ttl        |   2 +
 jena-arq/testing/RIOT/URISchemes/ssh-base.rdf   |   8 +
 jena-arq/testing/RIOT/URISchemes/ssh-base.ttl   |   3 +
 jena-arq/testing/RIOT/URISchemes/ssh.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/ssh.ttl        |   2 +
 jena-arq/testing/RIOT/URISchemes/x-madeup.rdf   |   7 +
 jena-arq/testing/RIOT/URISchemes/x-madeup.ttl   |   2 +
 26 files changed, 512 insertions(+)
----------------------------------------------------------------------



[2/5] jena git commit: JENA-1462: Tests RDF/XML parsing newer URI schemes

Posted by an...@apache.org.
JENA-1462: Tests RDF/XML parsing newer URI schemes

RIOT parsing RDF/XML with a base URI different from http/https/file,
such as ssh://, fails.

Note as JENA-1462 is not fixed, this only adds the unit tests.


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

Branch: refs/heads/master
Commit: 1b152112ca0338df0acd1378be26d379ac1f80ae
Parents: 9f4010e
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 11 18:12:33 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Jan 16 01:11:55 2018 +0000

----------------------------------------------------------------------
 .../org/apache/jena/riot/TS_RiotGeneral.java    |   1 +
 .../jena/riot/TestParseURISchemeBases.java      | 419 +++++++++++++++++++
 jena-arq/testing/RIOT/URISchemes/app-base.rdf   |   8 +
 jena-arq/testing/RIOT/URISchemes/app-base.ttl   |   5 +
 jena-arq/testing/RIOT/URISchemes/app.nt         |   1 +
 jena-arq/testing/RIOT/URISchemes/app.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/app.ttl        |   3 +
 jena-arq/testing/RIOT/URISchemes/example.nt     |   1 +
 jena-arq/testing/RIOT/URISchemes/example.rdf    |   7 +
 jena-arq/testing/RIOT/URISchemes/example.ttl    |   3 +
 jena-arq/testing/RIOT/URISchemes/file.nt        |   1 +
 jena-arq/testing/RIOT/URISchemes/file.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/file.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/http-base.rdf  |   8 +
 jena-arq/testing/RIOT/URISchemes/http-base.ttl  |   5 +
 jena-arq/testing/RIOT/URISchemes/http.nt        |   1 +
 jena-arq/testing/RIOT/URISchemes/http.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/http.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/jena.nt        |   1 +
 jena-arq/testing/RIOT/URISchemes/jena.rdf       |   7 +
 jena-arq/testing/RIOT/URISchemes/jena.ttl       |   3 +
 jena-arq/testing/RIOT/URISchemes/rel.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/rel.ttl        |   2 +
 jena-arq/testing/RIOT/URISchemes/ssh-base.rdf   |   8 +
 jena-arq/testing/RIOT/URISchemes/ssh-base.ttl   |   3 +
 jena-arq/testing/RIOT/URISchemes/ssh.nt         |   1 +
 jena-arq/testing/RIOT/URISchemes/ssh.rdf        |   7 +
 jena-arq/testing/RIOT/URISchemes/ssh.ttl        |   2 +
 jena-arq/testing/RIOT/URISchemes/x-madeup.nt    |   1 +
 jena-arq/testing/RIOT/URISchemes/x-madeup.rdf   |   7 +
 jena-arq/testing/RIOT/URISchemes/x-madeup.ttl   |   2 +
 31 files changed, 541 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/src/test/java/org/apache/jena/riot/TS_RiotGeneral.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TS_RiotGeneral.java b/jena-arq/src/test/java/org/apache/jena/riot/TS_RiotGeneral.java
index c33b75f..098ff26 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TS_RiotGeneral.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TS_RiotGeneral.java
@@ -34,6 +34,7 @@ import org.junit.runners.Suite.SuiteClasses ;
     , TestRDFParser.class
     , TestParserRegistry.class
     , TestRDFWriter.class
+    , TestParseURISchemeBases.class
 })
 
 public class TS_RiotGeneral

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
new file mode 100644
index 0000000..8fc816a
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
@@ -0,0 +1,419 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Objects;
+import org.apache.jena.iri.IRIFactory;
+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.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.ResourceFactory;
+import org.apache.jena.rdf.model.ResourceFactory.Interface;
+import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.vocabulary.RDFS;
+import org.junit.Test;
+
+/**
+ * Tests for parsing RDF in various formats using various URI schemes from
+ * https://www.iana.org/assignments according to
+ * https://tools.ietf.org/html/rfc3986#section-3.1 and registered according to
+ * https://tools.ietf.org/html/bcp35
+ * 
+ * URI schemes can be classified as:
+ * 
+ * permanent https://tools.ietf.org/html/bcp35#section-3 provisional
+ * https://tools.ietf.org/html/bcp35#section-4 historical
+ * https://tools.ietf.org/html/bcp35#section-5 private (not listed)
+ * https://tools.ietf.org/html/bcp35#section-6
+ * 
+ * Note that all of the above are syntactically equal, so there should not be
+ * any difference in Jena's parsing.
+ * 
+ * Tests named *Base* assumes the format-specific base URI, e.g.
+ * <code>@base</code> in Turtle or <code>xml:base</code> in RDF/XML. Test named
+ * *Rel* load RDF files that only have relative URI references and apply a base
+ * as parameter to RDFDataMGr.
+ * 
+ */
+public class TestParseURISchemeBases {
+
+	/**
+	 * Run with -Ddebug=true to log all parsed models to System.out
+	 */
+	private static boolean DEBUG = Boolean.getBoolean("debug");
+	private static Path DIR = Paths.get("testing/RIOT/URISchemes/");
+
+	// private
+	// https://www.w3.org/TR/app-uri/
+	private static final String APP_BASE = "app://2dee5b0a-6100-470a-a67f-1399518cb470/";
+
+	// Permanent https://tools.ietf.org/html/rfc7595#section-8
+	private static final String EXAMPLE_BASE = "example://2dee5b0a-6100-470a-a67f-1399518cb470/";
+	// permanent file with a real hostname
+	// Must match src/main/resources/file*
+	private static final String FILE_BASE = "file://example.com/";
+	// permanent http with a phoney (but syntactically valid) UUID hostname
+	private static final String HTTP_BASE = "http://2dee5b0a-6100-470a-a67f-1399518cb470/";
+	// private scheme according to https://tools.ietf.org/html/bcp35#section-3.8
+	private static final String JENA_BASE = "org.apache.jena.test://foo/";
+	// Provisional https://www.iana.org/assignments/uri-schemes/prov/ssh
+	private static final String SSH_BASE = "ssh://example.com/";
+
+	// private made-up scheme that contains "-"
+	private static final String X_MADEUP_BASE = "x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/";
+
+	IRIFactory iriFactory = IRIFactory.iriImplementation();
+	Model m = ModelFactory.createDefaultModel();
+	Interface resourceFactory = ResourceFactory.getInstance();
+
+	/**
+	 * If system property -Ddebug is true, print name of method dump the current RDF
+	 * model to System.out
+	 * 
+	 * @param msg
+	 *            Message to include in output
+	 */
+	private void dumpModelWithMessage(String msg) {
+		if (!DEBUG) {
+			return;
+		}
+		System.out.println(msg);
+		RDFDataMgr.write(System.out, m, Lang.NTRIPLES);
+	}
+
+	/**
+	 * Parse all files as input stream to avoid confusion with local file:/// URIs
+	 */
+	private InputStream load(String f) throws IOException {
+		Path file = DIR.resolve(f);
+		assertTrue("Can't find " + file, Files.isRegularFile(file));
+		// Read in memory to avoid keeping the file open in case test fails on Windows
+		byte[] content = Files.readAllBytes(file);
+		return new ByteArrayInputStream(content);
+	}
+
+	/**
+	 * The expected statement, depending on the provided base.
+	 */
+	private Statement expectedStatement(String base) {
+		Resource s = resourceFactory.createResource(base + "nested/foo.txt");
+		Property p = RDFS.seeAlso;
+		RDFNode o = resourceFactory.createResource(base + "bar.txt");
+		return resourceFactory.createStatement(s, p, o);
+	}
+
+	@Test
+	public void appBaseRDF() throws Exception {
+		RDFDataMgr.read(m, load("app-base.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("appBaseRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appBaseTTL() throws Exception {
+		RDFDataMgr.read(m, load("app-base.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("appBaseTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appNT() throws Exception {
+		RDFDataMgr.read(m, load("app.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("appNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appRDF() throws Exception {
+		RDFDataMgr.read(m, load("app.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("appRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), APP_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("appRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), APP_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("appRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void appTTL() throws Exception {
+		RDFDataMgr.read(m, load("app.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("appTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
+	}
+
+	@Test
+	public void exampleNT() throws Exception {
+		RDFDataMgr.read(m, load("example.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("exampleNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
+	}
+
+	@Test
+	public void exampleRDF() throws Exception {
+		RDFDataMgr.read(m, load("example.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("exampleRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
+	}
+
+	@Test
+	public void exampleRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), EXAMPLE_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("exampleRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
+	}
+
+	@Test
+	public void exampleRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), EXAMPLE_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("exampleRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
+	}
+
+	@Test
+	public void exampleTTL() throws Exception {
+		RDFDataMgr.read(m, load("example.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("exampleTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
+	}
+
+	@Test
+	public void fileNT() throws Exception {
+		RDFDataMgr.read(m, load("file.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("fileNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void fileRDF() throws Exception {
+		RDFDataMgr.read(m, load("file.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("fileRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void fileRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), FILE_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("fileRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void fileRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), FILE_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("fileRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void fileTTL() throws Exception {
+		RDFDataMgr.read(m, load("file.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("fileTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
+	}
+
+	@Test
+	public void httpNT() throws Exception {
+		RDFDataMgr.read(m, load("http.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("httpNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpRDF() throws Exception {
+		RDFDataMgr.read(m, load("http.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("httpRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpBaseRDF() throws Exception {
+		RDFDataMgr.read(m, load("http-base.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("httpBaseRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpBaseTTL() throws Exception {
+		RDFDataMgr.read(m, load("http-base.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("httpBaseTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), HTTP_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("httpRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), HTTP_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("httpRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void httpTTL() throws Exception {
+		RDFDataMgr.read(m, load("http.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("httpTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
+	}
+
+	@Test
+	public void jenaNT() throws Exception {
+		RDFDataMgr.read(m, load("jena.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("jenaNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
+	}
+
+	@Test
+	public void jenaRDF() throws Exception {
+		RDFDataMgr.read(m, load("jena.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("jenaRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
+	}
+
+	@Test
+	public void jenaRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), JENA_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("jenaRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
+	}
+
+	@Test
+	public void jenaRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), JENA_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("jenaRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
+	}
+
+	@Test
+	public void jenaTTL() throws Exception {
+		RDFDataMgr.read(m, load("jena.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("jenaTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
+	}
+
+	@Test
+	public void sshBaseRDF() throws Exception {
+		RDFDataMgr.read(m, load("ssh-base.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("sshBaseRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshBaseTTL() throws Exception {
+		RDFDataMgr.read(m, load("ssh-base.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("sshBaseTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshNT() throws Exception {
+		RDFDataMgr.read(m, load("ssh.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("sshNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshRDF() throws Exception {
+		RDFDataMgr.read(m, load("ssh.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("sshRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), SSH_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("sshRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), SSH_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("sshRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void sshTTL() throws Exception {
+		RDFDataMgr.read(m, load("ssh.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("sshTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
+	}
+
+	@Test
+	public void xMadeupNT() throws Exception {
+		RDFDataMgr.read(m, load("x-madeup.nt"), Lang.NTRIPLES);
+		dumpModelWithMessage("xMadeupNT");
+		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
+	}
+
+	@Test
+	public void xMadeupRDF() throws Exception {
+		RDFDataMgr.read(m, load("x-madeup.rdf"), Lang.RDFXML);
+		dumpModelWithMessage("xMadeupRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
+	}
+
+	@Test
+	public void xMadeupRelRDF() throws Exception {
+		RDFDataMgr.read(m, load("rel.rdf"), X_MADEUP_BASE + "nested/", Lang.RDFXML);
+		dumpModelWithMessage("xMadeupRelRDF");
+		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
+	}
+
+	@Test
+	public void xMadeupRelTTL() throws Exception {
+		RDFDataMgr.read(m, load("rel.ttl"), X_MADEUP_BASE + "nested/", Lang.TURTLE);
+		dumpModelWithMessage("xMadeupRelTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
+	}
+
+	@Test
+	public void xMadeupTTL() throws Exception {
+		RDFDataMgr.read(m, load("x-madeup.ttl"), Lang.TURTLE);
+		dumpModelWithMessage("xMadeupTTL");
+		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
+	}
+
+	//
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/app-base.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app-base.rdf b/jena-arq/testing/RIOT/URISchemes/app-base.rdf
new file mode 100644
index 0000000..9ad31a6
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/app-base.rdf
@@ -0,0 +1,8 @@
+<rdf:RDF
+    xml:base="app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="foo.txt">
+    <rdfs:seeAlso rdf:resource="/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/app-base.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app-base.ttl b/jena-arq/testing/RIOT/URISchemes/app-base.ttl
new file mode 100644
index 0000000..6d23748
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/app-base.ttl
@@ -0,0 +1,5 @@
+@base <app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<foo.txt> rdfs:seeAlso </bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/app.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app.nt b/jena-arq/testing/RIOT/URISchemes/app.nt
new file mode 100644
index 0000000..386ffd8
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/app.nt
@@ -0,0 +1 @@
+<app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <app://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/app.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app.rdf b/jena-arq/testing/RIOT/URISchemes/app.rdf
new file mode 100644
index 0000000..0a8f3bf
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/app.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="app://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/app.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app.ttl b/jena-arq/testing/RIOT/URISchemes/app.ttl
new file mode 100644
index 0000000..3bd1f96
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/app.ttl
@@ -0,0 +1,3 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> rdfs:seeAlso <app://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/example.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/example.nt b/jena-arq/testing/RIOT/URISchemes/example.nt
new file mode 100644
index 0000000..044f11b
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/example.nt
@@ -0,0 +1 @@
+<example://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <example://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/example.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/example.rdf b/jena-arq/testing/RIOT/URISchemes/example.rdf
new file mode 100644
index 0000000..32d09a1
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/example.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="example://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="example://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/example.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/example.ttl b/jena-arq/testing/RIOT/URISchemes/example.ttl
new file mode 100644
index 0000000..e78ed89
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/example.ttl
@@ -0,0 +1,3 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<example://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> rdfs:seeAlso <example://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/file.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file.nt b/jena-arq/testing/RIOT/URISchemes/file.nt
new file mode 100644
index 0000000..31f9e0c
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/file.nt
@@ -0,0 +1 @@
+<file://example.com/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <file://example.com/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/file.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file.rdf b/jena-arq/testing/RIOT/URISchemes/file.rdf
new file mode 100644
index 0000000..9a54b5a
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/file.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="file://example.com/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="file://example.com/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/file.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file.ttl b/jena-arq/testing/RIOT/URISchemes/file.ttl
new file mode 100644
index 0000000..e2981f8
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/file.ttl
@@ -0,0 +1,3 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<file://example.com/nested/foo.txt> rdfs:seeAlso <file://example.com/bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/http-base.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http-base.rdf b/jena-arq/testing/RIOT/URISchemes/http-base.rdf
new file mode 100644
index 0000000..6839a24
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/http-base.rdf
@@ -0,0 +1,8 @@
+<rdf:RDF
+    xml:base="http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="foo.txt">
+    <rdfs:seeAlso rdf:resource="/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/http-base.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http-base.ttl b/jena-arq/testing/RIOT/URISchemes/http-base.ttl
new file mode 100644
index 0000000..b8bc0fc
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/http-base.ttl
@@ -0,0 +1,5 @@
+@base <http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<foo.txt> rdfs:seeAlso </bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/http.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http.nt b/jena-arq/testing/RIOT/URISchemes/http.nt
new file mode 100644
index 0000000..0553095
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/http.nt
@@ -0,0 +1 @@
+<http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <http://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/http.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http.rdf b/jena-arq/testing/RIOT/URISchemes/http.rdf
new file mode 100644
index 0000000..4665b87
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/http.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="http://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/http.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http.ttl b/jena-arq/testing/RIOT/URISchemes/http.ttl
new file mode 100644
index 0000000..227006e
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/http.ttl
@@ -0,0 +1,3 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> rdfs:seeAlso <http://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/jena.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/jena.nt b/jena-arq/testing/RIOT/URISchemes/jena.nt
new file mode 100644
index 0000000..0b23013
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/jena.nt
@@ -0,0 +1 @@
+<org.apache.jena.test://foo/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <org.apache.jena.test://foo/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/jena.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/jena.rdf b/jena-arq/testing/RIOT/URISchemes/jena.rdf
new file mode 100644
index 0000000..5941356
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/jena.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="org.apache.jena.test://foo/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="org.apache.jena.test://foo/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/jena.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/jena.ttl b/jena-arq/testing/RIOT/URISchemes/jena.ttl
new file mode 100644
index 0000000..dff8bd3
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/jena.ttl
@@ -0,0 +1,3 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<org.apache.jena.test://foo/nested/foo.txt> rdfs:seeAlso <org.apache.jena.test://foo/bar.txt> .
+

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/rel.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/rel.rdf b/jena-arq/testing/RIOT/URISchemes/rel.rdf
new file mode 100644
index 0000000..2a6b369
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/rel.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="foo.txt">
+    <rdfs:seeAlso rdf:resource="../bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/rel.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/rel.ttl b/jena-arq/testing/RIOT/URISchemes/rel.ttl
new file mode 100644
index 0000000..12d3347
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/rel.ttl
@@ -0,0 +1,2 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<foo.txt> rdfs:seeAlso <../bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/ssh-base.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh-base.rdf b/jena-arq/testing/RIOT/URISchemes/ssh-base.rdf
new file mode 100644
index 0000000..949bb60
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/ssh-base.rdf
@@ -0,0 +1,8 @@
+<rdf:RDF
+    xml:base="ssh://example.com/nested/"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="foo.txt">
+    <rdfs:seeAlso rdf:resource="/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/ssh-base.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh-base.ttl b/jena-arq/testing/RIOT/URISchemes/ssh-base.ttl
new file mode 100644
index 0000000..9f612ea
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/ssh-base.ttl
@@ -0,0 +1,3 @@
+@base <ssh://example.com/nested/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<foo.txt> rdfs:seeAlso </bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/ssh.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh.nt b/jena-arq/testing/RIOT/URISchemes/ssh.nt
new file mode 100644
index 0000000..8b48028
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/ssh.nt
@@ -0,0 +1 @@
+<ssh://example.com/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <ssh://example.com/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/ssh.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh.rdf b/jena-arq/testing/RIOT/URISchemes/ssh.rdf
new file mode 100644
index 0000000..2e2427c
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/ssh.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="ssh://example.com/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="ssh://example.com/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/ssh.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh.ttl b/jena-arq/testing/RIOT/URISchemes/ssh.ttl
new file mode 100644
index 0000000..1b84fe7
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/ssh.ttl
@@ -0,0 +1,2 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<ssh://example.com/nested/foo.txt> rdfs:seeAlso <ssh://example.com/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/x-madeup.nt b/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
new file mode 100644
index 0000000..bbd11d7
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
@@ -0,0 +1 @@
+<x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/x-madeup.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/x-madeup.rdf b/jena-arq/testing/RIOT/URISchemes/x-madeup.rdf
new file mode 100644
index 0000000..6961dd4
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/x-madeup.rdf
@@ -0,0 +1,7 @@
+<rdf:RDF
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+  <rdf:Description rdf:about="x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt">
+    <rdfs:seeAlso rdf:resource="x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt"/>
+  </rdf:Description>
+</rdf:RDF>

http://git-wip-us.apache.org/repos/asf/jena/blob/1b152112/jena-arq/testing/RIOT/URISchemes/x-madeup.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/x-madeup.ttl b/jena-arq/testing/RIOT/URISchemes/x-madeup.ttl
new file mode 100644
index 0000000..8022f54
--- /dev/null
+++ b/jena-arq/testing/RIOT/URISchemes/x-madeup.ttl
@@ -0,0 +1,2 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> rdfs:seeAlso <x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .


[4/5] jena git commit: JENA-1462: No need to test NTriples

Posted by an...@apache.org.
JENA-1462: No need to test NTriples

> N-Triples is handled differently - there is no IRI base resolution in
> normal parsing; this is intentional.

See https://github.com/apache/jena/pull/341#discussion_r161378376


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

Branch: refs/heads/master
Commit: 5200369653704be86e277774e6ce6d856369eec6
Parents: 33063f3
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Jan 16 01:17:10 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Jan 16 01:17:10 2018 +0000

----------------------------------------------------------------------
 .../jena/riot/TestParseURISchemeBases.java      | 50 --------------------
 jena-arq/testing/RIOT/URISchemes/app.nt         |  1 -
 jena-arq/testing/RIOT/URISchemes/example.nt     |  1 -
 jena-arq/testing/RIOT/URISchemes/file.nt        |  1 -
 jena-arq/testing/RIOT/URISchemes/http.nt        |  1 -
 jena-arq/testing/RIOT/URISchemes/jena.nt        |  1 -
 jena-arq/testing/RIOT/URISchemes/ssh.nt         |  1 -
 jena-arq/testing/RIOT/URISchemes/x-madeup.nt    |  1 -
 8 files changed, 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
index 1f20e41..0280ac3 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestParseURISchemeBases.java
@@ -143,13 +143,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void appNT() throws Exception {
-		RDFDataMgr.read(m, load("app.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("appNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(APP_BASE)));
-	}
-
-	@Test
 	public void appRDF() throws Exception {
 		RDFDataMgr.read(m, load("app.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("appRDF");
@@ -178,13 +171,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void exampleNT() throws Exception {
-		RDFDataMgr.read(m, load("example.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("exampleNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(EXAMPLE_BASE)));
-	}
-
-	@Test
 	public void exampleRDF() throws Exception {
 		RDFDataMgr.read(m, load("example.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("exampleRDF");
@@ -213,13 +199,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void fileNT() throws Exception {
-		RDFDataMgr.read(m, load("file.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("fileNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
-	}
-
-	@Test
 	public void fileRDF() throws Exception {
 		RDFDataMgr.read(m, load("file.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("fileRDF");
@@ -261,14 +240,6 @@ public class TestParseURISchemeBases {
 		assertTrue("Can't find statement", m.contains(expectedStatement(FILE_BASE)));
 	}
 	
-	
-	@Test
-	public void httpNT() throws Exception {
-		RDFDataMgr.read(m, load("http.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("httpNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(HTTP_BASE)));
-	}
-
 	@Test
 	public void httpRDF() throws Exception {
 		RDFDataMgr.read(m, load("http.rdf"), Lang.RDFXML);
@@ -312,13 +283,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void jenaNT() throws Exception {
-		RDFDataMgr.read(m, load("jena.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("jenaNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(JENA_BASE)));
-	}
-
-	@Test
 	public void jenaRDF() throws Exception {
 		RDFDataMgr.read(m, load("jena.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("jenaRDF");
@@ -361,13 +325,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void sshNT() throws Exception {
-		RDFDataMgr.read(m, load("ssh.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("sshNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(SSH_BASE)));
-	}
-
-	@Test
 	public void sshRDF() throws Exception {
 		RDFDataMgr.read(m, load("ssh.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("sshRDF");
@@ -396,13 +353,6 @@ public class TestParseURISchemeBases {
 	}
 
 	@Test
-	public void xMadeupNT() throws Exception {
-		RDFDataMgr.read(m, load("x-madeup.nt"), Lang.NTRIPLES);
-		dumpModelWithMessage("xMadeupNT");
-		assertTrue("Can't find statement", m.contains(expectedStatement(X_MADEUP_BASE)));
-	}
-
-	@Test
 	public void xMadeupRDF() throws Exception {
 		RDFDataMgr.read(m, load("x-madeup.rdf"), Lang.RDFXML);
 		dumpModelWithMessage("xMadeupRDF");

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/app.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/app.nt b/jena-arq/testing/RIOT/URISchemes/app.nt
deleted file mode 100644
index 386ffd8..0000000
--- a/jena-arq/testing/RIOT/URISchemes/app.nt
+++ /dev/null
@@ -1 +0,0 @@
-<app://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <app://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/example.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/example.nt b/jena-arq/testing/RIOT/URISchemes/example.nt
deleted file mode 100644
index 044f11b..0000000
--- a/jena-arq/testing/RIOT/URISchemes/example.nt
+++ /dev/null
@@ -1 +0,0 @@
-<example://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <example://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/file.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file.nt b/jena-arq/testing/RIOT/URISchemes/file.nt
deleted file mode 100644
index 31f9e0c..0000000
--- a/jena-arq/testing/RIOT/URISchemes/file.nt
+++ /dev/null
@@ -1 +0,0 @@
-<file://example.com/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <file://example.com/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/http.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/http.nt b/jena-arq/testing/RIOT/URISchemes/http.nt
deleted file mode 100644
index 0553095..0000000
--- a/jena-arq/testing/RIOT/URISchemes/http.nt
+++ /dev/null
@@ -1 +0,0 @@
-<http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <http://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/jena.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/jena.nt b/jena-arq/testing/RIOT/URISchemes/jena.nt
deleted file mode 100644
index 0b23013..0000000
--- a/jena-arq/testing/RIOT/URISchemes/jena.nt
+++ /dev/null
@@ -1 +0,0 @@
-<org.apache.jena.test://foo/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <org.apache.jena.test://foo/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/ssh.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/ssh.nt b/jena-arq/testing/RIOT/URISchemes/ssh.nt
deleted file mode 100644
index 8b48028..0000000
--- a/jena-arq/testing/RIOT/URISchemes/ssh.nt
+++ /dev/null
@@ -1 +0,0 @@
-<ssh://example.com/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <ssh://example.com/bar.txt> .

http://git-wip-us.apache.org/repos/asf/jena/blob/52003696/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/x-madeup.nt b/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
deleted file mode 100644
index bbd11d7..0000000
--- a/jena-arq/testing/RIOT/URISchemes/x-madeup.nt
+++ /dev/null
@@ -1 +0,0 @@
-<x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/nested/foo.txt> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <x-madeup://2dee5b0a-6100-470a-a67f-1399518cb470/bar.txt> .


[3/5] jena git commit: JENA-1463 test xml:base file://example.com/

Posted by an...@apache.org.
JENA-1463 test xml:base file://example.com/

to match file.* and file-base.ttl


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

Branch: refs/heads/master
Commit: 33063f335d0cb9224a64dc2f77dbaa9963d92ecb
Parents: bfd4554
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Jan 16 01:10:26 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Tue Jan 16 01:12:14 2018 +0000

----------------------------------------------------------------------
 jena-arq/testing/RIOT/URISchemes/file-base.rdf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/33063f33/jena-arq/testing/RIOT/URISchemes/file-base.rdf
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/URISchemes/file-base.rdf b/jena-arq/testing/RIOT/URISchemes/file-base.rdf
index 6839a24..825b7cc 100644
--- a/jena-arq/testing/RIOT/URISchemes/file-base.rdf
+++ b/jena-arq/testing/RIOT/URISchemes/file-base.rdf
@@ -1,5 +1,5 @@
 <rdf:RDF
-    xml:base="http://2dee5b0a-6100-470a-a67f-1399518cb470/nested/"
+    xml:base="file://example.com/nested/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
   <rdf:Description rdf:about="foo.txt">