我正在将以下数据(空白节点)推送到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的解析错误。