Может быть, взгляните на проект Attempto , целью которого является определение фрагмента английского языка, который можно автоматически сопоставить с логикой первого порядка. Частью этих усилий является сопоставление с OWL 2 DL. Смотрите, например Написание онтологий OWL в ACE .
Ваше примерное предложение
Bob, over on 42nd street, will have a job at the Mall after the owner approves
может быть переписано в Attempto Controlled English (ACE) как
If an owner of Mall approves John whose address is "42nd street"
then he is employed by Mall.
(или что-то подобное, в зависимости от того, что именно вы намереваетесь сказать.)
Это предложение может быть автоматически сопоставлено с OWL2 SubClassOf -axiom
SubClassOf(
ObjectIntersectionOf(
ObjectOneOf(
:Mall
)
ObjectSomeValuesFrom(
:owner
ObjectSomeValuesFrom(
:approve
ObjectIntersectionOf(
ObjectOneOf(
:John
)
DataHasValue(
:address
"42nd street"^^<http://www.w3.org/2001/XMLSchema#string>
)
)
)
)
)
ObjectSomeValuesFrom(
:employ
ObjectOneOf(
:John
)
)
)
Это отображение реализует определенные соглашения об основных классах слов:
- соответствие имен существительным именам классов OWL
- сопоставление имен собственных с именами OWL
- переходные глаголы, переходные прилагательные и из -структур отображаются на имена свойств OWL: имена свойств данных, если их аргумент является числом или строкой, в противном случае имена свойств объекта
Многие классы слов, которые поддерживает ACE, не поддерживаются этим отображением, например непереходные и дитранзитивные глаголы, непереходные прилагательные и наречия. Покрытие может быть расширено, например, непереходные глаголы могут отображаться в классы OWL (например, « Джон спит. » может означать, что индивидуум Джон принадлежит к классу спящих ). Менее понятно, как обращаться, например, дитранзитивные глаголы и наречия.
В целом, английский язык гораздо богаче с точки зрения его строительных блоков (существительные, различные типы прилагательных, различные типы глаголов, ...), чем OWL (который имеет классы, отдельных лиц, свойства объекта и данных, и (типизированный) ) элементы данных, такие как строки и числа). И это только уровень «слово против сущности». Такие вещи, как время, являются более сложными, так как они имеют много поверхностных представлений на английском языке и не имеют каких-либо встроенных функций на стороне OWL.