3

我有非常艰巨的任务摆在我面前,所以我欢迎任何帮助和建议。

我必须实现 Java Web 服务,该服务将匹配另外两个给定的 Web 服务以实现语义相似性。这两个其他 Web 服务将使用 OWL-S 来描述,它使用来自 OWL 本体的概念。S1 将是我正在寻找的 Web 服务(我的查询),而 S2 将是存储库中的服务(广告)。所以我需要从我的 Java 代码中访问 OWL-S 描述和 OWL 本体。

我正在使用 Eclipse、Tomcat、OWL API 和 HermiT 语义推理器。

我有非常原始的匹配算法,主要目标是将服务 S1 输入和输出与 S2 输入和输出进行匹配。

我是这个主题的初学者,我从未使用过 OWL API,也从未使用过本体。

我目前的待办事项清单: 1. 从 OWL-S 加载一个过程参数类型(OWL 类)。假设 S1 输入是 C1 类型,S2 输入是 C2 类型。2. 查找类 C1 和 C2 是否在我的本体 O 中。 3. 检查类 C2 是否包含类 C1,或者它们在我的本体 O 中是否在语义上相同。

对于这些任务,我将不胜感激任何我找不到的代码示例或片段。特别是检查 C2 类是否包含 C1 类。

问候

4

1 回答 1

2

OWLAPI 网站上有一些关于使用 OWL-API 的合理文档,其中一些示例应该为您提供足够的信息来实现您正在考虑的基本算法。

此外,在“OWL 语义服务匹配”上进行谷歌学术搜索——在这个领域有很多先前的工作。这对代码示例没有帮助,但有更复杂的服务匹配方案可供您在基本示例运行后尝试。另外,如果你打算在这个领域工作,了解其他人一直在做什么会有所帮助。

最后,您可能想查看OWL-S API,我认为它基于 Jena,因此您必须废弃您当前拥有的任何代码,但它是为使用 OWL-S 服务描述而设计的有效 API,这可能会让你的生活更轻松。

于 2012-10-15T12:24:01.457 回答