В языках онтологий должны быть средства описания классов (концептов) предметной области, экземпляров классов, свойств концептов и отношений между концептами. Рассмотрим, как эти части онтологий описываются в языке OWL (WEB Ontology Language).
Задание класса Х осуществляется следующим образом:
<owl:Class rdf:ID="Х"/>
Далее может использоваться ссылка на класс Х в виде #X.
Экземпляр Y класса X (индивид) может быть задан в виде
<X rdf:ID="Y" />
Свойствами могут быть ObjectProperty, DatatypeProperty, rdfs:subPropertyOf, rdfs:domain, rdfs:range.
Например, свойство А, относящееся к концептам Х и Z (ограничения domain и range — см. язык RDFS), будет выглядить таким образом
<owl:ObjectProperty rdf:ID="А">
<rdfs:domain rdf:resource="#Х"/>
<rdfs:range rdf:resource="#Z"/>
</owl:ObjectProperty>
Отношения иерархии классов и свойств выражаются конструкциями subClassOf и subPropertyOf. Например, пусть Z — подкласс класса X. Тогда
<owl:Class rdf:ID="Z">
<rdfs:subClassOf rdf:resource=#Х" />
</owl:Class>
Отношения представляются как свойства. Например, отношение А между Y1 и Y2 и отношение C между Y1 и Y3 можно описать так
<X rdf:ID="Y1">
<имя свойства А rdf:resource="#Y2" />
<имя свойства С rdf:resource="#Y3" />
</Х>
Отношения могут быть симметричными, несимметричными, функциональными, транзитивными и т.п., что в случае, например, симметричного отношения может быть выражено строкой <rdf:type rdf:resource="&owl;SymmetricProperty" /> в
<owl:ObjectProperty rdf:ID="А">
<rdf:type rdf:resource="&owl;SymmetricProperty" />
. . .
</owl:ObjectProperty>
Если свойство А имеет подсвойство С, то
<owl:ObjectProperty rdf:ID="С">
<rdfs:subPropertyOf rdf:resource="#А" />
</owl:ObjectProperty>
В язык онтологий OWL дополнительно по отношению к RDFS введены такие отношения классов и свойств, как equivalentClass, equivalentProperty, sameAs (один и тот же), differentFrom, AllDifferent, distinctMembers.и др.
Средства equivalentClass и equivalentProperty используются для задания отношения эквивалентности между двумя классами или двумя свойствами. Средство sameAs позволяет создать несколько имен для одного и того же объекта. С помощью differentFrom можно задать отличие одного ресурса от других, а с помощью AllDifferent указать, что все перечисленные экземпляры различны.
ObjectProperty — используемое в OWL средство для описания отношения объектов. При описании свойств используются характеристики inverseOf (инверсия свойства), FunctionalProperty, InverseFunctionalProperty (инверсия функциональная), TransitiveProperty, SymmetricProperty и ограничения AllValuesFrom и SomeValuesFrom.
Примерами инверсных свойств, описываемых с помощью inverseOf, могут служить больше-меньше, родитель-потомок, холоднее-жарче и т.п. В функциональных отношениях и при функциональной инверсии определяемое свойство может не иметь ни одного или иметь только одно значение. Так, для субъекта "человек" свойство "место жительства" является функциональным. Если пара (x,y) объявлена с помощью TransitiveProperty как транзитивное отношение Р и пара (y,z) — экземпляр того же отношения Р, то пара (x,z) также экземпляр отношения Р. Так, отношение "больше" — транзитивное в отличие, например, от отношения "отец-сын". Отношение симметричности задается с помощью характеристики SymmetricProperty, примером такого отношения может служить отношение партнерства.
Ограничение AllValuesFrom для некоторого свойства указывает класс, к которому должны принадлежать значения этого свойства. В случае SomeValuesFrom хотя бы некоторые значения свойства должны принадлежать указанному классу.
Пример 1
Отношение эквивалентности классов paper и publication и их отличие от класса letter:
<owl:Class rdf:about="paper">
   <owl:equivalentClass rdf:resource="publication"/>
   <owl:differentFrom rdf:resource="letter"/>
</owl:Class>
Пример 2
Описание свойства founded_before_1900, применяемого к классу City и принимающего значения в классе capitals, может быть представлено следующим образом:
<owl:ObjectProperty rdf:ID="founded_before_1900">
<owl:domain rdf:resource="#City"/>
<owl:range rdf:resource="#capitals"/>
</owl:ObjectProperty>
Здесь использована возможность присвоения классам и свойствам имен с помощью атрибута ID, например:
<owl:Class rdf:ID="City"/>
Теперь ссылка на этот класс имеет вид #City.
Список литературы
1. OWL, язык веб-онтологий. Руководство. Рекомендация W3C 10 февраля 2004. - - http://book.uraic.ru/files/owl/REC-owl-guide-20040210_ru.htm