Protege OWL DataProperty на ObjectProperty - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь выразить это:

Манчестерское расстояние от Лондона составляет 335 км.

Я создал класс city, и теперь я думаю создать объект ObjectProperty с помощью Domain City и Range City.

Но где я могу объявить реальное расстояние для него?

1 Ответ

2 голосов
/ 20 марта 2019

На самом деле это пример n-арного отношения . В таком случае отношение моделируется как класс, а не как свойство. Для этого предположим, что мы вводим класс 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-арное отношение немного более очевидным.

Обновление 20190320

Если у вас есть другое расстояние, которое вы должны представить, вы можете добавить еще одного человека типа DistanceBetweenTwoCities:

Individual: distanceLondonToAthens
    Types: 
    DistanceBetweenTwoCities

    Facts:  
      hasCity1  london,
      hasCity2  athens,
      hasDistance  3000


Individual: athens
     Types: City
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...