我想表达这个:
曼彻斯特距离伦敦的距离为335公里。
我创建了类城市,现在我正在考虑创建和objectProperty hasDistance与Domain City和Range City。
但是我在哪里可以宣布它的实际距离?
这实际上是n-ary relation的一个例子。在这种情况下,关系被建模为类而不是属性。为此,我们假设我们引入了一个类DistanceBetweenTwoCities
。因此,建模的一种方法如下:
Class: City
Class: DistanceBetweenTwoCities
ObjectProperty: hasCity1
Domain: DistanceBetweenTwoCities
Range: City
ObjectProperty: hasCity2
Domain: DistanceBetweenTwoCities
Range: City
DataProperty: hasDistance
Domain: DistanceBetweenTwoCities
Range: xsd:integer
现在说明伦敦和曼彻斯特之间的距离:
Individual: distanceLondonToManchester
Types:
DistanceBetweenTwoCities
Facts:
hasCity1 london,
hasCity2 manchester,
hasDistance 335
Individual: london
Types: City
Individual: manchester
Types: City
注意:严格来说,没有必要引入两个不同的属性hasCity1
和hasCity2
。我们本可以只使用hasCity
。我只介绍了2个属性,使n-ary关系更加明显。
更新20190320
如果你有另一个距离你必须添加另一个类型DistanceBetweenTwoCities
:
Individual: distanceLondonToAthens
Types:
DistanceBetweenTwoCities
Facts:
hasCity1 london,
hasCity2 athens,
hasDistance 3000
Individual: athens
Types: City