Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的OWL API,应用程序停止工作_Android_Api_Semantic Web_Owl_Ontology - Fatal编程技术网

Android中的OWL API,应用程序停止工作

Android中的OWL API,应用程序停止工作,android,api,semantic-web,owl,ontology,Android,Api,Semantic Web,Owl,Ontology,我试图在Android中使用OWLAPI来管理OWL本体。 我刚刚开始,但我的应用程序在实例化manager和本体时停止工作。 我正在使用owlapi-distribution-4.1.4,并将jar文件添加到app/libs文件夹中。我想知道如何解决这个问题。我肯定我错过了一些重要的东西,但因为我是新手,所以我无法发现它。 我的代码中有几行: import org.semanticweb.owlapi.apibinding.OWLManager; import org.semanticweb.

我试图在Android中使用OWLAPI来管理OWL本体。 我刚刚开始,但我的应用程序在实例化manager和本体时停止工作。 我正在使用owlapi-distribution-4.1.4,并将jar文件添加到app/libs文件夹中。我想知道如何解决这个问题。我肯定我错过了一些重要的东西,但因为我是新手,所以我无法发现它。 我的代码中有几行:

import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLClassAxiom;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;  

    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
    File ontologyFile = new File("C:/Users/Acer/Documents/myOntology.owl");

    try {
        OWLOntology myOntology = manager.loadOntologyFromOntologyDocument(ontologyFile);
    } catch (OWLOntologyCreationException e) {
        e.printStackTrace();
    }

我希望你能建议我如何解决这个问题。提前谢谢你

最好的猜测是,您并没有在lib中部署所有依赖项。owlapi jar本身还不够

我不熟悉android studio,但我认为它可以将maven依赖项添加到项目中?如果没有,我建议使用项目中可用的dependencypack jar,它包含所有必需的jar文件,您可以很容易地在lib文件夹中提取它


接下来要验证的是输入文件的绝对路径是否适用于应用程序。我猜这可能也需要改变。

什么叫停止工作?您应该会收到一些消息/错误/异常。在我的应用程序中,有一个按钮,单击该按钮时,应加载本体。嗯,当我点击它时,我的智能手机上会显示“应用程序已停止”的消息,应用程序将关闭。不幸的是,它没有显示任何异常或错误消息…当然android日志中应该有一些内容。你能告诉我在哪里搜索它吗?我使用的是Android Studio 2.3.1,Android监视器或debuggerHi中没有任何内容,首先感谢您的友好回复。我已经按照您的链接下载了:-owlapi-dependencPack-4.3.1.jar-owlapi-distribution-4.3.1.jar我已经将两个jar都放在app/libs路径中。此外,我还将模块添加到我的项目中。在build.gradle文件中有一行compilefiletree(include:['*.jar'],dir:'libs'),应用程序不断崩溃。我错过了什么?其次,关于输入文件的绝对路径的建议到底是什么意思?dependebcypack jar是一个OSGi包:对于android,不要按原样使用它。解压缩它包含的jar文件(如果更容易的话,将其重命名为具有扩展名.zip)。关于路径,您在C:drive中有一个文件,但是您手机上运行的android应用程序将无法访问该文件。很可能路径也需要更改为android应用程序可以访问的路径。好的,我在app/libs目录中提取了owlapi-dependencPack-4.3.1.jar,现在有了相关的文件夹。我应该以某种方式导入吗?我是否也必须提取此路径中包含的其他jar?它还不起作用,也许我还缺少什么。关于路径,你是说本体文件吗?当我创建管理器时,我的应用程序崩溃了,所以在加载.owl文件之前,我还是应该把它放在哪里?如果我想在没有IRI的情况下打开它,它是否需要上传到某个地方?提前谢谢,这行不通。生成失败,因为所有JAR都包含同名文件,但生成正在尝试解包和合并它们。这是没有用的,并且会阻止许多库在android中使用。一定有办法解决这个问题,但这是安卓系统的东西,我没办法。