Intellidimension предоставляет SDK, который может конвертировать OWL-Lite, OWL-Full или OWL-DL в классы .NET. Возможно, вы захотите взглянуть на это.
Sidenote
Я думаю, что вы путаете семантику домена в вашей онтологии. Похоже, что вы пытаетесь сказать, что «язык может существовать только в Teacher, ClassOfCourse, LearningResource, Discussion, Student», когда на самом деле вы говорите «Если язык используется для описания экземпляра, этот экземпляр может быть выведен как UnionOf Teacher , ClassOfCourse, LearningResource, Обсуждение и Студент. " Это распространенное неправильное толкование семантики OWL, так как кажется, что домен должен ограничивать использование свойств, хотя на самом деле это никогда не является функцией OWL (схема / проверка). OWL используется только для описания того, что следует выводить из использования, но не предписывает использование.
Семантика домена описана в руководстве OWL.
Используя UnionOf в домене свойства языка, вы говорите, что «все, что описано с использованием свойства языка, является учителем, или ClassOfCourse, или LearningResource, или Обсуждением, или Студентом». Я бы сказал, что это обычно не имеет смысла.
UnionOf семантики, описанной в руководстве OWL.
Диапазон аналогичен в том, что если вы определяете диапазон свойства определенного типа, то можно сделать вывод, что все литералы / ресурсы, на которые ссылается это свойство, относятся к типу, определенному в объявлении диапазона.
Диапазон, описанный в руководстве по OWL.