Ваша онтология выглядит немного подозрительно.
book1
, book2
, book3
и mit
- это не классы, а отдельные лица. Вы должны использовать model.createIndividual(NS + "bookX", publication)
для книг и создать класс для «организации» или аналогичный, а затем создать mit
как отдельное лицо этого класса. Обратите внимание, что createIndividual
уже заботится о назначении типа человеку, поэтому вам не нужно возиться с вашим свойством «a
». Вы должны сначала исправить это, а затем повторить попытку и обновить свой вопрос.
О влечении: посмотрите на последнюю строку результата вашего запроса. Вы нигде не говорили, что book3
книга, но в любом случае это утверждение есть. Это потому, что оно было вызвано другими операторами, и именно поэтому механизм вывода RDFS делает этот оператор видимым, когда вы запрашиваете модель. Оператор влечет за собой из-за диапазона в publishes
: все, что публикуется, относится к типу publication
.