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

📄 rdfcoretests.java

📁 这是外国一个开源推理机
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
									}								}							});					_parsedModel.startTransaction();					_rdfXmlParser.parse(inputStream, inputFile);					inputStream.close();					_parsedModel.commitTransaction();				}				else {					URL inputURL = new URL(inputFile);					InputStream inputStream = inputURL.openStream();					_nTriplesParser.setStatementHandler(new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj)							throws StatementHandlerException						{							try {								_parsedModel.addStatement(subj, pred, obj);							}							catch (SailUpdateException e) {								fail("Unable to add statements to models: "										+ e.getMessage());							}						}					});					_parsedModel.startTransaction();					_nTriplesParser.parse(inputStream, inputFile);					inputStream.close();					_parsedModel.commitTransaction();				}			}			catch (StatementHandlerException e) {				// FIXME			}			catch (ParseException e) {				// parse exception on input model means datatype checking				// failed.				dTypeCheckFailed = true;				System.out.println("test: " + testName);				System.out.println("input model failed parsing");			}			if (dTypeCheckFailed) {				System.out.println("it works: set to true");			}			try {				// read expected model				if (cType.endsWith("RDF-XML-Document")) {					//System.out.println("Parsing file " + inputFile);					URL outputURL = new URL(outputFile);					InputStream inputStream = outputURL.openStream();					_rdfXmlParser.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();					_rdfXmlParser.parse(inputStream, inputFile);					inputStream.close();					_expectedModel.commitTransaction();				}				else if (cType.endsWith("NT-Document")) {					//System.out.println("Parsing file " + inputFile);					URL outputURL = new URL(outputFile);					InputStream 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();				}				else { // False Document 					// FIXME					succeeded = false;				}			}			catch (StatementHandlerException e) {				// FIXME			}			catch (ParseException e) {				System.out.println("test: " + testName);				System.out.println("output model failed parsing");			}			StatementIterator expectedStatements = null;			if (succeeded) {				expectedStatements = _expectedModel.getStatements(null, null, null);			}			else {				expectedStatements = new EmptyStatementIterator();				if (dTypeCheckFailed) {					succeeded = true;				}			}			while (expectedStatements.hasNext()) {				Statement st = expectedStatements.next();				Resource subject = st.getSubject();				URI predicate = st.getPredicate();				Value object = st.getObject();				if (subject instanceof BNode) {					// BNodes interpreted as wildcards					subject = null;				}				if (object instanceof BNode) {					// BNodes interpreted as wildcards					object = null;				}				if (!_parsedModel.hasStatement(subject, predicate, object)) {					System.out.println("failed test: " + testName);					System.out.println(" +-> missing statement: " + st.toString());					succeeded = false;					break;				}			}			end = new Date().toString();			if (succeeded) {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "PassingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveEntailmentTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);				_addLogStatement(bNode, _resOntURL + "output", _resultFeedURL, 2, 1);			}			else {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "PositiveEntailmentTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);				_addLogStatement(bNode, _resOntURL + "output", _resultFeedURL, 2, 1);			}		}		catch (IOException e) {			fail("IO exception: " + e.getMessage());		}	}	protected void _negativeEntailmentTest(int nodeId, String testName,			String inputFile, String outputFile, String pType, String cType)	{		boolean succeeded = false;		String begin = null;		String end = null;		String bNode = "enegnode" + String.valueOf(nodeId);		_parsedModel = new org.openrdf.sesame.sailimpl.memory.RdfSchemaRepository();		_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 {			begin = new Date().toString();			boolean dTypeCheckFailed = false;			try {				// read input model				if (pType.endsWith("RDF-XML-Document")) {					//System.out.println("Parsing file " + inputFile);					URL inputURL = new URL(inputFile);					InputStream inputStream = inputURL.openStream();					_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();				}				else {					URL inputURL = new URL(inputFile);					InputStream inputStream = inputURL.openStream();					_nTriplesParser.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();					_nTriplesParser.parse(inputStream, inputFile);					inputStream.close();					_parsedModel.commitTransaction();				}			}			catch (StatementHandlerException e) {				// FIXME			}			catch (ParseException e) {				// parse exception on input model means datatype checking				// failed.				dTypeCheckFailed = true;				System.out.println("test: " + testName);				System.out.println("input model failed parsing");			}			try {				// read expected model				if (cType.endsWith("RDF-XML-Document")) {					//System.out.println("Parsing file " + inputFile);					URL outputURL = new URL(outputFile);					InputStream inputStream = outputURL.openStream();					_rdfXmlParser.setStatementHandler(new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj)							throws StatementHandlerException						{							try {								_expectedModel.addStatement(subj, pred, obj);							}							catch (SailUpdateException e) {								fail("Unable to add statements to models: "										+ e.getMessage());							}						}					});					_expectedModel.startTransaction();					_rdfXmlParser.parse(inputStream, inputFile);					inputStream.close();					_expectedModel.commitTransaction();				}				else if (cType.endsWith("NT-Document")) {					//System.out.println("Parsing file " + inputFile);					URL outputURL = new URL(outputFile);					InputStream inputStream = outputURL.openStream();					_nTriplesParser.setStatementHandler(new StatementHandler() {						public void handleStatement(Resource subj, URI pred, Value obj)							throws StatementHandlerException						{							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();				}				else { // False Document 					// FIXME					succeeded = true;				}			}			catch (StatementHandlerException e) {				// FIXME			}			catch (ParseException e) {				// parse exception on output model: data type checking				// failed.				succeeded = true;			}			StatementIterator expectedStatements = null;			if (!succeeded) {				expectedStatements = _expectedModel.getStatements(null, null, null);			}			else {				expectedStatements = new EmptyStatementIterator();				if (dTypeCheckFailed) {					// negative test. by definition it succeeds if the					// parsing fails (parse exceptions mean datatype					// trouble).					succeeded = true;				}			}			while (expectedStatements.hasNext()) {				Statement st = expectedStatements.next();				Resource subject = st.getSubject();				URI predicate = st.getPredicate();				Value object = st.getObject();				/*				 if (subject instanceof BNode) {				 // BNodes interpreted as wildcards				 subject = null;				 }				 if (object instanceof BNode) {				 // BNodes interpreted as wildcards				 object = null;				 }				 */				if (!_parsedModel.hasStatement(subject, predicate, object)) {					succeeded = true;					break;				}			}			end = new Date().toString();			if (succeeded) {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "PassingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeEntailmentTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);				_addLogStatement(bNode, _resOntURL + "output", _resultFeedURL, 2, 1);			}			else {				_addLogStatement(bNode, RDF.TYPE, _resOntURL + "FailingRun", 2, 1);				_addLogStatement(bNode, _resOntURL + "test", testName, 2, 1);				_addLogStatement(testName, RDF.TYPE, _testSchemaURL + "NegativeEntailmentTest", 1, 1);				_addLogStatement(bNode, _resOntURL + "system", "system", 2, 2);				_addLogStatement(bNode, _resOntURL + "begins", begin, 2, 3);				_addLogStatement(bNode, _resOntURL + "ends", end, 2, 3);				_addLogStatement(bNode, _resOntURL + "output", _resultFeedURL, 2, 1);			}		}		catch (IOException e) {			fail("IO exception: " + 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 + -