说我正在创建一个车辆本体。车辆及其制造商之间的连接类似于MyCar hasManufacturer Tesla
。然后,制造商有一个原产国,我将其指定为Tesla hasCountryOfOrigin USA
。我想要的是MyCar
在运行推理器时USA
与MyCar hasCountryOfOrigin USA
连接。我知道这与传递财产不同。我该如何实现? (专门使用Protege)
答案 0 :(得分:3)
您可以使用OWL中的property chain来执行此操作。您想将链hasManufacturer --> hasCountryOfOrigin
定义为hasCountryOfOrigin
的子属性。在Protégé中,您可以通过选择属性hasCountryOfOrigin
(在ObjectProperty选项卡中),在右下方的“ SuperPropertyOf(chain)”区域中找到该位置并单击+号,然后在新的编辑框中进行操作。随即打开,输入hasManufacturer o hasCountryOfOrigin
。必须先添加属性hasManufacturer
。也可以通过Prolégé完成与使用SWRL规则的属性链相同的推断,但是SWRL不是标准,而OWL和属性链功能则是标准。
答案 1 :(得分:1)
您有一条类似的规则:
{ x? hasManufacturer y?; y? hasCountryOfOrigin z? }
=> { x? hasCountyOfOrigin z? }
这可能不是正确的语法。