Virtuoso SPARQL 不检索值
Virtuoso SPARQL not retrieving values
我正在通过图形界面 (ODS-Briefcase) 将 RDF 文件上传到 Virtuoso Repository。文件上传成功。但是,每次我进行 SPARQL 查询时,都会返回一个空结果。
我试过很多其他文件,没有遇到这个问题。
这个文件比之前的文件大 (14MB),所以我猜这可能是原因,但我不确定。
如有任何帮助,我们将不胜感激:)
更新
我已尝试上传较小的文件 (2KB) 并且 SPARQL returns 结果符合预期。
但是,我再次上传了文件 (14 MB),但似乎没有正确上传。
当我尝试从 Virtuoso 的 ODS-Briefcase 中读取它时,发生了这种情况:
听起来您已经将文件加载到 Virtuoso WebDAV(文件)存储库中,但您可能还没有将其中的 RDF 加载到 Virtuoso (RDF) Quad Store 中。
看到这个guide to the bulk loader, and this page of RDF loading methods。
(ObDisclaimer:我为 OpenLink Software, producer of Virtuoso 工作。)
要解决此类问题,您必须从根本上了解您正在执行的任务以及如何使用 Virtuoso 对其进行解释。
手头的任务:
将 RDF 文档加载到 Virtuoso 的 WebDAV 存储库(ODS-Briefcase 为其提供了一个前端),其方式导致所述 RDF 文档的内容被加载到 Quad Store(其中 RDF 数据被索引并可用于 SPARQL查询等)。
你如何实现你的目标:
使用 ODS-Briefcase UI 创建类型为:关联数据导入的 DET 文件夹(该文件夹随后提供 WebDAV 存储和 Virtuoso Quad Store 之间的自动通道)。这种文件夹的属性(特征)之一是Named Graph IRI和Named Graph IRI Base:
有了关联数据导入 DET 文件夹,您只需将 RDF 文档上传到新创建的文件夹。
要验证从放置在该文件夹中的 RDF 文档导入的 RDF 语言语句是否存在,只需执行以下操作之一
SELECT COUNT (*)
FROM {targe-named-graph-iri}
WHERE {?s ?p ?o}
或
SELECT DISTINCT *
FROM {targe-named-graph-iri}
WHERE {?s ?o ?o}
您还可以使用以下模式在 SPARQL 查询中利用 Virtuoso 的内置 RDF 数据导入中间件 (a/k/a Sponger):
DEFINE get:soft "replace"
SELECT DISTINCT *
FROM {rdf-document-uri}
WHERE {?s ?o ?o}
我希望这能使将 RDF 文档内容导入 Virtuoso Quad Store(管理数据表示和 RDF Property/Predicate 图的引擎)的可用选项变得清晰。
我正在通过图形界面 (ODS-Briefcase) 将 RDF 文件上传到 Virtuoso Repository。文件上传成功。但是,每次我进行 SPARQL 查询时,都会返回一个空结果。
我试过很多其他文件,没有遇到这个问题。
这个文件比之前的文件大 (14MB),所以我猜这可能是原因,但我不确定。
如有任何帮助,我们将不胜感激:)
更新
我已尝试上传较小的文件 (2KB) 并且 SPARQL returns 结果符合预期。
但是,我再次上传了文件 (14 MB),但似乎没有正确上传。
当我尝试从 Virtuoso 的 ODS-Briefcase 中读取它时,发生了这种情况:
听起来您已经将文件加载到 Virtuoso WebDAV(文件)存储库中,但您可能还没有将其中的 RDF 加载到 Virtuoso (RDF) Quad Store 中。
看到这个guide to the bulk loader, and this page of RDF loading methods。
(ObDisclaimer:我为 OpenLink Software, producer of Virtuoso 工作。)
要解决此类问题,您必须从根本上了解您正在执行的任务以及如何使用 Virtuoso 对其进行解释。
手头的任务: 将 RDF 文档加载到 Virtuoso 的 WebDAV 存储库(ODS-Briefcase 为其提供了一个前端),其方式导致所述 RDF 文档的内容被加载到 Quad Store(其中 RDF 数据被索引并可用于 SPARQL查询等)。
你如何实现你的目标:
使用 ODS-Briefcase UI 创建类型为:关联数据导入的 DET 文件夹(该文件夹随后提供 WebDAV 存储和 Virtuoso Quad Store 之间的自动通道)。这种文件夹的属性(特征)之一是Named Graph IRI和Named Graph IRI Base:
有了关联数据导入 DET 文件夹,您只需将 RDF 文档上传到新创建的文件夹。
要验证从放置在该文件夹中的 RDF 文档导入的 RDF 语言语句是否存在,只需执行以下操作之一
SELECT COUNT (*)
FROM {targe-named-graph-iri}
WHERE {?s ?p ?o}
或
SELECT DISTINCT *
FROM {targe-named-graph-iri}
WHERE {?s ?o ?o}
您还可以使用以下模式在 SPARQL 查询中利用 Virtuoso 的内置 RDF 数据导入中间件 (a/k/a Sponger):
DEFINE get:soft "replace"
SELECT DISTINCT *
FROM {rdf-document-uri}
WHERE {?s ?o ?o}
我希望这能使将 RDF 文档内容导入 Virtuoso Quad Store(管理数据表示和 RDF Property/Predicate 图的引擎)的可用选项变得清晰。