Я знакомлюсь с магазинами RDF на примере Allegrograph.Одна из частей, которые меня интересуют, это рассуждение.Я взял пример отсюда: https://franz.com/agraph/support/documentation/6.4.3/agraph-introduction.html и пытаюсь заставить его работать.Из графика видно следующую логическую цепочку:
- Предикат "Имеет питомца" применим к объектам "Млекопитающих".Например, если есть тройной предикат, будет еще один другой тройной rdf: тип выведен.Это определяется тройным rdfs: range
- Предикат "Имеет питомца" - это под-свойство "Owns".Например, если есть тройка, будет еще одна тройка.Это определяется тройным rdf: subPropertyOf
- Предикат «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"
Я ожидал, что по этим данным будет выведено по крайней мере два факта:
- Робби - млекопитающее
- Дженс - человек
Но это не дошло до этого.Я не могу сказать, что рассуждения не работали вообще.По крайней мере, я видел:
- Дженс имеет питомца Робби
- Джанс владеет Робби
- Мистер Асман имеет питомца Робби
- Мистер Асман владеет Робби
- Собака - это животное
Почему она не выводит типы?Ожидаемое поведение?