Как определить отношения саморекламы между классами в Protégé - PullRequest
0 голосов
/ 04 августа 2020

Я изо всех сил пытаюсь понять, как я могу смоделировать отношения, которые отсылают класс к другому экземпляру самого себя. Например:

Возьмите класс X. Я бы хотел, чтобы X имел отношение к другим экземплярам своего собственного класса. Взгляд на доступные характеристики свойств объекта сразу показывает наличие рефлексии как возможность, однако я понимаю, что рефлексивная связь означает, что класс может быть связан с самим собой с помощью этого свойства, то есть экземпляр класса может быть связан с самим собой через свойство, а не два экземпляра одного и того же класса, связанные отношениями. Это означало бы, что экземпляр X связан сам с собой, а не два отдельных экземпляра X, связанных друг с другом.

Я неправильно понимаю, как работают эти свойства? Похоже, было бы неплохо иметь возможность связывать экземпляры классов на уровне класса. Я знаю, что то, что я пытаюсь достичь, может быть выполнено на индивидуальном уровне, то есть создать индивидуумов a и b, сделать их типа X и затем назначить желаемые отношения между ними, однако это не обеспечивает видимости отношений на уровень класса.

Спасибо, что нашли время прочитать этот вопрос, и я надеюсь, что вы поможете мне понять.

DethMetalDuck

1 Ответ

1 голос
/ 04 августа 2020

Вы можете сделать что-то вроде следующего, предполагая, что у вас есть класс A, который есть, и свойство объекта hasProp:

ObjectProperty: hasProp
  Characteristics:Reflexive
  Domain: A
  Range: A

Class: A
  SubClassOf: hasProp some A

Это в основном утверждает, что класс A является подмножеством набор индивидов, который связан через hasProp с индивидами типа class A.

...