介してイエナmodel.setNsPrefixesここコードである:java.lang.NullPointerExceptionが
*Location location = Location.create("target/DBLP");
Dataset dataset = TDBFactory.createDataset(location);
dataset.begin(ReadWrite.READ);
Model model = dataset.getDefaultModel();
HashMap<String, String> prifixMap = new HashMap<>();
prifixMap.put("rdf","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
try{
model.setNsPrefixes(prifixMap);
}
catch (Exception e)
{
e.printStackTrace();
}*
がmodel.setNsPrefixes(のラインを実行する際には常にjava.lang.NullPointerExceptionが発生します)、および詳細のprintStackTrace org.apache.jena.sparql.graph.GraphPrefixesProjectionで org.apache.jena.tdb.store.DatasetPrefixesTDB.readPrefix(DatasetPrefixesTDB.java:86)で
java.lang.NullPointerExceptionが 次の通りであります.get(GraphPrefixesProjection.java:101)(GraphPrefixesProjection.java:79) (org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefix(PrefixMappingImpl.java:75) ) jean.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:163) 、org.apache.jena.rdf.model.impl.ModelCom.setNsPrefixes(ModelCom.java:1043) at ReadTransaction(ReadTransaction.java:32) ReadTransaction.mainで) (ReadTransaction.java:133)
私はイエナのAPIをチェックして、そして私はどんな解決策を見つけることができませんでした。
ありがとうございました!
Apache Jena 3.1.1のバージョンでは、「org.apache.jena.tdb.TDBException:割り当てをNodeTableReadonlyで試行しました」が正しいです。上記のコードは "dataset.begin(ReadWrite.READ)"です。スタックトレースのポイントを通過しました。 – AndyS
その他の考えられる原因は、過去のある時点(別のJVM実行時)に、不正なシャットダウンを伴う非トランザクション使用、または同じファイルにアクセスする2つのプロセスです。 – AndyS
@AndySはあなたのコメントに感謝しています。トランザクションの不正な終わりについてです。データファイルを再度生成しましたが、例外はそれ以上発生しませんでした。 – Tahirih