【问题标题】:Jena fuseki owl ontologyJena fuseki 猫头鹰本体
【发布时间】:2016-02-03 21:20:43
【问题描述】:

我安装了 Jena Fuseki,并希望能够从我自己的 OWL 文件中获取课程。 以下查询返回来自 owlrdfs 的类,而不是来自 ont 的类。我怎样才能找回它们?在使用 Fuseki 进行查询时,我最终想使用我自己的 OWL 本体中的部分将数据添加到 TDB。我正在使用 Fuseki 版本:2.3.1。

prefix owl: <http://www.w3.org/2002/07/owl#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix ont: <http://wad.nistorandrei.com/ontology.owl#>

SELECT ?class ?label ?description
WHERE {
  ?class a owl:Class.
  OPTIONAL { ?class rdfs:label ?label}
  OPTIONAL { ?class rdfs:comment ?description}
}

【问题讨论】:

  • “来自 owl 和 rdfs 但不是来自 ont 的类”是什么意思?如果您在本体中声明了 owl:Classes 或 rdfs:Classes,则此查询将检索它们。如果没有看到您的数据,我们将无能为力。你的本体的内容是什么?
  • 当我执行上面的命令时,我可以得到“owl:Thing”、“owl:Nothing”(和其他)作为类,但我没有得到 ont:Place 或 ont:Church。你可以在wad.nistorandrei.com/ontology.owl# 看到本体。我是否需要表格中的数据才能显示我的本体?
  • 你至少需要加载你的本体。正如我在回复your previous question 时所说的那样,仅在 SPARQL 查询中声明前缀除了定义 IRI 的简写之外没有任何作用。例如,我可以编写类似prefix snowy: &lt;http://example.org/snowy.owl#&gt; select ... 的查询;查询引擎不会尝试加载 http://example.org/snowy.owl 或类似的东西。这只是意味着如果snowy:x 出现在查询中,它与&lt;http://example.org/snowy.owl#x&gt; 相同。这就是全部。您仍然需要将所需的任何数据加载到数据存储中。
  • 你问的问题有点像“我昨天使用数据库机器 X 并存储了一些数据。今天我在机器 Y 上安装了 MySQL,但我的查询没有返回任何内容。为什么不是?”仅仅因为您在 一个 地方定义了一些数据,并不意味着您可以在其他地方使用它而无需加载它。

标签: semantic-web owl fuseki


【解决方案1】:

您的问题描述让我怀疑您没有在 Fuseki 中加载您的本体。 声明前缀 ont:http://wad.nistorandrei.com/ontology.owl# 将不允许您查询远程的 ontology.owl 文件。

您必须创建一个数据集(在管理数据集 -> 创建数据集) 并向其中添加数据(现有数据集 -> 上传数据或使用 SPARQL UPDATE 查询)

那么只有你可以查询你的数据。

【讨论】:

  • 感谢您的帮助。我添加了数据,它起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多