Не уверен, что ты пытаешься сделать. Ваше моделирование выглядит странно для меня, почему Джон класс? Джон должен быть человеком типа Персона. (И у вас не может быть подклассов отдельных лиц, поэтому изменение Джона на отдельное лицо также ответит на ваш вопрос о предотвращении подклассов.)
Обновлено: RDF как таковой не мешает вам говорить бессмысленные вещи. Таким образом, вы все еще можете анализировать, сериализовать и запрашивать ваши данные, даже если это чепуха. Но вы можете использовать OWL-непротиворечивость для проверки вашей онтологии. В этом конкретном случае вы должны проверить, находится ли онтология в OWL DL. (OWL DL - это вариант OWL, который, помимо прочего, вводит ограничение, согласно которому отдельные лица не могут иметь подклассы. В OWL Full это будет разрешено, если только вы не добавите ограничение на то, что класс Class
не пересекается с Person
класс.