⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sax2rdftest.java

📁 Jena推理机
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			"wg/rdfms-rdf-names-use/test-010.rdf",
			"wg/rdfms-rdf-names-use/test-011.rdf",
			"wg/rdfms-rdf-names-use/test-012.rdf",
			"wg/rdfms-rdf-names-use/test-013.rdf",
			"wg/rdfms-rdf-names-use/test-014.rdf",
			"wg/rdfms-rdf-names-use/test-015.rdf",
			"wg/rdfms-rdf-names-use/test-016.rdf",
			"wg/rdfms-rdf-names-use/test-017.rdf",
			"wg/rdfms-rdf-names-use/test-018.rdf",
			"wg/rdfms-rdf-names-use/test-019.rdf",
			"wg/rdfms-rdf-names-use/test-020.rdf",
			"wg/rdfms-rdf-names-use/test-021.rdf",
			"wg/rdfms-rdf-names-use/test-022.rdf",
			"wg/rdfms-rdf-names-use/test-023.rdf",
			"wg/rdfms-rdf-names-use/test-024.rdf",
			"wg/rdfms-rdf-names-use/test-025.rdf",
			"wg/rdfms-rdf-names-use/test-026.rdf",
			"wg/rdfms-rdf-names-use/test-027.rdf",
			"wg/rdfms-rdf-names-use/test-028.rdf",
			"wg/rdfms-rdf-names-use/test-029.rdf",
			"wg/rdfms-rdf-names-use/test-030.rdf",
			"wg/rdfms-rdf-names-use/test-031.rdf",
			"wg/rdfms-rdf-names-use/test-032.rdf",
			"wg/rdfms-rdf-names-use/test-033.rdf",
			"wg/rdfms-rdf-names-use/test-034.rdf",
			"wg/rdfms-rdf-names-use/test-035.rdf",
			"wg/rdfms-rdf-names-use/test-036.rdf",
			"wg/rdfms-rdf-names-use/test-037.rdf",
			"wg/rdfms-rdf-names-use/warn-001.rdf",
			"wg/rdfms-rdf-names-use/warn-002.rdf",
			"wg/rdfms-rdf-names-use/warn-003.rdf",
			"wg/rdfms-reification-required/test001.rdf",
			"wg/rdfms-seq-representation/test001.rdf",
			"wg/rdfms-syntax-incomplete/error001.rdf",
			"wg/rdfms-syntax-incomplete/error002.rdf",
			"wg/rdfms-syntax-incomplete/error003.rdf",
			"wg/rdfms-syntax-incomplete/error004.rdf",
			"wg/rdfms-syntax-incomplete/error005.rdf",
			"wg/rdfms-syntax-incomplete/error006.rdf",
			"wg/rdfms-syntax-incomplete/test001.rdf",
			"wg/rdfms-syntax-incomplete/test002.rdf",
			"wg/rdfms-syntax-incomplete/test003.rdf",
			"wg/rdfms-syntax-incomplete/test004.rdf",
			"wg/rdfms-uri-substructure/test001.rdf",
			"wg/rdfms-xml-literal-namespaces/test001.rdf",
			"wg/rdfms-xml-literal-namespaces/test002.rdf",
			"wg/rdfms-xmllang/test001.rdf", "wg/rdfms-xmllang/test002.rdf",
			"wg/rdfms-xmllang/test003.rdf", "wg/rdfms-xmllang/test004.rdf",
			"wg/rdfms-xmllang/test005.rdf", "wg/rdfms-xmllang/test006.rdf",
			"wg/rdfs-container-membership-superProperty/not1C.rdf",
			"wg/rdfs-container-membership-superProperty/not1P.rdf",
			"wg/rdfs-domain-and-range/nonconclusions005.rdf",
			"wg/rdfs-domain-and-range/nonconclusions006.rdf",
			"wg/rdfs-domain-and-range/premises005.rdf",
			"wg/rdfs-domain-and-range/premises006.rdf",
			"wg/rdfs-domain-and-range/test001.rdf",
			"wg/rdfs-domain-and-range/test002.rdf",
			"wg/rdfs-domain-and-range/test003.rdf",
			"wg/rdfs-domain-and-range/test004.rdf",
			"wg/rdfs-no-cycles-in-subClassOf/test001.rdf",
			"wg/rdfs-no-cycles-in-subPropertyOf/test001.rdf",
			"wg/Restriction/conclusions006.rdf",
			"wg/Restriction/consistent003.rdf",
			"wg/Restriction/consistent004.rdf",
			"wg/Restriction/inconsistent001.rdf",
			"wg/Restriction/inconsistent002.rdf",
			"wg/Restriction/Manifest001.rdf", "wg/Restriction/Manifest002.rdf",
			"wg/Restriction/Manifest003.rdf", "wg/Restriction/Manifest004.rdf",
			"wg/Restriction/Manifest005.rdf", "wg/Restriction/Manifest006.rdf",
			"wg/Restriction/nonconclusions005.rdf",
			"wg/Restriction/premises005.rdf", "wg/Restriction/premises006.rdf",
			"wg/sameAs/conclusions001.rdf", "wg/sameAs/Manifest001.rdf",
			"wg/sameAs/premises001.rdf",
			"wg/someValuesFrom/conclusions001.rdf",
			"wg/someValuesFrom/conclusions003.rdf",
			"wg/someValuesFrom/Manifest001.rdf",
			"wg/someValuesFrom/Manifest002.rdf",
			"wg/someValuesFrom/Manifest003.rdf",
			"wg/someValuesFrom/nonconclusions002.rdf",
			"wg/someValuesFrom/premises001.rdf",
			"wg/someValuesFrom/premises002.rdf",
			"wg/someValuesFrom/premises003.rdf",
			"wg/SymmetricProperty/conclusions001.rdf",
			"wg/SymmetricProperty/conclusions002.rdf",
			"wg/SymmetricProperty/conclusions003.rdf",
			"wg/SymmetricProperty/Manifest001.rdf",
			"wg/SymmetricProperty/Manifest002.rdf",
			"wg/SymmetricProperty/Manifest003.rdf",
			"wg/SymmetricProperty/premises001.rdf",
			"wg/SymmetricProperty/premises002.rdf",
			"wg/SymmetricProperty/premises003.rdf", "wg/testOntology.rdf",
			"wg/Thing/consistent004.rdf", "wg/Thing/inconsistent003.rdf",
			"wg/Thing/inconsistent005.rdf", "wg/Thing/Manifest003.rdf",
			"wg/Thing/Manifest004.rdf", "wg/Thing/Manifest005.rdf",
			"wg/TransitiveProperty/conclusions001.rdf",
			"wg/TransitiveProperty/conclusions002.rdf",
			"wg/TransitiveProperty/Manifest001.rdf",
			"wg/TransitiveProperty/Manifest002.rdf",
			"wg/TransitiveProperty/premises001.rdf",
			"wg/TransitiveProperty/premises002.rdf",
			"wg/unionOf/conclusions001.rdf", "wg/unionOf/conclusions002.rdf",
			"wg/unionOf/conclusions003.rdf", "wg/unionOf/conclusions004.rdf",
			"wg/unionOf/Manifest001.rdf", "wg/unionOf/Manifest002.rdf",
			"wg/unionOf/Manifest003.rdf", "wg/unionOf/Manifest004.rdf",
			"wg/unionOf/premises001.rdf", "wg/unionOf/premises002.rdf",
			"wg/unionOf/premises003.rdf", "wg/unionOf/premises004.rdf",
			"wg/unrecognised-xml-attributes/test001.rdf",
			"wg/unrecognised-xml-attributes/test002.rdf",
			"arp/dom/domtest.rdf",
			
			//"wg/xmlbase/error001.rdf", "wg/xmlbase/test001.rdf",
			"wg/xmlbase/test002.rdf", "wg/xmlbase/test003.rdf",
			"wg/xmlbase/test004.rdf", "wg/xmlbase/test005.rdf",
			"wg/xmlbase/test006.rdf", "wg/xmlbase/test007.rdf",
			"wg/xmlbase/test008.rdf", "wg/xmlbase/test009.rdf",
			"wg/xmlbase/test010.rdf", "wg/xmlbase/test011.rdf",
			"wg/xmlbase/test012.rdf", "wg/xmlbase/test013.rdf",
			"wg/xmlbase/test014.rdf", "wg/xmlbase/test015.rdf",
			"wg/xmlbase/test016.rdf",

	};

	/**
	 * @author Jeremy J. Carroll
	 *  
	 */
	static class RDFEHArray implements RDFErrorHandler {

		Vector v = new Vector();

		/*
		 * (non-Javadoc)
		 * 
		 * @see com.hp.hpl.jena.rdf.model.RDFErrorHandler#warning(java.lang.Exception)
		 */
		public void warning(Exception e) {
			s("W", e);
		}

		/*
		 * (non-Javadoc)
		 * 
		 * @see com.hp.hpl.jena.rdf.model.RDFErrorHandler#error(java.lang.Exception)
		 */
		public void error(Exception e) {
			s("E", e);
		}

		/*
		 * (non-Javadoc)
		 * 
		 * @see com.hp.hpl.jena.rdf.model.RDFErrorHandler#fatalError(java.lang.Exception)
		 */
		public void fatalError(Exception e) {
			s("F", e);
		}

		private void s(String s, Exception e) {
			String msg = s + e.getMessage();
            if (!v.contains(msg))
                   v.add(msg);
		}

	}

	static public TestSuite suite() {
		TestSuite s = new TestSuite("SAX2RDF");
//		s.addTestSuite(PushMePullYouTest.class);
		s.addTestSuite(SAX2RDFMoreTests.class);
		
		if (is1_4_1){

            logger.warn("Java version 1.4.1: DOM tests suppressed, believed not to work." );
            logger.warn("See file:doc/ARP/sax.html#dom for more details." );
            logger.warn("This only affects RDF parsing of DOM trees, new in Jena 2.2." );
		}
		//for (int j=0; j<20; j++)
		for (int i = 0; i < all.length; i += 25) {
//			String nm = all[i];
			//if (all[i].indexOf("premises663")==-1)
			//	continue;
			if (all[i].startsWith("wg/")) {
				
				addTests(s, "wg/", ARPTests.wgTestDir.toString(),
						all[i].substring(3));
			} else if (all[i].startsWith("arp/")) {
				addTests(s,"arp/", ARPTests.arpTestDir
						.toString(), all[i].substring(4));
			} else {
				addTests(s,"", "http://example.org/", all[i]);

			}
		}
		//	s.addTest(new
		// SAX2RDFTest("wg/",ARPTests.wgTestDir.toString(),"Manifest.rdf"));

		return s;
	}
	
	static private void addTests(TestSuite s, String dir, String base, String file){


		TestCase tc = new SAX2RDFTest(dir,base,file);
		tc.setName("SAX "+tc.getName());
		s.addTest(tc);
		
		tc = new DOM2RDFTest(dir,base,file);
		
		tc.setName("DOM "+tc.getName());
		if (!is1_4_1)
    		s.addTest(tc);
		

	}

	//final private String dir;
	final String base;

	final private String file;

	SAX2RDFTest(String dir, String base0, String file) {
		super(file);
		//this.dir = dir;
		this.base = base0 + file;
		this.file = "testing/" + dir + file;
		//System.err.println(base+" + "+this.file);
	}

	public void runTest() throws Exception {
		//System.err.println(base+" + "+this.file);
		Model m = ModelFactory.createDefaultModel();
		Model m2 = ModelFactory.createDefaultModel();
		InputStream in = new FileInputStream(file);
		RDFEHArray eh = new RDFEHArray();
		RDFReader w = m.getReader();
		w.setErrorHandler(eh);
		w.read(m, in, base);
		in.close();
		in = new FileInputStream(file);

		RDFEHArray eh2 = new RDFEHArray();

		/*
		 * w = m.getReader(); w.setErrorHandler(eh2); w.read(m2,in,base);
		 * in.close();
		 */
		loadXMLModel(m2, in, eh2);

		in.close();

		/*
		 * System.out.println("Normal:"); m.write(System.out,"N-TRIPLE");
		 * 
		 * System.out.println("New:"); m2.write(System.out,"N-TRIPLE");
		 */
		if (eh.v.size() == 0)
			assertTrue("Not isomorphic", m.isIsomorphicWith(m2));

		if (eh.v.size() != eh2.v.size()) {
			for (int i = 0; i < eh.v.size(); i++)
				System.err.println(eh.v.get(i));
			System.err.println("---");
			for (int i = 0; i < eh2.v.size(); i++)
				System.err.println(eh2.v.get(i));

		}

		assertEquals("Different number of errors", eh.v.size(), eh2.v.size());

		Object a[] = eh.v.toArray();
		Object a2[] = eh2.v.toArray();
		Arrays.sort(a);
		Arrays.sort(a2);

		for (int i = 0; i < eh.v.size(); i++) {
			assertEquals("Error " + i + " different.", a[i], a2[i]);
		}

	}

	void loadXMLModel(Model m2, InputStream in, RDFEHArray eh2) throws SAXException, IOException {
		XMLReader saxParser = new SAXParser();
		SAX2Model handler = SAX2Model.create(base, m2);
		SAX2RDF.installHandlers(saxParser, handler);
		handler.setErrorHandler(eh2);

		InputSource ins = new InputSource(in);
		ins.setSystemId(base);
		try {
			try {
				saxParser.parse(ins);
			} finally {
				handler.close();
			}
		} catch (SAXParseException e) {
			// already reported, leave it be.
		}

	}

}

/*
 * (c) Copyright 2004, 2005, 2006, 2007 Hewlett-Packard Development Company, LP All rights
 * reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 1. Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer. 2. Redistributions in
 * binary form must reproduce the above copyright notice, this list of
 * conditions and the following disclaimer in the documentation and/or other
 * materials provided with the distribution. 3. The name of the author may not
 * be used to endorse or promote products derived from this software without
 * specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -