- Contraintes textuelles
- Contraintes linguistiques
- Contraintes de schéma
- Contraintes du métaschéma
- Scoring et classement
- Autres contraintes
Cette page contient une liste de recettes pour différentes façons de limiter les requêtes de recherche à l'aide du service de recherche.
Contraintes textuelles
Les données textuelles d'une entité Freebase proviennent d'abord de son nom et de ses alias, puis de ses clés et d'autres propriétés textuelles, et enfin de ses données d'ancrage Wikipédia si elle a été réconciliée avec un thème Wikipédia spécifique à une langue.
Les contraintes textuelles sont spécifiques à une langue. Actuellement, 18 langues sont prises en charge. L'anglais est de loin la langue la plus couverte et est la langue par défaut.
Pour obtenir la liste de tous les codes de langue actuellement acceptés, consultez les pages suivantes :
https://www.googleapis.com/freebase/v1/search?help=langs&indent=true
Une contrainte textuelle est spécifiée avec le paramètre query
. Sa langue est spécifiée avec le paramètre lang
. Exemple :
query: "gore" query: "gore" lang: "fr" query: "gore" lang: "de"
Lors de l'indexation, les données textuelles sont normalisées de manière spécifique à la langue. Par exemple, en anglais, le texte est converti en minuscules et les accents sont supprimés. Au moment de la requête, la même normalisation spécifique à la langue est effectuée sur le texte de la requête. Exemple :
query: "beyoncé" query: "beyonce"
Plusieurs paramètres contrôlent la façon dont une contrainte textuelle est mise en correspondance. Si vous définissez le paramètre prefixed
sur true
, une correspondance de préfixe est déclenchée uniquement sur le nom et les alias (et une correspondance régulière sur les autres données textuelles). Exemple :
query: "bob dy" prefixed: true
Si vous définissez stemmed
sur true
, une correspondance basée sur les termes dérivés est déclenchée uniquement pour le nom et les alias (et une correspondance régulière pour les autres données textuelles). Les correspondances avec radical peuvent être utilisées pour remplacer les différences de suffixes spécifiques à une langue introduites par le pluriel ou d'autres formes grammaticales. Exemple :
query: "potatos" stemmed: true
Si vous entourez le texte de la requête de guillemets doubles (""), vous déclenchez une expression exacte. Les jetons de texte de la requête doivent apparaître les uns à côté des autres dans les données textuelles de l'entité correspondante. Exemple :
query: "\"to be or not to be\""
Utilisez les paramètres name
, alias
et type
pour rechercher des personnes et des entités dont le nom contient le mot que vous souhaitez faire correspondre. Exemple :
filter: "(all name:gore alias:gore type:/people/person)"
De même, l'exemple suivant ne fait correspondre les entités /people/person
qu'avec un alias
correspondant, et non leur name
:
filter: "(all (not name:gore) alias:gore type:/people/person)"
En plus de spécifier les champs de texte à faire correspondre, il est également possible de spécifier comment la correspondance doit se produire en insérant l'un des modificateurs suivants entre l'opérande et le champ de texte :
-
{word}
: exige que les mots de la chaîne correspondent à ceux du champ de texte correspondant dans le document. (par défaut) {phrase}
: exige que les mots apparaissent les uns à côté des autres dans le même ordre dans le champ de texte correspondant du document.-
{full}
: comme{phrase}
, mais exige également que l'expression corresponde entièrement au champ de texte, et pas seulement à l'intérieur du champ de texte. En d'autres termes, une correspondance exacte.
Par exemple, pour trouver le single musical Home de Marc Broussard, utilisez un filtre comme celui-ci :
filter: "(all type:/music/single name{full}:home /music/track/artist:"Marc Broussard")"
Contraintes linguistiques
Comme décrit dans les contraintes textuelles, le paramètre lang
est utilisé pour spécifier les règles de normalisation linguistique à utiliser pour transformer le texte en jetons de requête. La langue de la requête conditionne également le classement des résultats, car freebase-search reçoit un signal de pertinence spécifique à la langue de la page Wikipédia correspondante.
Neuf langues sont actuellement disponibles : l'allemand (de), l'anglais (en), le chinois (zh), le coréen (ko), l'espagnol (es), le français (fr), l'italien (it), le japonais (ja) et le portugais (pt). L'anglais est de loin la langue la plus couverte et est la langue par défaut.
Rechercher dans plusieurs langues en même temps
Le paramètre lang
accepte une liste de codes de langue séparés par une virgule. La recherche est alors effectuée dans toutes les langues spécifiées. Les résultats sont classés dans la première langue de la liste et affichés dans la première langue de la liste qui comporte un nom pour l'entité.
Exemple :
La requête suivante recherche le mot allemand "Sonnenblume" en allemand et en français. Il classe et affiche les résultats en français :
query: "Sonnenblume" lang: "fr,de"
Les recherches suivantes en anglais concernent des films en coréen et affichent leur nom coréen. La partie en anglais de la requête est le mot "korean" dans la contrainte expressed_by
:
filter: "(all expressed_by:korean type:/film/film)" lang: "ko,en"
Contraintes de schéma
Les contraintes de schéma sont spécifiées à l'aide des paramètres type
et domain
. type
correspond aux valeurs de propriété /type/object/type
d'une entité.
Par exemple, la requête suivante limite la recherche aux personnes :
query: "gore" type: "/people/person"
domain
correspond aux valeurs /type/type/domain
de toutes les valeurs /type/object/type
d'une entité.
Par exemple, la requête suivante limite la recherche aux entités en français dans le domaine /film
uniquement :
query: "babar" domain: "/film" lang: "fr"
Vous pouvez également utiliser des propriétés Freebase individuelles pour filtrer une requête. Par exemple, la requête suivante limite la recherche aux personnes originaires du Canada :
query "john" filter: "(all type:/people/person /people/person/nationality:"Canada")"
Contraintes du métaschéma
Les contraintes de métaschéma filtrent les entités par prédicats sémantiques. Ces prédicats sont des concepts de niveau supérieur construits à partir de collections de propriétés Freebase décrivant des relations sémantiques similaires.
Les contraintes de métaschéma sont spécifiées à l'aide des opérandes du paramètre filter
combinés à une contrainte de nom d'entité ou de MID.
Opérandes de filtre Metaschema acceptés
Les opérandes de filtre Metaschema suivants sont acceptés par la recherche Freebase. Essayez chaque exemple en cliquant sur le lien dans le tableau ou en utilisant l'application exemple de recherche Freebase.
Nom de l'opérande | Exemple(s) |
---|---|
abstraction |
"plats de fettuccine" (Essayez.)
filter: "(all abstraction:fettuccine)" |
abstraction_of |
"class of the Western Bulwark locomotive" (Try it.)
filter: "(all abstraction_of:"Western Bulwark")" |
adaptation |
"L'œuvre La Traviata est une adaptation de" (Essayez.)
filter: "(all adaptation_of:"La Traviata")" |
administered_by |
"Palmarès de Cannes" (Essayez.)
filter: "(all type:awards administered_by:cannes)" |
administers |
"Qui dirige le journal Synapse ?" (Essayez.)
filter: "(all administers:synapse)" |
appears_in |
"personnages de la Flûte enchantée" (Essayez.)
filter: "(all appears_in:"magic flute")" filter: "(all appears_in:"Die Zauberflöte")" lang: "de" |
broader_than |
"ligne d'avions à laquelle appartient l'Airbus 319" (Essayez.)
filter: "(all broader_than:"Airbus A319")" |
category |
actrices françaises (Essayer)
filter: "(all category:female origin:france notable:actor)" filter: "(all category:female origin:france practitioner_of:actor)" filter: "(all category:volcano (any part_of:california part_of:france))" "plats de pâtes" (Essayez.) filter: "(all category:pasta)" |
center |
"compagnies aériennes avec un hub à San Francisco" (Essayez.)
filter: "(all type:airline center:"San Francisco")" filter: "(all type:airline center:"San Francisco" center:atlanta)" filter: "(all type:/book/newspaper center:/m/0d6lp)" |
center_for |
"installations sportives des San Francisco 49ers" (Essayez.)
filter: "(all center_for:"san francisco 49ers")" |
certification |
"Films classés R de Wim Wenders" (Essayer)
filter: "(all type:/film/film contributor:wenders certification:r)" |
character |
"works which have Papageno as character" (Essayer)
filter: "(all character:papageno)" |
child |
"parents de Bill Clinton" (Essayez.)
filter: "(all child:"bill clinton")" |
contributed_to |
"Qui a contribué à Blade Runner ?" (Essayez.)
filter: "(all contributed_to:"Blade Runner")" |
contributor |
"films de Steven Spielberg" (Essayez.)
filter: "(all type:/film/film contributor:"Steven Spielberg")" filter: "(all type:/film/film contributor:/m/06pj8)" filter: "(all type:/film/film contributor:"Harrison Ford")" |
created |
"qui a écrit 'pour qui sonne le glas'" (Essayez.)
filter: "(all created:"for whom the bell tolls")" |
created_by |
"logiciels de Google" (Essayez.)
filter: "(all notable:software created_by:google)" |
discovered |
"découvreurs du radium" (Essayez.)
filter: "(all discovered:radium)" |
discovered_by |
"découvertes de Curie" (Essayez.)
filter: "(all discovered_by:curie)" |
distributed_by |
"Émissions NPR" (essayer)
filter: "(all type:show distributed_by:npr)" |
exhibited |
"Où a été présenté le film "Down by Law" ?" (Essayez.)
filter: "(all exhibited:"down by law")" |
exhibited_at |
"œuvres nominées au Festival de Cannes 2010" (Essayez.)
filter: "(all type:"nominated work" exhibited_at:"2010 Cannes Film festival")" |
expressed_by |
"livres en espéranto" (Essayez.)
filter: "(all type:book expressed_by:esperanto)" |
fictional_link |
personnages fictifs liés à Mickey Mouse (essayer)
filter: "(all type:/fictional_universe/fictional_character fiction_link:"mickey mouse")" |
genre |
"cathédrales gothiques" (Essayez.)
filter: "(all category:cathedral genre:gothic)" filter: "(all category:cathedral genre:gothic created_by:viollet)" |
identifies |
"Qu'est-ce qui identifie Southwest Airlines ?" (Essayez.)
filter: "(all identifies:"Southwest Airlines")" |
leader |
Entreprises de Mitch Kapor (Essayez.)
filter: "(all type:company leader:kapor)" |
leader_of |
"Maires de Paris" (essayer)
filter: "(all title:mayor leader_of:paris)" |
made_of |
peintures à la cire (Essayez.)
filter: "(all type:painting made_of:wax)" |
means_of_demise |
politiciens exécutés (Essayez.)
filter: "(all type:politician means_of_demise:"capital punishment")" |
member_of |
"monarques africains" (Essayez.)
filter: "(all type:monarch member_of:africa)" filter: "(all type:politician member_of:democratic notable:actor)" |
narrower_than |
"exemples de moteurs v8" (Essayez-le.)
filter: "(all type:engine narrower_than:"v8 engine")" |
occurs_in |
"langues parlées en Roumanie" (Essayez.)
filter: "(all type:language occurs_in:romania)" |
origin |
"Gouverneurs républicains d'Autriche" (Essayez.)
filter: "(all title:governor member_of:republican origin:austria)" |
owner |
marques appartenant à Ford (Essayez.)
filter: "(all type:make owner:ford)" |
owns |
"À qui appartiennent les Mavericks ?" (Essayez.)
filter: "(all owns:mavericks)" |
parent |
"Enfants d'Al Gore" (essayer)
filter: "(all parent:"al gore")" filter: "(all type:/computer/programming_language parent:lisp)" |
part_of |
"lacs suédois" (Essayez.)
filter: "(all type:lake part_of:sweden)" filter: "(all type:competition part_of:"2008 summer olympics")" |
participant |
Concerts de Bowie (Essayez.)
filter: "(all participant:bowie type:concert)" |
participated_in |
"Notable austrian skiers who participated in Olympics" (Try it.)
filter: "(all notable:skier member_of:austria participated_in:olympics)"' |
peer_of |
"politicians peers of Al Gore" (Essayez.)
filter: "(all notable:politician peer_of:gore)" |
permits_use_of |
Moteurs diesel (Essayer)
filter: "(all permits_use_of:diesel)" |
portrayed |
acteurs qui ont joué le rôle de John Lennon (Essayez.)
filter: "(all notable:actor portrayed:"john lennon")" |
portrayed_by |
"personnages interprétés par Harrison Ford" (Essayez.)
filter: "(all portrayed_by:"Harrison Ford")" |
practitioner_of |
"avocates afro-américaines" (Essayez.)
filter: "(all category:female category:"african american" practitioner_of:lawyer)" |
preceeding |
"suites du Seigneur des anneaux, les deux Tours" (Essayer)
filter: "(all type:/film/film preceeding:"The Lord of the Rings, the two Towers")" |
produced_by |
"Ordinateurs Apple" (Essayez.)
filter: "(all type:computers produced_by:apple)" |
publication |
"which book has /m/0clw238 as first edition ?" (Try it.)
filter: "(all publication:/m/0clw238)" |
publication_of |
"sorties de La Traviata" (Essayez.)
filter: "(all publication_of:"La Traviata")" |
service_area |
Diffuseurs californiens (Essayez.)
filter: "(all type:broadcaster service_area:california)" |
status |
"retraite des glaciers suisses" (Essayez.)
filter: "(all type:glacier status:retreating part_of:switzerland)" |
subclass_of |
"types de maillots de bain" (Essayez.)
filter: "(all subclass_of:swimwear)" |
subject |
"films sur l'Holocauste" (Essayez.)
filter: "(all type:film subject:holocaust)" filter: "(all type:book subject:mathematics)" |
subsequent |
"préquelles du Seigneur des anneaux, les deux Tours" (Essayez.)
filter: "(all type:/film/film subsequent:"The Lord of the Rings, the two Towers")" |
succeeded_by |
"Quelle plate-forme automobile a été remplacée par la plate-forme Ford B3 ?" (Essayer)
filter: "(all succeeded_by:"ford b3 platform")" |
succeeds |
"Qui a succédé à la maison Stuart ?" (Essayez.)
filter: "(all succeeds:stuart)" |
superclass_of |
"Classes auxquelles appartient la maladie coronarienne" (Essayer)
filter: "(all superclass_of:"coronary heart disease")" |
title |
Ingénieurs Google (Essayez.)
filter: "(all title:engineer member_of:google)" |
tookplace_at |
"battles that took place at Marengo" (Essayez.)
filter: "(all type:battles tookplace_at:marengo)" |
use_permitted_by |
"Formats de fichiers compatibles avec l'iPhone" (Essayez.)
filter: "(all type:"file format" use_permitted_by:iphone)" |
Évaluation et classement
Les entités Freebase disposent d'un score de pertinence (classement) inhérent calculé lors de l'indexation, qui dépend du nombre de liens entrants et sortants dans Freebase et Wikipédia. Certaines entités Freebase populaires disposent également d'un score de popularité calculé par Google. Par défaut, les deux scores sont combinés lors des requêtes.
Lorsqu'une contrainte textuelle est présente, un score de correspondance textuelle est calculé à partir du nombre de résultats renvoyés par l'index de recherche et est combiné au score de pertinence.
Les résultats de recherche Freebase sont toujours triés par score final, du plus élevé au plus bas.
Le paramètre de score permet de contrôler les composants du score de pertinence utilisés pour calculer le score final :
freebase : n'utilisez que le score de pertinence Freebase.
query: "beyoncé" scoring: freebase
entity : utilisez les deux scores de pertinence, qui remplacent tout score Google manquant par 1.0. Il s'agit de la valeur par défaut.
query: "beyoncé" scoring: entity
schema : à utiliser pour rechercher des entités de schéma telles que des types, des propriétés ou des domaines. Le nombre de liens vers les entités de schéma est calculé différemment.
query: "performance" scoring: schema
Autres contraintes
Vous pouvez filtrer les entités par tag d'index à l'aide des paramètres "with" (avec) ou "without" (sans). Les entités sont taguées lors de l'indexation. Chaque tag correspond à une ou plusieurs requêtes Freebase qui seraient trop coûteuses à exécuter lors de la recherche :
commons
est un tag qui peut être utilisé pour limiter une recherche de schéma afin de ne renvoyer que le schéma Freebase Commons.
Par exemple, les types Freebase Commons correspondant au mot "couleur"
query: "color" type: "/type/type" with: "commons"
gg
est un tag qui peut être utilisé pour limiter une recherche aux entités pour lesquelles il existe ou non un score de popularité Google.
query: "1923" type: "/people/person" with: "gg" query: "1923" type: "/people/person" without: "gg"
Le paramètre without
équivaut à un "non" dans une expression de filtre.
query: "color" limit: 5 type: "/type/type" without: "commons" query: "color" limit: 5 type: "/type/type" filter: "(not with:commons)"