我有一个 PHP Web 应用程序,应该对 OWL(本体 Web 语言)文档执行推理。我知道有两个 Reasoner,它们都是用 Java 编写的,但我有一个标准的 Apache 服务器可供使用,因此我可以输入 PHP,而不是 JSP。
有没有一种方法可以在服务器上执行Java代码,就像这样:PHP脚本将数据发送给Java代码(推理器),然后Java代码执行推理并将数据返回给PHP脚本?有没有一种方法可以让一个 Java 程序以某种方式包装在服务器上的某个东西中,或者其他什么东西?
谢谢, 马丁
最佳答案
我认为对于您的情况,一个好的方法是通过 SPARQL 端点公开推理器,并根据 SPARQL 协议(protocol)用 PHP 编写应用程序。
从 PHP 调用 Java 听起来像是一种 hack,而且看起来很脆弱。如果您的应用程序基于 SPARQL 协议(protocol),则只需使用 HTTP、JSON 和 XML 库即可,不需要任何严格的 RDF 或 OWL 特定内容。可以大大简化您的实现。
此外,如果您使用 SPARQL 协议(protocol),它会将您与您使用的任何推理器/数据库的实现特定细节隔离开来。您可以切换到新的 Reasoner,只要它作为 SPARQL 端点公开,您就不需要更改 Web 应用程序中的代码。
所有这些都无法真正解决您必须在计算机上运行推理机的问题,并且很可能您需要一个 servlet 容器,尽管有些选项可以独立运行。
关于java - 如何在 Apache(不是 Tomcat)服务器上执行基于 Java 的 OWL 推理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289958/