Я хочу проверить, является ли свойство функциональным или нет. Я старался:
ASK {
pz:isBase owl:isInverseFunctional .
}
но это синтаксическая ошибка. Как я могу проверить, работает ли свойство?
Я хочу проверить, является ли свойство функциональным или нет. Я старался:
ASK {
pz:isBase owl:isInverseFunctional .
}
но это синтаксическая ошибка. Как я могу проверить, работает ли свойство?
Пытаться:
ASK {pz:isBase rdf:type owl:InverseFunctionalProperty}
Для пояснения: шаблоны, которые представляет RDF и которые запрашивает SPARQL, являются тройками subject predicate object
или, другими словами, бинарным предикатом. Вы думаете об унарном предикате isInverseFunctional()
, но RDF не использует унарные предикаты. Вместо этого такого рода информация о типе или сортировке кодируется как двоичный предикат со специальным предикатом rdf:type
, который вы можете представить как isKindOf
или is member of the class
.
Таким образом, чтобы выяснить, является ли ресурс, обозначающий конкретный предикат в вашей модели предметной области, обратным функциональным свойством, вы спрашиваете, относится ли этот ресурс к классу, то есть имеет ли rdf:type
класс всех обратных функциональных свойств или owl:InverseFunctionalProperty
.
InverseFunctionalObjectProperty( OPE )
транслируется в тройку RDFT(OPE) rdf:type owl:InverseFunctionalProperty .
. - person Joshua Taylor   schedule 20.09.2013