Как обновить тройной RDF (не добавлен новый), используя правило jena.Я использую обобщающее правило, и правила находятся в отдельном файле, как показано дело 1 :
@ префикс fa: http://www.smarthome_haier.com # .
Правило1: (? A fa: setTimer «0») (? A fa: windvolume «150») -> remove (0) (? A fa: setTimer «1»)
Это прекрасно работает, используя remove () Встроенный примитив для добавления новой тройки и удаления старой тройки «(? A fa: setTimer« 0 »)» с помощью встроенной опции remove ().
Но, например, в этом 2-м случае ниже, где мы хотим получить тот же результат, что и первый случай:
@ префикс fa: http://www.smarthome_haier.com # .
Правило 1: (? A fa: airPresure «40») (? A fa: windvolume «150») -> (? A fa: setTimer «1»)
Использование этого добавляет новую тройку (? A fa: setTimer «1») в графе, но также существует старая тройка (? A fa: setTimer «0»), потому что мы не удаляем эту.
Как мы можем обновить триплет в 2-м случае? Где (? A fa: setTimer “0”) отсутствует в заголовке правила.Я надеюсь, что это объяснить эту проблему.Любая помощь будет оценена.Спасибо!
Нажмите [Здесь] Поддержка вывода Джены https://jena.apache.org/documentation/inference/index.html