Один из способов добиться этого в OWL, используя ваш Person and not member_of some Group
, - это определить класс MemberOfGroup
, который определен, как вы предложили. Затем определите класс NotMemberOfGroup
, который не пересекается с классом MemberOfGroup
. Если вы теперь определите, что ваше лицо относится к типу Person
, а также к типу not member_of some Group
, то ваше лицо будет классифицировано как принадлежащее к классу NotMemberOfGroup
.
Причина, по которой вы должны сделать это, заключается в том, что OWL использует предположение об открытом мире и, следовательно, может делать выводы только о том, что ему известно наверняка. То есть, если заявить, что индивид - это Person
, но не делать никаких заявлений относительно member_of
, это дает логику нулевую явную информацию, чтобы определить, принадлежит ли индивид к группе или нет.
Другой вариант - использовать SHACL / SHEX / SPIN.