Add support for specifying base URIs to rdfcompare
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3f9f9f35 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3f9f9f35 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3f9f9f35 Branch: refs/heads/master Commit: 3f9f9f357cc028777e7f429b99fddde281cbac08 Parents: 4105775 Author: Rob Vesse <[email protected]> Authored: Wed Sep 9 09:43:22 2015 +0200 Committer: Rob Vesse <[email protected]> Committed: Wed Sep 9 09:43:22 2015 +0200 ---------------------------------------------------------------------- jena-core/src/main/java/jena/rdfcompare.java | 33 ++++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/3f9f9f35/jena-core/src/main/java/jena/rdfcompare.java ---------------------------------------------------------------------- diff --git a/jena-core/src/main/java/jena/rdfcompare.java b/jena-core/src/main/java/jena/rdfcompare.java index 3851d44..95cc602 100644 --- a/jena-core/src/main/java/jena/rdfcompare.java +++ b/jena-core/src/main/java/jena/rdfcompare.java @@ -52,7 +52,7 @@ public class rdfcompare extends java.lang.Object { * @param args the command line arguments */ public static void main (String ... args) { - if (args.length < 2 || args.length > 4) { + if (args.length < 2 || args.length > 6) { usage(); System.exit(-1); } @@ -60,21 +60,29 @@ public class rdfcompare extends java.lang.Object { String in1 = args[0]; String in2 = args[1]; String lang1 = "RDF/XML"; - if (args.length > 2) { + if (args.length >= 3) { lang1 = args[2]; } String lang2 = "N-TRIPLE"; - if (args.length == 4) { + if (args.length >= 4) { lang2 = args[3]; } + String base1 = null; + if (args.length >= 5) { + base1 = args[4]; + } + String base2 = base1; + if (args.length >= 6) { + base2 = args[5]; + } - System.out.println(in1 + " " + in2 + " " + lang1 + " " + lang2); + System.out.println(in1 + " " + in2 + " " + lang1 + " " + lang2 + " " + base1 + " " + base2); try { Model m1 = ModelFactory.createDefaultModel(); Model m2 = ModelFactory.createDefaultModel(); - read(m1, in1, lang1); - read(m2, in2, lang2); + read(m1, in1, lang1, base1); + read(m2, in2, lang2, base2); if (m1.isIsomorphicWith(m2)) { System.out.println("models are equal"); @@ -95,7 +103,7 @@ public class rdfcompare extends java.lang.Object { protected static void usage() { System.err.println("usage:"); System.err.println( - " java jena.rdfcompare source1 source2 [lang1 [lang2]]"); + " java jena.rdfcompare source1 source2 [lang1 [lang2 [base1 [base2]]]]"); System.err.println(); System.err.println(" source1 and source2 can be URL's or filenames"); System.err.println(" lang1 and lang2 can take values:"); @@ -103,16 +111,21 @@ public class rdfcompare extends java.lang.Object { System.err.println(" N-TRIPLE"); System.err.println(" N3"); System.err.println(" lang1 defaults to RDF/XML, lang2 to N-TRIPLE"); + System.err.println(" base1 and base2 are URIs"); + System.err.println(" base1 defaults to null"); + System.err.println(" base2 defaults to base1"); + System.err.println(" If no base URIs are specified Jena determines the base URI based on the input source"); + System.err.println(); } - protected static void read(Model model, String in, String lang) + protected static void read(Model model, String in, String lang, String base) throws java.io.FileNotFoundException { try { URL url = new URL(in); - model.read(in, lang); + model.read(in, base, lang); } catch (java.net.MalformedURLException e) { - model.read(new FileInputStream(in), "", lang); + model.read(new FileInputStream(in), base, lang); } } }
