Можем ли мы смоделировать множественное наследование с помощью Grakn? - PullRequest
1 голос
/ 29 мая 2020

В RDF / OWL мы можем иметь класс со многими суперклассами, назначенными или выведенными посредством множественного наследования. Многие справочные онтологии требуют поддержки множественного наследования.

Однако Grakn поддерживает только наследование одного типа, как использовать Grakn для этого.

Например, можно ли смоделировать этот пример в Grakn?

company      rdf:type         rdfs:Class
government   rdf:type         rdfs:Class

employer     rdf:type         rdfs:Class
employer     rdfs:subClassOf  government
employer     rdfs:subClassOf  government

1 Ответ

1 голос
/ 29 мая 2020

Пример, размещенный в вопросе, моделирует employer как оба класса company и government. Однако, хотя это может выглядеть правильно, проблема в том, что часто множественное наследование как концепция моделирования не используется должным образом. Множественное наследование должно группировать вещи, а не создавать подклассы «типы», где каждый тип является определением чего-то еще. Другими словами, мы не хотим представлять экземпляры данных. Это распространенная ошибка.

Вместо множественного наследования мы должны назначать роли, которые позволяют нам моделировать любой тип домена. Роль определяет поведение и аспект объекта в контексте отношения, и мы можем назначить объекту несколько ролей (обратите внимание, что роли наследуются, когда типы являются подклассом другого).

Например, a government может использовать person, а company может использовать person. Затем можно предложить создать класс, который наследует как government, так и company, который может использовать person, и в итоге получить класс employer, который наследует оба (как показано в примере выше).

Однако это злоупотребление наследством. В этом случае мы должны создать роль employer, которая относится к отношению employment и контекстуализирует, как company или government участвует в этом отношении (играя роль employer).

company sub entity,
    plays employer;

government sub entity,
    plays employer;

employment sub relation,
    relates employer;
...