私は、システムからデータを読み込み、その一部をApache Jena Model
/DataSet
に保存する大規模で複雑なソフトウェアにwokringしています。 1つの小さなことを除いて、すべてうまく動作します。モデル内の2つのエンティティ間に 'hasPart'関係を追加しようとすると、決して適用されません。Apache JenaはhasPart関係を追加していません
I.e.私がコードをデバッグすると、log4jは、トランスコードがアクティブではないと思われるエラーを報告することがわかります。
私の質問では、このような状況が発生する可能性があります。開いているトランザクションはアクティブではありませんか? 'hasPart'プロパティを追加する前の行がトランザクションを開始しているので、かなり混乱しているようです(begin(ReadWrite.WRITE)
:DataSet
))。例外はスローされず、log4jログメッセージがコンソールに記録されます。
現在のところ、私は問題をタイムリーに示す最小限のコードを作成することはできません。ですから、私の質問は、ある種の魂がポインタや理論的な説明を持っているなら、より自然なものです。どんなポインタや説明も大いに訴えられるでしょう。
コンソールのログ出力は次のようになります。[ERROR]非アクティブ:11514 - これはBlockMgrJournalという名前のクラスから発生したものと考えられます。checkActive。 – RVarttinen
https://github.com/apache/jena/blob/master/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/BlockMgrJournal.java#L300がメッセージの送信元のようです。実行中のFusekiのデータファイルで書き込みトランザクションを開こうとしていますか?もしそうなら、あなたはそれをしてはいけません。それでもやりたい場合は、JavaアプリケーションとFusekiが同じプロセスで実行されていることを確認してください:https://jena.apache.org/documentation/tdb/faqs.html#multi-jvm – berezovskyi