Аллегрографическое рассуждение

Я знакомлюсь с магазинами RDF на примере Allegrograph. Одна из частей, которые меня интересуют, это рассуждение. Я взял пример отсюда: https://franz.com/agraph/support/documentation/6.4.3/agraph-introduction.html и пытаюсь заставить его работать. Из графика видно следующую логическую цепочку:

  1. Предикат "Имеет питомца" применим к объектам "Млекопитающее". Например, если есть тройной предикат, будет еще один другой тройной rdf: тип выведен. Это определяется тройной rdfs: диапазон
  2. Предикат "Имеет питомца" является под-свойством "Owns". Например, если есть тройка, будет еще одна тройка. Это определяется тройной rdfs:subPropertyOf
  3. Предикат "Owns" применим к объектам "Human". Например, если есть тройка, будет другая тройка rdf:type inferred. Это определяется тройной rdfs: домен

Итак, я создал график, показанный на веб-странице Franz.

s,p,o 
"test://Animal","rdf:type","rdf:class"
"test://Mammal","rdfs:subClassOf","test://Animal" 
"test://Dog","rdfs:subClassOf","test://Mammal" 
"test://hasPet","rdfs:range","test://Mammal" 
"test://hasPet","rdfs:subPropertyOf","test://owns" 
"test://owns","rdfs:domain","test://Human" 
"test://owns","rdf:type","rdf:Property"  
"test://petOf","owl:inverseOf","test://hasPet"
"test://Robbie","test://petOf","test://Jans" 
"test://MrAasman","owl:sameAs","test://Jans"

Из этих данных я ожидал, что по крайней мере два факта будут выведены:

  1. Робби млекопитающее
  2. Янс это человек

Но это не дошло до этого. Я не могу сказать, что рассуждения не работали вообще. По крайней мере, я видел:

  • У Янса есть домашнее животное Робби
  • Джанс владеет Робби
  • Мистер Асман имеет питомца Робби
  • Мистер Асман владеет Робби
  • Собака это животное

Почему это не выводит типы? Это ожидаемое поведение?

1 ответ

Решение

Это не ожидаемое поведение. Кажется, что в динамическом рассуждении AllegroGraph RDFS++ отсутствуют некоторые выводы, которые можно сделать, следуя цепочкам субпредприятий и инверсий.

Я подал ошибку (bug25588) для вас с Францем и работаю над исправлением, которое появится в v6.5.0.

В то же время, вы можете использовать Материализатор, чтобы найти все предполагаемые тройки. Вы можете сделать это в AGWebView или через один из клиентских API. Если у вас есть дополнительные вопросы, лучше всего написать по электронной почте allegrograph-support@franz.com, чтобы мы могли создать заявку в службу поддержки.

Мы не смогли получить эти исправления в AllegroGraph v6.4.5. Если вы подаете запрос в службу поддержки у нас, мы можем обязательно уведомить вас о выходе версии 6.5.0.

Другие вопросы по тегам