1

我想将语义网络(owl)文件的类导入并列出到 Eclipse 中。我确实在我的 eclipse 程序中导入了颗粒和 protege 库,但我仍然看到强制关闭我的 android 项目。没有红线或错误代码,因为我在网豆中使用了相同的代码。我的代码在下面..

public static final IRI localLocation_IRI = IRI.create("file:c:///rdfex.owl");
public static final IRI Ont_Base_IRI = IRI.create("http://www.emkarhafriyat.com/owlex.owl");
    OWLOntologyManager m = OWLManager.createOWLOntologyManager();
    OWLDataFactory f = OWLManager.getOWLDataFactory();
    OWLOntology o = null;
    public void testAddAxioms() {
        try {
            o = m.loadOntologyFromOntologyDocument(Ont_Base_IRI);
            OWLClass clsA = f.getOWLClass(IRI.create(Ont_Base_IRI + "#ClassA"));
            OWLClass clsB = f.getOWLClass(IRI.create(Ont_Base_IRI + "#ClassB"));
            // Now create the axiom
            OWLAxiom ax1 = f.getOWLSubClassOfAxiom(clsA, clsB);
            // add the axiom to the ontology.
            AddAxiom addAxiom1 = new AddAxiom(o, ax1);
            // We now use the manager to apply the change
            m.applyChange(addAxiom1);
            // print all classes
            for (OWLClass cls : o.getClassesInSignature()) {
               EditText edit = (EditText) findViewById(R.id.editText1);
               edit.setText((CharSequence) cls);
            }
            m.removeOntology(o);
        } catch (Exception e) {
            EditText edit = (EditText) findViewById(R.id.editText1);
            edit.setText("Not successfull");
        }
    }

我弄错了这个代码段

public static final IRI localLocation_IRI = IRI.create("file:c:///rdfex.owl");
public static final IRI Ont_Base_IRI = IRI.create("http://www.emkarhafriyat.com/owlex.owl");
4

1 回答 1

0

URL http://www.emkarhafriyat.com/owlex.owl (404)中没有本体,因此无法加载任何内容m.loadOntologyFromOntologyDocument(Ont_Base_IRI);,您会收到错误消息。

要修复它,您应该在指定的 URL 处公开您的 OWL 文件,或者从本地加载 OWL 文件。你可以这样做:

//Create the file object
File file = new File("/your/local/path/example.owl");
// Now load the local copy of the ontology     
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(file);
于 2013-01-17T13:03:45.790 回答