2017-10-20 6 views
3

Je voudrais savoir comment interroger Wikidata en utilisant l'alias ("aussi connu comme").Comment faire pour interroger Wikidata pour "aussi connu comme"

En ce moment je suis en train

SELECT ?item 
WHERE 
{ 
?item rdfs:aliases ?alias. 
FILTER(CONTAINS(?alias, "Angela Kasner"@en)) 
} 
LIMIT 5 

Ceci est simplement une requête qui fonctionne si je remplace rdfs:aliases par rdfs:labels. J'essaie cela, parce que Help:Aliases dit que les alias peuvent être recherchés de la même manière que les étiquettes, mais je ne trouve aucune autre ressource là-dessus et je ne trouve pas d'exemple.

+1

Utilisez 'SKOS: altLabel' au lieu de' rdfs: aliases', et probablement votre prochaine question sera de « limite de délai de requête atteint". –

+0

Mais cela fonctionne: 'SELECT * {wd: Q567 skos: altLabel? AltLabel. FILTER (contient (? AltLabel, "Angela Kasner" @fr))} ' –

+1

De plus, le remplacement de' rdfs: aliases' par 'rdfs: labels' ne semble pas fonctionner. (Renvoie "Aucun enregistrement correspondant trouvé") –

Répondre

0

Cette requête peut être utile pour quelqu'un Interrogation également connu sous le nom de propriétés:

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