Отношения запросов между подклассами двух заданных классов
Я хотел бы получить все отношения между человеком и фильмом, где все, что является подклассом человека, также является человеком (например, актер)
Это моя попытка:
SELECT ?property ?film WHERE
{
{
?property rdf:type owl:ObjectProperty;
rdfs:range ?person;
rdfs:domain ?film.
?person rdfs:subclassOf* dbo:Person.
?film rdfs:subclassOf* dbo:Work.
} UNION
{
?property rdf:type owl:ObjectProperty;
rdfs:domain ?person;
rdfs:range ?film.
?person rdfs:subclassOf* dbo:Person.
?film rdfs:subclassOf* dbo:Work.
}
}
С результатами:
SPARQL results:
property film person
dbpedia:ontology/author [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/chiefEditor [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/composer [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/coverArtist [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/mainCharacter [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/narrator [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/translator [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/writer [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/created [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/debutWork [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
dbpedia:ontology/notableWork [http] dbpedia:ontology/Work [http] dbpedia:ontology/Person [http]
Однако все результаты имеют диапазон / домен Person / Film и не имеют подклассов. Я ожидаю, что http://dbpedia.org/ontology/starring будет результатом, так как его домен Actor
и диапазон Work
Почему мой запрос не выполняется? Кто-то может указать мою ошибку?
заранее спасибо