我正在研究一个大型的复杂软件,它从系统读取数据并将其部分存储在Apache Jena Model / DataSet中。除一件小事外,其他所有东西都工作正常:尝试在模型中的两个实体之间添加“ hasPart”关系时,它永远不会应用。

即当我调试代码时,我可以看到log4j报告了一个错误,该错误似乎表明事务未激活。

因此,我的问题是:开通的交易未激活,是什么原因导致这种情况?
由于添加属性“ hasPart”之前的行正在开始事务(在begin(ReadWrite.WRITE)上的DataSet),因此似乎很令人困惑。不会引发任何异常,只是在控制台上记录了log4j的错误消息。

不幸的是,目前我无法编写最少的代码来及时演示问题。因此,我的问题更多是性质,如果某种友善的灵魂有一个指针或理论上的解释-这将是最有用的。任何指针或解释将不胜枚举。

最佳答案

不幸的是,即使您不提供日志跟踪或代码段,SO社区也几乎无济于事(不必直接执行,但MWE可以帮助您)。

首先,应使用DCMI hasPart term表示hasPart关系。

我建议您先check all Model statements保存。之后make sure you are in a Transaction

如果这对您有帮助,请正确更新问题,以便它可以成为实际问题的答案,而不仅仅是对问题的模糊描述。

关于java - Apache Jena不添加hasPart关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40280437/

10-10 14:34