Ключи Sparql и отдельные значения

У меня есть запрос sparql, который возвращает дубликаты, и я хочу, чтобы он очищал их только от одного из значений (subjectID ). В отличие от DISTINCT, который находит уникальное значение для комбинации выбранных значений, а не только для одного из параметров. Я видел, как кто-то здесь предлагает группировать по, но это кажется применимым только в том случае, если я перечислю все параметры после группировки по (, на что жалуется моя конечная точка sparql, например. Не -групповая ключевая переменная в SELECT :?occupation ). Я попытался запустить внутренний выбор, но, похоже, он не работает для этого конкретного запроса. Так что может быть проблема с самим запросом (значения, опционально liveIn, кажется, вызывают дублирование )?

Несмотря на то, что реляционные БД достаточно довольны ранним обучением SPARQL,так что не стесняйтесь объяснять очевидное для непосвященных!:)

select distinct  
  ?subjectID ?englishName ?sex ?locatedIn15Name 
  ?dob ?dod ?dom ?bornLocationName ?occupation 
  where { 
      ?person a hc:Person ;
      hc:englishName ?englishName ;
      hc:sex ?sex; 
      hc:subjectID ?subjectID; 
       optional { ?person hc:livedIn11 ?livedIn11.
           ?livedIn11 hc:englishName ?lived11LocationName. 
           ?livedIn11 hc:locatedIn11 ?locatedIn11.
           ?locatedIn11 hc:englishName ?locatedIn11Name.
           ?locatedIn11 hc:locatedIn15 ?locatedIn15.
 ?locatedIn15 hc:englishName ?locatedIn15Name.
 }. 
       optional {?person hc:born ?dob }.
       optional {?person hc:dateOfDeath ?dod }.
       optional {?person hc:dateOfMarriage ?dom }.
       optional { ?person hc:bornIn ?bornIn. 
       ?bornIn hc:englishName ?bornLocationName. 
             ?bornIn hc:easting ?easting. 
             ?bornIn hc:northing ?northing }.
       optional {  ?person hc:occupation ?occupation } 
       FILTER regex(?englishName, "^FirstName LastName")
      } 
  GROUP BY 
  ?subjectID ?englishName  ?sex 
   ?locatedIn15Name ?dob ?dod ?dom 
  ?bornLocationName ?occupation 
7
задан Nava 10 July 2012 в 18:42
поделиться