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

📄 rdfcoretests.java

📁 这是外国一个开源推理机
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					" select CASE, INPUT" +					" from  {CASE} <rdf:type> {<test:NegativeParserTest>};" +					"              <test:inputDocument> {INPUT}; " +					"              <test:status> {STATUS}" +					" where label(STATUS) = \"APPROVED\"" +					" using namespace " +					"        test = <!" + _testSchemaURL + ">");			int noNegCases = negativeCases.getRowCount();			for (int row = 0; row < noNegCases; row++) {				String testName = negativeCases.getValue(row, 0).toString();				String inputFile = negativeCases.getValue(row, 1).toString();				_negativeParserTest(row, testName, inputFile);			}		} 		catch (MalformedQueryException e) {			fail("malformed query: " + e.getMessage());		}		catch (IOException e) {			fail("io exception: " + e.getMessage());		}		catch (AccessDeniedException e) {			fail("Access denied: " + e.getMessage());		}		catch (QueryEvaluationException e) {			fail("Query evaluation error: " + e.getMessage());		}			}	protected void _positiveParserTest(int nodeId, String testName, String inputFile, String outputFile) {		String begin = null;		String end = null;		String bNode = "parseposnode" + String.valueOf(nodeId);		_parsedModel = new org.openrdf.sesame.sailimpl.memory.RdfRepository();		_expectedModel = new org.openrdf.sesame.sailimpl.memory.RdfRepository();		try {			Map noParams = new HashMap();			_parsedModel.initialize(noParams);			_expectedModel.initialize(noParams);		}		catch (SailInitializationException e) {			fail("Unable to initialize models: " + e.getMessage());		}		try {			//System.out.println("Parsing file " + inputFile);			URL inputURL = new URL(inputFile);			InputStream inputStream = inputURL.openStream();			begin = new Date().toString();			_rdfXmlParser.setStatementHandler(					new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj) {							try {								_parsedModel.addStatement(subj, pred, obj);							}							catch (SailUpdateException e) {								fail("Unable to add statements to models: " + e.getMessage());							}						}					});			_parsedModel.startTransaction();			_rdfXmlParser.parse(inputStream, inputFile);			inputStream.close();			_parsedModel.commitTransaction();			URL outputURL = new URL(outputFile);			inputStream = outputURL.openStream();			_nTriplesParser.setStatementHandler(					new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj) {							try {								_expectedModel.addStatement(subj, pred, obj);							}							catch (SailUpdateException e) {								fail("Unable to add statements to models: " + e.getMessage());							}						}					});			_expectedModel.startTransaction();			_nTriplesParser.parse(inputStream, inputFile);			inputStream.close();			_expectedModel.commitTransaction();			end = new Date().toString();			if (SailUtil.modelsEqual(_parsedModel, _expectedModel)) {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "PassingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);			}			else {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);			}		}		catch (ClassCastException e) {			// FIXME apparantly something went wrong in comparing models.			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FIXME", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}		catch (StatementHandlerException e) {			// FIXME apparantly something went wrong while adding the			// statements to _parsedModel			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FIXME", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}		catch (ParseException e) {			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}		catch (IOException e) {			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}	}	protected void _negativeParserTest(int nodeId, String testName, String inputFile) {		String begin = null;		String end = null;		String bNode = "parsenegnode" + String.valueOf(nodeId);		_parsedModel = new org.openrdf.sesame.sailimpl.memory.RdfRepository();		try {			Map noParams = new HashMap();			_parsedModel.initialize(noParams);		}		catch (SailInitializationException e) {			fail("Unable to initialize models: " + e.getMessage());		}		try {			//System.out.println("Parsing file " + inputFile);			URL inputURL = new URL(inputFile);			InputStream inputStream = inputURL.openStream();			begin = new Date().toString();			_rdfXmlParser.setStatementHandler(					new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj) {							// do nothing						}					});			_rdfXmlParser.parse(inputStream, inputFile);			inputStream.close();			end = new Date().toString();			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}		catch (ParseException e) {			// ParseException thrown, this is correct as			// the inputFile is incorrect RDF			//System.out.println("Catched a ParseException: " + e.getMessage());			end = new Date().toString();			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "PassingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);		}		catch (StatementHandlerException e) {			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);			fail("statement handler error: " + e.getMessage());		}		catch (IOException e) {			_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);			_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);			_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeParserTest", 1, 1);			_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);			_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);			_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);			fail("ioexception: " + e.getMessage());		}	}	/**	 * @param subjectType 1 = uri, 2 = bnode	 * @param objectType 1 = uri, 2 = bnode, 3 = literal	 */	private void _addLogStatement(String subject, String predicate, String object, int subjectType, int objectType) {				Resource subj;		if (subjectType == 1) {			subj = new URIImpl(subject);		}		else {			subj = new BNodeImpl(subject);		}		URI pred = new URIImpl(predicate);		Value obj;		if (objectType == 1) {			obj = new URIImpl(object);		}		else if (objectType == 2) {			obj = new BNodeImpl(object);		}		else {			if (predicate.endsWith("ends") || predicate.endsWith("begins")) {				obj = new LiteralImpl(object, new URIImpl("http://www.w3.org/2001/XMLSchema#dateTime"));			}			else {				obj = new LiteralImpl(object);			}		}		try {			_logModel.startTransaction();			_logModel.addStatement(subj, pred, obj);			_logModel.commitTransaction();		}		catch (SailUpdateException e) {			fail("couldn't log statement: " + e.getMessage());		}	}}

⌨️ 快捷键说明

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