Java ApacheJena没有添加hasPart关系
我正在研究一个大型复杂的软件,从系统中读取数据,并将部分数据存储在ApacheJenaJava ApacheJena没有添加hasPart关系,java,transactions,jena,Java,Transactions,Jena,我正在研究一个大型复杂的软件,从系统中读取数据,并将部分数据存储在ApacheJena模型中/数据集。除了一件小事之外,一切都正常:当试图在模型中的两个实体之间添加“hasPart”关系时,它永远不会被应用 也就是说,当我调试代码时,我可以看到log4j报告了一个错误,似乎表明转换没有被激活 那么,对于我的问题:什么可能导致这种情况,一个打开的事务不活跃? 添加属性“hasPart”之前的那一行正在启动事务(start(ReadWrite.WRITE)数据集上的),这看起来很混乱。没有引发异常,
模型中
/数据集
。除了一件小事之外,一切都正常:当试图在模型中的两个实体之间添加“hasPart”关系时,它永远不会被应用
也就是说,当我调试代码时,我可以看到log4j报告了一个错误,似乎表明转换没有被激活
那么,对于我的问题:什么可能导致这种情况,一个打开的事务不活跃?
添加属性“hasPart”之前的那一行正在启动事务(start(ReadWrite.WRITE)
数据集上的),这看起来很混乱。没有引发异常,只是控制台上的log4j日志错误消息
不幸的是,目前我无法生成一段最小的代码来及时地演示问题。所以,我的问题是,若某种灵魂有一个指针或理论解释,那个么它将是最有用的。任何指示或解释都将受到极大的赞赏 不幸的是,如果您甚至不提供日志跟踪或代码片段(不必是直接可执行的,但MWE有帮助),那么社区几乎无法提供帮助
首先,您应该使用来表示hasPart
关系
我建议您在保存它之前。在那之后
如果这对您有帮助,请适当地更新问题,以便它可以成为真正问题的答案,而不仅仅是对问题的模糊描述。不幸的是,如果您甚至不提供日志跟踪或代码片段(不必直接可执行,但MWE有帮助),社区几乎无法提供帮助
首先,您应该使用来表示hasPart
关系
我建议您在保存它之前。在那之后
如果这对您有帮助,请正确更新问题,使其成为真实问题的答案,而不仅仅是对问题的模糊描述。事实证明,从数据集中提取资源,并使用该引用(代码首先引用了创建的实例)添加属性(hasPart)的效果与预期一样。日志框架未报告任何错误,hasPart属性已就位
受影响的资源位于数据集的默认图形中
观察:使用getResource(uri)
确实会返回资源,但它似乎是一个副本(?),因为实例id:s不同
感谢别列佐夫斯基在细节上的帮助 事实证明,从数据集
中提取资源并使用该引用(代码首先持有对创建的实例的引用)添加属性(hasPart)的操作与预期一样有效。日志框架未报告任何错误,hasPart属性已就位
受影响的资源位于数据集的默认图形中
观察:使用getResource(uri)
确实会返回资源,但它似乎是一个副本(?),因为实例id:s不同
感谢别列佐夫斯基在细节上的帮助 控制台上的日志输出看起来像:[ERROR]Not active:11514-我认为它来自一个名为BlockMgrJournal的类,方法:checkActive。似乎是信息的来源。您是否试图在正在运行的Fuseki的数据文件上打开写事务?如果是这样,你就不应该这样做。如果您仍然想这样做,请确保Java应用程序和Fuseki在同一进程中运行:控制台上的日志输出如下:[ERROR]Not active:11514-我认为它源自名为BlockMgrJournal的类,方法:checkActive。似乎是信息的来源。您是否试图在正在运行的Fuseki的数据文件上打开写事务?如果是这样,你就不应该这样做。如果仍要执行此操作,请确保Java应用程序和Fuseki在同一进程中运行: