Разница между одним SPARQL (рабочим) запросом и другим (не рабочим) - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу получить scorers (marcatori) с этой страницы: http://it.dbpedia.org/resource/Modena_Football_Club_1962-1963 с использованием этой конечной точки SPARQL: http://uriburner.com/sparql/

Если я использую этот запрос:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT
  ?team
  ?club
  (group_concat(distinct ?scorer;separator=";;;") as ?scorers) 
WHERE {
SERVICE <http://it.dbpedia.org/sparql/> {
   ?value rdfs:label "Campionato italiano di calcio Serie A"@it .
   ?year <http://purl.org/dc/terms/subject> ?value . 
   ?team <http://dbpedia.org/ontology/league> ?year .
   ?team <http://it.dbpedia.org/property/club> ?club .
   OPTIONAL { ?team <http://it.dbpedia.org/property/marcatori> ?scorer 
   }
}

} 
GROUP BY ?team ?club 
ORDER BY ?club
LIMIT 1 

Я не получаю результатов, где, как будто я использую это:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT
  ?team
  ?club
WHERE {
SERVICE <http://it.dbpedia.org/sparql/> {
   ?value rdfs:label "Campionato italiano di calcio Serie A"@it .
   ?year <http://purl.org/dc/terms/subject> ?value . 
   ?team <http://dbpedia.org/ontology/league> ?year .
   ?team <http://it.dbpedia.org/property/club> ?club 
}

} 
GROUP BY ?team ?club 
ORDER BY ?club
LIMIT 1 

Я правильно получаю:

{ "head": { "link": [], "vars": ["team", "club"] },
  "results": { "distinct": false, "ordered": true, "bindings": [
    { "team": { "type": "uri", "value": 
 "http://it.dbpedia.org/resource/Modena_Football_Club_1962-1963" }  , 
 "club": { "type": "uri", "value": 
 "http://it.dbpedia.org/resource/Modena_Football_Club" }} ] } }

Кто-нибудь знает, почему первый запрос возвращает пустой?

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете заменить

(group_concat(distinct ?scorer;separator=";;;") as ?scorers)

на

sql:group_concat(?scorer, ";;;") as ?scorers

Это должно нормально работать на http://it.dbpedia.org/sparql, не уверензачем вам URI Burner.

...