2

我正在进行概念验证,以探索如何连接来自不同数据源的 SPARQL 数据。我有两个 OWL 类,每个类都来自自己的数据模型,代表我从两个不同系统中提取的信息。数据模型如下所示:

Order: id, itemName, quantity
Item: id, name, unitPrice

我想做的是使用 Order.itemName 和 Item.name 字段将这两种类型连接在一起,并在 Order 类上创建一个新字段来存储订单的总价格(order.quantity * item.unitPrice)。

这对于 SPARQL 来说非常简单,但我们正在研究 TopBraid Composer,因为它具有图形映射功能。据我了解,使用 SPINMap 我们应该能够轻松地 - 并以图形方式 - 定义上述属性,但我在将事物连接在一起时遇到了一些问题。

我一直在关注 TBC 帮助中“应用程序开发工具/SPIN/Ontology Mapping with SPINMap”下的教程,但我在尝试获取一个简单的属性映射时遇到了问题。根据该帮助文档,在 Diagram 选项卡上,我从 Item Class 到 Order 类画了一条线,并选择了具有适当值的 changeNamespace 函数。然后,我从 Item 类画了一条线到 Order 类的新属性 totalPrice,并将函数设置为 equals,只是为了看看是否可以显示该属性。运行推理后,我运行 SPARQL 查询,我的所有 Order 类的 totalPrice 字段为空。我知道这个描述令人困惑——知道我应该怎么做才能完成这项工作吗?

4

1 回答 1

0

马特,在您的第二步中,您是否使用 Item 类中的属性映射到 Order 类?对于“等于”模板,这应该没有任何问题。

检查运行推理的选项卡中底行中的推理选项卡。这将显示所有具体化的推论,并可用于验证您的 SPINMap 正在执行所需的操作。

另请查看配置推理以确保选择 TopSPIN 推理器。

于 2016-02-14T18:56:44.123 回答