关于 属性 特征的问题
A question about Property Characteristics
假设我正在创建一个交通工具ontology。车辆及其制造商通过类似 MyCar hasManufacturer Tesla
的方式联系起来。然后制造商有一个原产国,我将其指定为 Tesla hasCountryOfOrigin USA
。我想要的是 MyCar
连接到 USA
当我 运行 推理器 MyCar hasCountryOfOrigin USA
时。我知道这与传递 属性 不同。我怎样才能做到这一点? (具体使用 Protege)
您的规则如下:
{ x? hasManufacturer y?; y? hasCountryOfOrigin z? }
=> { x? hasCountyOfOrigin z? }
这可能不是正确的语法。
您可以在 OWL 中使用 property chain 来完成此操作。您想要将链 hasManufacturer --> hasCountryOfOrigin
定义为 hasCountryOfOrigin
的子 属性。在 Protégé 中,您可以通过选择 属性 hasCountryOfOrigin
(在 ObjectProperty 选项卡中),找到右下部分带有 "SuperPropertyOf (chain)" 的位置并单击 + 号,然后在打开的新编辑框,键入 hasManufacturer o hasCountryOfOrigin
。 属性 hasManufacturer
必须是之前添加的。也可以使用 SWRL 规则获得与 属性 链相同的推论,这可以在 Protégé 中完成,但 SWRL 不是标准,而 OWL 和 属性 链功能是。
假设我正在创建一个交通工具ontology。车辆及其制造商通过类似 MyCar hasManufacturer Tesla
的方式联系起来。然后制造商有一个原产国,我将其指定为 Tesla hasCountryOfOrigin USA
。我想要的是 MyCar
连接到 USA
当我 运行 推理器 MyCar hasCountryOfOrigin USA
时。我知道这与传递 属性 不同。我怎样才能做到这一点? (具体使用 Protege)
您的规则如下:
{ x? hasManufacturer y?; y? hasCountryOfOrigin z? }
=> { x? hasCountyOfOrigin z? }
这可能不是正确的语法。
您可以在 OWL 中使用 property chain 来完成此操作。您想要将链 hasManufacturer --> hasCountryOfOrigin
定义为 hasCountryOfOrigin
的子 属性。在 Protégé 中,您可以通过选择 属性 hasCountryOfOrigin
(在 ObjectProperty 选项卡中),找到右下部分带有 "SuperPropertyOf (chain)" 的位置并单击 + 号,然后在打开的新编辑框,键入 hasManufacturer o hasCountryOfOrigin
。 属性 hasManufacturer
必须是之前添加的。也可以使用 SWRL 规则获得与 属性 链相同的推论,这可以在 Protégé 中完成,但 SWRL 不是标准,而 OWL 和 属性 链功能是。