Graph 耶拿';尝试提交事务时,s TDB数据集收到TDBTTransactionException

Graph 耶拿';尝试提交事务时,s TDB数据集收到TDBTTransactionException,graph,sparql,rdf,jena,Graph,Sparql,Rdf,Jena,这是我写的: public static void main(String[] args) { Dataset dataset = TDBFactory.createDataset("/tmp/someThings"); dataset.begin(ReadWrite.WRITE); Model model = dataset.getDefaultModel(); model.setNsPrefix("kg", "http://sankuai.com/kg");

这是我写的:

public static void main(String[] args) {
    Dataset dataset = TDBFactory.createDataset("/tmp/someThings");
    dataset.begin(ReadWrite.WRITE);
    Model model = dataset.getDefaultModel();
    model.setNsPrefix("kg", "http://sankuai.com/kg");
    Resource resource = model.createResource("http://sankuai.com/kg/jena");
    resource.addProperty(model.createProperty("kg", "language"), "SPARQL");
    dataset.commit();
    System.out.println(model);
}
但是给我一些输出,它显示了一个错误:

Exception in thread "main" org.apache.jena.tdb.transaction.TDBTransactionException: Not in a transaction

我做的有什么不对吗?

问题是当我检索模型时:

System.out.println(model);

它必须包含在一个事务中,而我不是…

是的,一旦它被用于事务,访问必须是事务性的。有关编写事务代码的帮助,请参见。