2016-03-30 14 views
0

に保留中の処理Iがの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 loader, line 8: Missing predicate and object between top-level blank node subject and a dot processed pending to here.

それは私にはあまり意味がありません。

は、私は、次のエラーメッセージが表示されます。どのようなアイデアが間違っている?

答えて

0

あなたのデータ(最初は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であること、亀ではない - それはあなたのと思わが投稿をと正しく識別していないため、Virtuosoの解析エラーとなる N3と表示されます。

+0

ありがとうございますが、わかりません。ポイントは構文が間違っていることです。しかし興味深いのは、一部のオンライン解析では、そのデータからトリプレットを適切に抽出し、それを他の形式に変換できることです。 Virtuosoだけで、それはできません。 – tobik

0

構文が実際には正しいか、または一部のオンラインRDFトランスレータ(this oneなど)が正しくトリプレットを抽出して他の形式に変換できるように修正されているようです。明らかに、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> 
. 

しかし、私の場合の問題は、私はApache Jenaを使用してプログラムの出力を生成することです。私の質問のデータは、N3(これはこの形式の名前)の空白ノードを表す方法です。これはVirtuosoが空白ノードを理解する方法と明らかに互換性がありません。N3

残念ながら、Apache Jena APIでは空ノードがN3でどのように表現されるかを変更できません。しかし、私は異なる出力形式を使用することができます。だから、私はRDF/XMLに切り替えました。 N3の代わりにRDF/XMLで表現された全く同じデータが、Virtuosoにプッシュすることが可能になりました。

+1

Virtuosoは[Turtle](https://)ではなく、[Notation3](https://www.w3.org/TeamSubmission/n3/)( 'text/n3'、' .n3') www.w3.org/TR/turtle/)( 'text/turtle'、' .ttl')、あなたの投稿にあると思っていたもの、または[N-triples](https://www.w3.org/TR/n-triples /)( 'application/n-triples'、' .nt')?私はVirtuosoがあなたのN3を認識しないと思っています(多くの理由でそうかもしれません)。エラーは 'TURTLE RDF loader'と言っています...私はJenaと親密ではありませんが、RDF/XMLは、通常、タートル、N3、および他の多くのものより* MUCH *大きいでしょう。 – TallTed

+0

私はこれらのフォーマットが私に少し混乱していることを認めなければなりません(それらの違い)。第一に、私がJenaにN3形式のデータを与えるように頼むと、これが私の得たものです。第2の事実は、あなたが提案した方法で構文を更新すると、つまり、閉じた角括弧を前面に動かすことで、それが動作し始めたことです。 Virtuosoはそれを認識しました。 – tobik

+1

質問はあなたにイエナにあなたに与えることを尋ねるものではなく、あなたが提出しているVirtuosoに何を伝えているのでしょうか。あなたの 'POST'に関する詳細が欠落しています。特に、どのMIMEタイプがデータに関連付けられていますか? Virtuosoは明らかに見ます*タートルが来て、あなたのN3は正しいタートルの構文ではないので、報告されたエラーは適切です。 [Virtuoso Usersメーリングリスト](https://lists.sourceforge.net/lists/listinfo/virtuoso-users/)または[OpenLinkサポートフォーラム](http://boards.openlinksw.com/support)に従ってください。 /)。 – TallTed

関連する問題