Я хочу добавить пользовательское правило в набор правил OWL-2-RL ( builtin_owl2-rl.pie ), которое устанавливает свойство объекта isOppositeDirectionOf
между векторами, которые находятся в противоположном направлении друг к другу. Я думаю, это должно выглядеть примерно так:
Id: oppositeDirectionVector_rule
v1 <rdf:type> <cad:Vector>
v1 <cad:x> v1x // example data property for v1x: "1.0"^^xsd:double
v1 <cad:y> v1y
v1 <cad:z> v1z
v2 <rdf:type> <cad:Vector>
v2 <cad:x> -v1x
v2 <cad:y> -v1y
v2 <cad:z> -v1z
-------------------------------
v1 <cad:isOppositeDirectionOf> v2
Без минусов это правило работает для создания isSameVectorAs
свойств объекта.
Есть ли способ использовать основные арифметические функции для свойств данных в правилах?