В настоящее время я работаю над некоторыми небольшими примерами об Apache Jena.То, что я хочу показать, это универсальное количественное определение.
Допустим, у меня есть шары, каждый из которых имеет свой цвет.Эти шары хранятся в коробках.Теперь я хочу определить, содержат ли эти коробки только шары одинакового цвета, если они смешаны.
Итак, в общем-то что-то вроде этого: SAME_COLOR = ∃x∀y: {y в Box a → color ofy = x}
Я знаю, что это, вероятно, невозможно с Jena, и может быть преобразовано в следующее: SAME_COLOR = ∃x¬∃y: {y в Box a → color of y! = x}
С «не существует» можно использовать «NoValue» Джены, однако, это (по крайней мере, для меня) не работает, и я не знаю, как перевести вышеуказанные логические представления в Йене.Есть какие-нибудь мысли по этому поводу?
См. Приведенный ниже код, и это единственный способ, которым я мог придумать:
(?box, ex:isA, ex:Box)
(?ball, ex:isIn, ?box)
(?ball, ex:hasColor, ?color)
(?ball2, ex:isIn, ?box)
(?ball2, ex:hasColor, ?color2)
NotEqual(?color, ?color2)
->
(?box, ex:hasSomeColors, "No").
(?box, ex:isA, ex:Box)
NoValue(?box, ex:hasSomeColors)
->
(?box, ex:hasSomeColors, "Yes").
У поля со смешанным содержимым теперь есть оба значения: «Да» и «Нет».».