pellettest.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 72 行

JAVA
72
字号
/*
 * Created on Oct 28, 2005
 *
 */
package org.mindswap.swoop.reasoner;

import java.io.PrintWriter;
import java.io.Writer;
import java.net.URI;
import java.net.URISyntaxException;

import org.semanticweb.owl.impl.model.OWLConnectionImpl;
import org.semanticweb.owl.io.owl_rdf.OWLRDFErrorHandler;
import org.semanticweb.owl.io.owl_rdf.OWLRDFParser;
import org.semanticweb.owl.model.OWLException;
import org.semanticweb.owl.model.OWLOntology;
import org.semanticweb.owl.util.OWLConnection;
import org.semanticweb.owl.util.OWLManager;
import org.xml.sax.SAXException;

/**
 * @author Aditya
 *
 */
public class PelletTest {

	
	public static void main(String[] args) throws Exception {
		
		PelletTest pt = new PelletTest();
		OWLOntology ont = pt.loadOntology(new URI("http://www.mindswap.org/ontologies/galen.owl"));
		System.out.println("done parsing ontology");
		pt.classify(ont);		
	}
	
	private void classify(OWLOntology ont) {
		final OWLOntology onto = ont;
		new Thread() {
			public void run() {
				PelletReasoner reasoner = new PelletReasoner();
				try {
					System.out.println("starting classification");
					reasoner.setOntology(onto);
				} catch (OWLException e) {
					e.printStackTrace();
				}
			}
		}.start();
	}
	
	private OWLOntology loadOntology(URI uri) throws Exception {
		OWLRDFParser parser = new OWLRDFParser();
		parser.setOWLRDFErrorHandler(new OWLRDFErrorHandler() {
			public void owlFullConstruct(int code, String message)
					throws SAXException {
			}
			public void error(String message) throws SAXException {
				throw new SAXException(message.toString());
			}
			public void warning(String message) throws SAXException {
				System.out.println("RDFParser: " + message.toString());
			}
			public void owlFullConstruct(int code, String message, Object obj) throws SAXException {
			}
		});
    	
		OWLConnection connection = new OWLConnectionImpl();
		parser.setConnection(connection);
		return parser.parseOntology(uri);
	}
}

⌨️ 快捷键说明

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