如何在Apache(而不是Tomcat)服务器上执行基于java的OWL推理程序



我有一个PHP web应用程序,它应该在OWL(本体web语言)文档上执行推理。我知道两个推理程序,它们都是用Java编写的,但是我有一个标准的Apache服务器,所以我可以输入PHP,而不是JSP。

是否有一种方法在服务器上执行Java代码,像这样:PHP脚本发送数据给Java代码(推理器),然后Java代码执行推理并返回数据给PHP脚本?是否有一种方法可以将一个Java程序以某种方式包装在服务器上或其他什么东西中?

谢谢,马丁

我认为在您的情况下,一个好的方法是通过SPARQL端点公开推理器,并根据SPARQL协议用PHP编写应用程序。

从PHP调用Java听起来像是一种攻击,而且似乎很脆弱。如果你的应用程序基于SPARQL协议,你可以只使用HTTP, JSON, &XML库,您不需要任何严格特定于RDF或OWL的东西。可以大大简化您的实现。

此外,如果您使用SPARQL协议,它将您与您正在使用的任何推理器/数据库的实现特定细节隔离开来。你可以切换到一个新的推理器,只要它暴露为SPARQL端点,你就不需要改变你的web应用程序中的代码。

这些都不能真正绕过必须在机器上运行推理器的问题,而且很可能需要servlet容器,尽管有些选项可以独立运行。

您首先需要能够在您的机器上运行一些Java代码,并且您必须在服务器上安装JVM。

那么你可以看看下面的答案:从PHP调用java代码。这应该能让你了解如何从PHP中调用Java程序。

如果你不太依赖推理,另一种方法是使用Protege打开本体,对其进行分类,然后保存。因此,您不必在服务器端使用任何Java,您只需使用本体中存在的数据。

最新更新