SPARQL выбрать экземпляр эквивалентного класса - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь создать SPARQL-запрос, который возвращает индивидуумов, которые являются экземпляром выражения эквивалентного класса (таким образом, имитируя некоторые навыки рассуждения протеже в Semantic Web).Может кто-нибудь помочь мне понять, как это сделать?У меня есть класс с именем «нарушение», который содержит эквивалентные ограничения класса.Теперь я хочу найти лиц, которые соответствуют условиям этого ограничения.

Это мой запрос на данный момент:

SELECT distinct ?Carmovement ?person ?restriction ?message
WHERE {?Carmovement carmovement:has_driver ?person .
       ?Carmovement rdf:type ?restriction . #rdf:type is no succes for getting instances
?object owl:equivalentClass ?restriction .
?object violin:message ?message}`

Запрос не дает никаких результатов, потому что я использовал "rdf: type ", мне интересно, каким образом я могу оценить, соответствует ли экземпляр условию ограничения класса.

Пример ограничения класса:

owl:equivalentClass [ rdf:type owl:Class ;
owl:intersectionOf ( 
<http://desibo.frsf.utn.edu.ar/ontologies/2012/9/CarMovement.owl#Car_Movement>
                   [ rdf:type owl:Restriction ;
                     owl:onProperty <http://desibo.frsf.utn.edu.ar/ontologies/2012/9/CarMovement.owl#has_driver> ;
                     owl:allValuesFrom <http://desibo.frsf.utn.edu.ar/ontologies/2012/9/CarMovement.owl#BarredPerson>
                   ]
                 )
                ] ;

Я рассчитываю получить лиц, которые имеютсвойство "has_driver" типа "BarredPerson".

...