Я пытаюсь сделать запрос с ограничением кардинальности. Запрос выглядит так
Класс A и (роль A минимум 2 класса B)
но это возвращает пустой набор. С другой стороны, когда я делаю запрос
Класс A и (роль A некоторые класса B)
он возвращает некоторых особей ClassA. Почему запрос кардинальности не работает, когда я знаю, что у некоторых лиц класса А определенно есть как минимум две роли А?
Чтобы быть более конкретным, у меня есть классы Team, Player и Position, а свойства объекта employs (которые связаны Команды и Игроки), а также hasPosition (связанный с Игроками и Позициями). Я пытаюсь сделать запрос
В команде и работает мин 2 (игрок и занимает позицию некоторые { нападающие**} **)
который должен возвращать команды с двумя или более Страйкерами, но, очевидно, поскольку OWL не делает предположения об уникальном имени, он возвращает пустой набор. Я попытался объявить, что некоторые из моих лиц являются отдельными, но когда я выполняю запрос с отдельными лицами на месте, это приводит к сбою Protégé. Protégé не падает при выполнении запроса без отдельных лиц.
Редактировать:
Сообщение об ошибке от Pellet в Protege Striker, показанное в Ontology XML