ЗАПРОС SPARQL в Protege 4.3

У меня есть три класса в моей онтологии

class babyAge (6+, 8+, 12+)
class taste (asam, manis, asin)
class food (recipe name)

я хочу запросить данные о еде для babyAge (6+) и иметь вкус (асам)

я использую этот код в своей java-программе (я не знаю, есть ли другой код, более простой, чем этот, если вы знаете, пожалуйста, сообщите мне тоже):

SELECT ?babyAge ?taste ?food  
WHERE { ?babyAge mpasi:hasResep ?food.
?food mpasi:hasRasa ?taste.
FILTER regex(str(?babyAge),"6+").
FILTER regex (str(?taste),"asam")}

и я получаю свои данные. но когда я выполняю этот код в протеже, я ничего не получаю. Кто-нибудь может мне помочь?


person user3796075    schedule 22.02.2016    source источник
comment
Если ФИЛЬТР ожидает регулярное выражение, а искомая строка — 6+, ваше регулярное выражение должно быть "6[+]"   -  person Wiktor Stribiżew    schedule 22.02.2016
comment
в протеже все равно не работает...   -  person user3796075    schedule 22.02.2016


Ответы (1)


Трудно сказать, не видя онтологии.

Моим первым шагом было бы убедиться, что mpasi привязано к одному и тому же значению в онтологии и в вашем запросе - это может быть случай несоответствия IRI.

Вы также можете попробовать без фильтров и посмотреть, возвращается ли что-нибудь.

person Ignazio    schedule 22.02.2016