Używanie SPARQL do lokalizowania obiektu z wieloma wystąpieniami tej samej właściwości

Próbuję użyć SPARQL do zwrócenia trójki, w której ten sam obiekt ma wiele obiektów dla tej samej właściwości, tak:

example:subject1 example:property example:object1
example:subject1 example:property example:object2

Czuję, że takie zapytanie powinno korzystać ze ścieżek własności:

SELECT ?subject WHERE {
  ?subject example:property{2} ?object .
}

Używam tego zapytania o ścieżkę właściwości za pomocą Jena 2.6.4, ale nie otrzymuję żadnych wyników. Czy to z powodu Jeny? A może źle sformułowałem zapytanie? Następujące zapytanie zwraca oczekiwane wyniki, ale jest nieeleganckie:

SELECT ?subject WHERE {
  ?subject example:property ?object1 .
  ?subject example:property ?object2 .
  FILTER(!(?object1=?object2))
}

Zapytanie o ścieżkę właściwości zwraca wyniki, jeśli użyję, powiedzmy,example:property{1,2} lubexample:property{1}; po prostu nie chcę wyników. Wiem więc, że Jena poprawnie interpretuje składnię, ale wiem też, że jest to starsza wersja Jeny, więc może nie rozpoznać wszystkich funkcji SPARQL 1.1.

Czuję, że jest to typowy rodzaj zapytania i powinien mieć bardziej eleganckie rozwiązanie (i naprawdę, rozwiązanie książki kucharskiej). Czy mam rację, wykorzystując ścieżki własności do rozwiązania tego problemu, czy powinienem przyjąć inne podejście? A jeśli powinienem używać ścieżek właściwości, czy używam ich poprawnie?

questionAnswers(1)

yourAnswerToTheQuestion