2016-11-14 1 views
2

위키 타타에서 일부 정보를 검색하려고하는데 음성의 별칭을 수집하는 데 흥미로운 점이 발견되었습니다. wikidata of Francesco Totti위키 데이터에서 별칭을 검색하는 방법

나는이 SPARQL 쿼리 모든 세리에 A의 축구 선수 검색하기 위해 노력하고있어 :

SELECT ?subject ?nomeLabel ?cognomeLabel ?subjectLabel WHERE { 
    ?subject wdt:P31 wd:Q5. 

    ?subject p:P54 ?team . 
    ?team ps:P54 wd:""" + team_code +""" . 
    FILTER NOT EXISTS { ?team pq:P582 ?end 
    } 
OPTIONAL{ 
    ?subject wdt:P735 ?nome . 
    ?subject wdt:P734 ?cognome . 
    } 
    SERVICE wikibase:label { bd:serviceParam wikibase:language "it". } 
} 
ORDER BY (?cognomeLabel) 

것은 내 쿼리를 수정하는 방법을 예를 들어 프란체스코 토티는 위원장 Capitano 또는 어 Pupone로 알려져있다 별칭도 가져 가려구? 감사합니다.

답변

6

나는 다양한 레이블을 사용하여 쿼리를 시도했습니다. 여기에 단지 로마에 대한 :

SELECT distinct ?subject ?subjectLabel ?nomeLabel ?cognomeLabel ?nickname ?alternative ?subjectAltLabel WHERE { 
    ?subject wdt:P31 wd:Q5. 
    ?subject p:P54 ?team . 
    ?team ps:P54 wd:Q2739 . 
    FILTER NOT EXISTS { ?team pq:P582 ?end . } 
    OPTIONAL { ?subject wdt:P735 ?nome . } 
    OPTIONAL { ?subject wdt:P734 ?cognome . } 
    OPTIONAL { ?subject wdt:P1449 ?nickname . } 
    OPTIONAL { ?subject skos:altLabel ?alternative . } 
    SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en,fr". } 
} 
ORDER BY (?cognomeLabel) 

나는 P1449 속성 별칭/별명을 저장하기에 가장 적합한 재산한다고 생각하지만, 축구 선수에 대한 것을 많이 사용하지 않는 것. 방금 Francesco Totti에게 "il Capitano"를 추가했습니다. 그 외에도 Roma 선수들에게는 별명이없는 것 같습니다.

"별칭"레이블 (오른쪽 열에 있음)은 반드시 닉네임이 아니지만 철자 변형 일 수 있습니다. 단지 영어 also known as 돌아갑니다 사람이 모든 속성에 관심이 있다면 더 일반적인

+0

! 오랫동안 나는 해결책을 찾으려고 노력했다. 고마워, 핀! – Lupanoide

0

뭔가 : 그것은 작동

SELECT ?property ?propertyLabel ?propertyDescription (GROUP_CONCAT(DISTINCT(?altLabel); separator = ", ") AS ?altLabel_list) WHERE { 
    ?property a wikibase:Property . 
    OPTIONAL { ?property skos:altLabel ?altLabel . FILTER (lang(?altLabel) = "en") } 
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .} 
} 
GROUP BY ?property ?propertyLabel ?propertyDescription 
LIMIT 5000