java - 使用 Jena 进行本地和远程 OWL/SPARQL 查询

标签 java sparql owl jena protege

我想使用 Jena 和 SPARQL 创建一个简单的应用程序,用于插入、删除、更新和查询一些 OWL/RDF 数据。我在 Protégé 上创建了本体,并注意到其中的 SPARQL, 但我想使用 Java 中的 Jena 以编程方式运行 SPARQL 查询。

  1. 我看到“Using Jena to create a SPARQL query on DBpedia ”,我知道如何将 SPARQL 与 Jena 结合使用,但我想将其上传到服务器或在本地主机或其他设备上工作。

  2. SPARQL 不支持更新或插入等操作,仅支持查询。是否有其他语言/方法支持这些操作,或者我应该在每个应用程序中用 java 手动操作数据?

  3. 如何上传我的本体,最好是与 Protégé 相关的内容? 我试过Protege2Joseki但无法让它工作。

  4. RDF 存储仅适用于 RDF?我正在处理 OWL 文件。例如,如果我使用 MySQL 作为 RDF 存储,它也适用于 OWL 概念吗?

最佳答案

我认为在 Stack Overflow 上,你确实应该在每次发帖时问一个问题。同时提出四个问题会让您很难表明自己何时获得了所需的答案。

依次回答您的问题:

  1. 听起来您希望有一个端点加载您的查询和本体,您和其他人可以使用 SPARQL 进行查询。为此,您可以使用 Joseki .
  2. SPARQL working group at W3C目前正在标准化 SPARQL 语言的更新扩展。一些现有的查询引擎,包括the one in Jena ,已经将建议的更新机制实现为 SPARQL 扩展。
  3. 我不明白问题 3。
  4. 是的,RDF 三元组存储可以存储 OWL,因为 OWL 是 RDF 的特化,它提供了额外的语义表示。许多工具,包括耶拿,provide specialised APIs用于存储、检索和操作存储在 RDF 三元组存储中的 OWL 结构。

关于java - 使用 Jena 进行本地和远程 OWL/SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2696237/

相关文章:

java - lwjgl 3 macOS 创建窗口时出现问题

SPARQL 递归祖先查询

java - 如何使用 owlapi 5.1 检索 OWL 类的子类?

logic - 如何在 OWL2/Protege/Ontology 中将属性定义为两个 "conditions"的交集

database - RDF/OWL 是表示还是数据库?

java - apt-get 安装 oracle java 7 停止工作

java - OpenCV Android(java)字符检测和字体识别

java - log4j2 没有输出文件?

python - 如何转义 SPARQL 前缀名称中的特殊字符?

sparql - 获取没有语言标签的字符串