Виктор Казаринов » 02 ноя 2009, 14:22
Попробуем разобраться в том, чем собираемся оперировать.
Формализмы, предлагаемые OWL:
1. Class: Класс определяет группу индивидов, которых объединяет наличие некоторых общих свойств. Например, Дебора и Франк - оба члены класса Человек. Классы могут быть организованы в иерархии, используя subClassOf. Есть встроенный самый общий класс по имени Thing (Вещь), который является классом всех индивидов и суперкласс для всех OWL классов. Есть также встроенный наиболее специфичный класс по имени Nothing (Ничто), который не имеет никаких представителей и является подклассом всех OWL классов.
2. rdfs:subClassOf: Иерархии классов могут быть созданы, путем одного или нескольких утверждений, что данный класс - подкласс другого класса. Например, класс Человек может быть представлен как подкласс класса Млекопитающие. Из этого можно вывести что, если индивид - Человек, то он также Млекопитающее.
3. rdf:Property: Свойства могут использоваться, чтобы установить отношения между индивидами или от индивидов к значениям данных. Возьмем, например, четыре свойства: имеетРебенка, имеетРодственника, имеетБрата и имеетВозраст. Первые три могут использоваться, чтобы связать представителя класса Человек с другими представителями класса Человек (и, таким образом, являются Свойствами-объектами ObjectProperty), а последнее (имеетВозраст) может использоваться, чтобы связать представителя класса Человек с представителем типа данных Целое число (и, таким образом, является Свойством-значением DatatypeProperty).
4. dfs:subPropertyOf: Иерархии свойств могут быть созданы путем одного или нескольких утверждений, что данное свойство - подсвойство одного или нескольких других свойств. Например, свойство имеетБрата может быть представлено как подсвойство имеетРодственника. Из этого можно вывести что, если индивид связан с другим свойством имеетБрата, то это также связывает его с другим свойством имеетРодственника.
5. rdfs:domain: Область определения (домен) свойства ограничивает индивидов, к которым это свойство может быть применено. Если свойство связывает индивида с другим индивидом, и это свойство имеет какой-то класс в качестве одного из своих доменов, то индивид должен принадлежать этому классу. Например, может быть заявлено, что свойство имеетРебенка имеет область определения Млекопитающие. Из этого можно вывести что, если Франк имеетРебенка Анна, то Франк должен быть Млекопитающим. Заметьте, что rdfs:domain называют глобальным ограничением, так как ограничение накладывается на все свойство, а не только на свойство, связанное с конкретным классом.
6. rdfs:range: Диапазон свойства, ограничивающий индивидов, которые могут выступать в качестве значений этого свойства. Если свойство связывает одного индивида с другим, и это свойство имеет класс в качестве своего диапазона, то другой индивид должен принадлежать этому классу. Например, для свойства имеетРебенка может быть заявлен диапазон Млекопитающие. Из этого можно вывести что, если Луиза связана с Деборой свойством имеетРебенка, (т.е., Дебора - ребенок Луизы), то Дебора относится к Млекопитающим. Диапазон - также глобальное ограничение, как и вышеизложенный домен.
7. Individual: Индивиды - это представители классов, и чтобы связать одного индивида с другим могут использоваться свойства. Например, индивид по имени Дебора может быть описан как представитель класса Человек, и свойство имеетРаботодателя может быть использовано, чтобы связать индивида Дебору с индивидом Стенфордский Университет.