1 29 30 package jena; 31 32 import com.hp.hpl.jena.rdf.model.*; 33 34 import java.net.URL ; 35 import java.io.FileInputStream ; 36 37 59 public class rdfcompare extends java.lang.Object { 60 61 64 public static void main (String args[]) { 65 66 if (args.length < 2 || args.length > 4) { 67 usage(); 68 System.exit(-1); 69 } 70 71 String in1 = args[0]; 72 String in2 = args[1]; 73 String lang1 = "RDF/XML"; 74 if (args.length > 2) { 75 lang1 = args[2]; 76 } 77 String lang2 = "N-TRIPLE"; 78 if (args.length == 4) { 79 lang2 = args[3]; 80 } 81 82 System.out.println(in1 + " " + in2 + " " + lang1 + " " + lang2); 83 try { 84 Model m1 = ModelFactory.createDefaultModel(); 85 Model m2 = ModelFactory.createDefaultModel(); 86 87 read(m1, in1, lang1); 88 read(m2, in2, lang2); 89 90 if (m1.isIsomorphicWith(m2)) { 91 System.out.println("models are equal"); 92 System.out.println(); 93 System.exit(0); 94 } else { 95 System.out.println("models are unequal"); 96 System.out.println(); 97 System.exit(1); 98 } 99 } catch (Exception e) { 100 System.err.println("Unhandled exception:"); 101 System.err.println(" " + e.toString()); 102 System.exit(-1); 103 } 104 } 105 106 protected static void usage() { 107 System.err.println("usage:"); 108 System.err.println( 109 " java jena.rdfcompare source1 source2 [lang1 [lang2]]"); 110 System.err.println(); 111 System.err.println(" source1 and source2 can be URL's or filenames"); 112 System.err.println(" lang1 and lang2 can take values:"); 113 System.err.println(" RDF/XML"); 114 System.err.println(" N-TRIPLE"); 115 System.err.println(" N3"); 116 System.err.println(" lang1 defaults to RDF/XML, lang2 to N-TRIPLE"); 117 System.err.println(); 118 } 119 120 protected static void read(Model model, String in, String lang) 121 throws java.io.FileNotFoundException { 122 try { 123 URL url = new URL (in); 124 model.read(in, lang); 125 } catch (java.net.MalformedURLException e) { 126 model.read(new FileInputStream (in), "", lang); 127 } 128 } 129 } 130 | Popular Tags |