Stardog 2.0 Datanotimpl не может быть поднят в Classexpression

StackOverflow https://stackoverflow.com/questions/19839093

  •  28-07-2022
  •  | 
  •  

Вопрос

Я создал базу данных (диска), используя Stardog 2.0.0.

Я загрузил свою онтологию и некоторые данные в эту базу данных.

Я вижу аксиомы моей онтологии и эти данные, когда я выполняю следующую команду:

./stardog query -v --username user --passwd pass dbname "select * where { ?s ?p ?o }"

Это выбор возвращаемых аксиом:

  ?s                                             ?p                ?o
| http://www.ugent.be/chest#Infection           | rdf:type        | owl:Class |
| http://www.ugent.be/chest#Infection           | rdf:type        | http://www.ugent.be/chest#RespiratoryInfection |
| http://www.ugent.be/chest#Infection           | rdf:type        | owl:NamedIndividual |
| http://www.ugent.be/chest#Infection           | rdfs:subClassOf | http://www.ugent.be/chest#Pathology |

Это выбор возвращаемых данных:

| <http://www.ugent.be/chest#Infection/4641> | rdf:type | <http://www.ugent.be/chest#Infection> |
| <http://www.ugent.be/chest#Infection/4642> | rdf:type | <http://www.ugent.be/chest#Infection> |
| <http://www.ugent.be/chest#Infection/4643> | rdf:type | <http://www.ugent.be/chest#Infection> |
| <http://www.ugent.be/chest#Infection/4644> | rdf:type | <http://www.ugent.be/chest#Infection> |

Когда я пытаюсь выполнить запрос, чтобы получить всех людей с RDF: тип инфекции, я ничего не получаю.

./stardog query -v --username user --passwd pass "chest" "PREFIX : <http://www.ugent.be/chest#> select ?s where { ?s rdf:type :Infection }"

Когда я добавляю рассуждение тип Ql или EL, я получаю

:Infection

Когда я добавляю рассуждение тип dl, я получаю:

com.clarkparsia.pellet.api.term.impl.entity.DataNotImpl cannot be cast to com.clarkparsia.pellet.api.term.entity.ClassExpression

То же самое касается проверки последовательности.

Я делаю что -то не так?

Это было полезно?

Решение

Рассуждения DL разрешены только для запросов по вашему Tbox, поэтому на ваш запрос не будет отвечать с помощью рассуждений; Имейте это в виду при использовании Рассуждения Stardog.

С учетом сказанного, вы никогда не должны получить ClasscastException. Попробуйте с последней Startog, вы позади, и если проблема все еще существует, отправьте автономный минимальный пример в список рассылки, и мы будем рады исправить это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top