Virtuoso错误:顶级空白节点主题和处理到此处的点之间缺少谓词和对象



我正在将以下数据(空白节点)推送到Virtuoso:

@prefix ns0:   <http://linked.opendata.cz/ontology/chord/> .
@prefix ns1:   <http://linked.opendata.cz/resource/business-entity/> .
[ ns0:source  ns1:CZ00006947 ;
  ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/28175492>
] .
[ ns0:source  ns1:CZ00241610 ;
  ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/60437359>
] .

这是通过POST请求推送到Virtuoso的确切数据(仅被截断;实际提交的数据更长)。

我收到以下错误消息:

SP029:TURTLE RDF加载器,第8行:之间缺少谓词和对象顶层空白节点主题和一个点处理挂起到这里。

这对我来说没有多大意义。你知道怎么了吗?

看起来语法实际上是正确的,或者可能足够正确,以便一些在线RDF翻译器(如本翻译器)能够正确地提取三元组并将其翻译为其他格式。显然,维尔托索没有能力做到这一点。正如另一个答案中所建议的,这种语法有效:

@prefix  ns0:  <http://linked.opendata.cz/ontology/chord/> .
@prefix  ns1:  <http://linked.opendata.cz/resource/business-entity/> .
[]  ns0:source  ns1:CZ00006947 ;
    ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/28175492>
.
[]  ns0:source  ns1:CZ00241610 ;
    ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/60437359>
.

但我的问题是,我使用ApacheJena以编程方式生成输出。我的问题中的数据是Apache Jena如何表示N3中的空白节点(这是该格式的名称),这显然与Virtuoso如何理解N2的空白节点不兼容。

不幸的是,ApacheJenaneneneba API不允许我更改N3中空白节点的表示方式。但它确实允许我使用不同的输出格式。所以我切换到RDF/XML,这很有效。用RDF/XML而不是N3表示的完全相同的数据现在可以推送到Virtuoso。

您的数据(乍一看是Turtle,这就是Virtuoso解析它的方式)只是一个主题(实体)列表——未识别的a/k/a空白节点——没有谓词(属性)或对象(值)。这可能有助于你理解我的意思——

[ … ]  .

这个样本的修订版是可行的,但你可能对每个未命名的受试者都有更好的陈述——

@prefix  ns0:  <http://linked.opendata.cz/ontology/chord/> .
@prefix  ns1:  <http://linked.opendata.cz/resource/business-entity/> .
@prefix  owl:  <http://www.w3.org/2002/07/owl#> .
[ ns0:source  ns1:CZ00006947 ;
  ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/28175492>
]  a  owl:Thing  .
[ ns0:source  ns1:CZ00241610 ;
  ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/60437359>
]  a  owl:Thing  .

或者,您可以这样做,而不添加任何语句——

@prefix  ns0:  <http://linked.opendata.cz/ontology/chord/> .
@prefix  ns1:  <http://linked.opendata.cz/resource/business-entity/> .
@prefix  owl:  <http://www.w3.org/2002/07/owl#> .
[]  ns0:source  ns1:CZ00006947 ;
    ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/28175492>
.
[]  ns0:source  ns1:CZ00241610 ;
    ns0:target  <http://linked.opendata.cz/resource/domain/seznam.gov.cz/rejstriky/business-entity/60437359>
.

由于您提供了其他详细信息——您的数据是N3,而不是Turtle——您的POST似乎没有正确地将您提交的标识为N3,这导致了Virtuoso的解析错误。

相关内容

最新更新