问题标签 [jena]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6142 浏览

owl - 使用 Jena 进行推断

上面给出的例子是由正式的 Pizza.owl 形成的。在这只猫头鹰中,Example-Margherita 是 Margherita 类的个体。所以,它已经写在 owl 文件中了。然而,问题在于推理者应该推断出 margherita-example 也应该是素食披萨。谁能举一个例子来说明如何在 Protege 中找到个人可能的推断类?(Protege 正确推断 Example-Margherita 是素食披萨。但是,我无法以编程方式推断)

0 投票
3 回答
3177 浏览

java - 读取OWL/XML的问题

我在使用 Jena 从 Java 读取 OWL/XML 文件时遇到问题。

我在读取 RDF/XML 文件时没有问题,但是每当我从 Protege 创建一个 OWL/XML 文件并尝试读取它时,Java 都会在下面给出这个错误:WARN [main] (RDFDefaultErrorHandler.java:36) 线程“main”中的异常com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement(XMLHandler.java:143) 处的 java.lang.NullPointerException

我用来检索 RDF/XML 的代码如下:

此代码与 RDF/XML 完美配合。但是,我无法阅读 OWL/XML。我看了看互联网,我找不到任何东西。如果有人告诉我一个方法,我将不胜感激。非常感谢

0 投票
1 回答
367 浏览

java - 推断具有整数基数约束的实例的问题

我使用 Protege 4.1 alpha 创建了一个 RDF/OWL 文件。我还在 Protege 中创建了一个已定义的类,称为 CheapPhone。这个类有一个限制,如下所示:

每当一部手机的价格低于350,就被推断为CheapPhone。在 Protege 4.1 alpha 中推断这一点没有问题。但是,我无法使用 Jena 来推断这一点。

我还创建了一个名为 SmartPhone 的已定义类。这个类也有一个限制,如下所示:

每当一部手机有 3G 和互联网时,它就被推断为 SmartPhone。在这种情况下,在 Protege 和 Jena 中推断这一点都没有问题。

我开始认为 Jena 的默认推理引擎有问题。我在 Java 中使用的代码如下:

此代码完美运行并返回实例,但是当我更改下面的代码并使其适用于 CheapPhone 时,它​​不会返回任何内容。

难道我做错了什么 ?

0 投票
4 回答
702 浏览

sparql - SPARQL - 找到本体需要什么?

我对 SPARQL、OWL 和 Jena 还很陌生,所以如果我问的是完全愚蠢的问题,请原谅。几天以来,我遇到了一个让我发疯的问题。我使用以下字符串作为 Jena 的查询QueryFactory.create(queryString)

直到今天早上,只要我只要求来自 foaf 命名空间的属性,它就可以工作。一旦我从我自己的命名空间中请求属性,我总是得到空的结果。当我正要在这里发布这个问题并进行一些最终测试以尽可能准确地发布它时,它突然起作用了。因此,由于我不知道究竟要问什么,我在发布之前删除了我的问题。几个小时后,我使用 Protege 的 Pellet 插件创建和导出推断模型。我将其命名为 helloOwlInferred.owl 并将其上传到我的服务器上 helloWl.owl 所在的目录。我调整了加载推断本体的方法并更改了上述查询,以便前缀 ho: 也分配给推断本体。一下子,什么都没有了。确切地说,它不再起作用了,但直到今天早上我的原始查询都出现了相同的症状。我的前缀不再起作用。我做了一个简单的测试:我将所有 helloWorldInferred.owl 文件(我服务器上的前缀文件和我加载的本地副本)重命名为 helloWorld.owl。足够奇怪,解决了所有问题。

将其重命名为 helloWorldInferred.owl 再次破坏了一切。等等。那里发生了什么?我是否只需要等待几周,直到我的本体“注册为有效前缀”?

0 投票
1 回答
2304 浏览

jena - 在耶拿添加属性值

我如何将属性值添加到个人。我创建了一个名为“laknath”的新个体。然后在我需要向它添加属性值之后..

OntClass cul = model.getOntClass(" http://www.owl-ontologies.com/Ontology1275995702.owl#person ");

个体ind = model.createIndividual(" http://www.owl-ontologies.com/Ontology1275995702.owl#laknath ",cul);

我必须在该个人(ind)下添加 URL .. 可能有一个或多个 URL 属于该人...我如何添加:::

谁能告诉我路..

0 投票
0 回答
984 浏览

jsp - jsp中的jena包

我将 Jena 包导入我的 JSP 页面。

当我运行它时,会提示错误:

我该如何纠正?

0 投票
1 回答
632 浏览

jsp - 将文字类型添加到模型中

我试图将数据类型属性值添加到我的模型中..它工作正常..当我这样写时:

当我将它作为参数传递时:

它会给出一个错误:

有人可以帮我解决这个问题吗...

谢谢

0 投票
1 回答
4266 浏览

owl - 如何将 OWL:imports 添加到 jena 的 .owl 文件中

我是耶拿的新手。我想创建一个新的 OntModel 并需要将其他一些本体导入到该模型中。如果我将其写入文件,我希望该文件可以显示如下内容:

现在,我不知道如何通过jena将其他本体导入模型。任何人都可以给我一些建议吗?

谢谢

0 投票
4 回答
4811 浏览

java - 从本体创建 Java 类

我有一个本体文件(在 RDF 中),它表达了我正在编写的应用程序中的实体。我正在使用 Jena,并且可以通过直接操作三元组来访问概念并创建/访问资源。

为了让事情变得更简单,我创建了一组 Java 类,为我的本体中的每种类型的资源一个,牢记它们的继承和属性。例如

如果本体包含两种资源,AgentPerson,后者是前者的子类。

我意识到创建这些类的过程(以及提取它们的方法)非常单调。如果我在数据库上编写应用程序,我会使用 Hibernate 的配置文件并让它处理细节。

我的问题是:是否有可用的工具将本体(在 RDF 文件中)作为输入,并创建一组表示本体中的概念的 Java 文件,如上例所示?(或者如果耶拿本身可以做到这一点,我错过了一些东西)

谢谢。

0 投票
2 回答
2774 浏览

sparql - 如何使用 Jena 查询/更新远程 RDF 端点

我想通过 http 向远程端点发送更新。我发现 joseki 就是这样一个端点。

但是,如果我只知道端点的 uri,我如何向该端点发送更新查询?

否则,我想听听如何对仅知道 URI 的端点进行远程更新查询。

更新:最后 求助于当地的耶拿。这种 RDF 端点接受插入和删除语句。我没有成功找到可以接受修改查询的远程 RDF 端点。