2013-03-07 44 views
1

我目前正在编写一个Java ME程序,该程序具有内部OWL推理引擎(Hermit & Pellet)并从后端服务器接收本体数据(传感器数据)。有时候,这些数据也是由原始传感器数据组成的,并且已经从后端服务器上的推理机构推理出结果。推理只能在移动设备上进行,以防网络故障。Java ME Triple Store

在这一刻,我缺乏存储后端数据进行进一步处理的好方法。 我已经抬头看了Triple Stores,但是我想知道Java ME应用程序是否有很好的功能?

Grtz

+0

供未来读者使用的供参考:(2015年4月5日)我想让您知道项目的结果是“由于硬件的当前局限性而无法在移动设备上使用”。 – Tom 2017-12-08 08:27:39

回答

1

你接近这个错误的方式。在服务器上进行推理并将结果发送给您的应用程序。

推理计算困难。尝试在移动设备上执行此操作可能会造成糟糕的用户体验,因为它速度很慢,或者对玩具数据不起作用。

有执行推理这是相当不错的RDF数据库,如果你真的需要DL推理,还有一些专门的OWL推理的,它不会很难把一个SPARQL端点的,所以你面前可以远程查询它们。选一个最适合你的需求并与之配合;在后端做推理,通过SPARQL协议(HTTP)获得结果。

+0

感谢您的评论,但这是一个关于移动推理的研究项目,以帮助在紧急情况下(在移动设备上进行本地推理,以防网络故障)。我无法改变为这个项目制定的规格。此时,移动设备上的推理实际上表现得相当快(从1到3秒)。我实际遇到的唯一问题是以无效的方式在内存中存储大量数据。这就是为什么我问是否有人知道像三重商店更有效的方式? – Tom 2013-03-10 23:56:06

+0

如果您发现内存利用率是一个问题,您可以尝试使用使用查询时间推理的内容,而不是事先计算分类和实现的内容。但是这意味着查询速度会变慢,并且会使用更多的内存进行评估。这里没有魔法弹。 – Michael 2013-03-11 11:39:11

+0

再次感谢您的评论和丰富的信息,但研究的重点实际上是发现快速/优质的移动设备将推理引擎和规则引擎结合在一起。 我发现用户的另一个问题,你回答:http://stackoverflow.com/questions/13155676/open-source-triple-store-for-owl?rq=1 也许我应该包括这个信息这个问题,但我目前使用隐士进行推理,并将其与Pellet进行比较。我遇到的唯一问题是需要在移动设备上持久存储传感器数据。 – Tom 2013-03-11 17:52:32