Rechercher dans le livre de recettes

  1. Contraintes textuelles
  2. Contraintes linguistiques
  3. Contraintes de schéma
  4. Contraintes du métaschéma
  5. Scoring et classement
  6. 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")"
"Figuren in der Zauberflöte" (Essayez.)
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)"
"actrices françaises" (variante) (Essayer)
filter: "(all category:female origin:france practitioner_of:actor)"
"volcans californiens ou français" (Essayez.)
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")"
"compagnies aériennes avec des hubs à San Francisco et Atlanta" (Essayer)
filter: "(all type:airline center:"San Francisco" center:atlanta)"
"journaux centrés sur San Francisco" (Essayez.)
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")"
"films de Steven Spielberg" en utilisant le MID au lieu du nom du contributeur. (Essayez.)
filter: "(all type:/film/film contributor:/m/06pj8)"
"films avec Harrison Ford" (Essayer)
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)"
"cathédrales gothiques de Viollet-le-Duc" (Essayez-la.)
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)"
"Personnalités politiques démocrates et acteurs célèbres" (Essayez-le.)
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")"
"descendants of the Lisp programming language" (Try it.)
filter: "(all type:/computer/programming_language parent:lisp)"
part_of "lacs suédois" (Essayez.)
filter: "(all type:lake part_of:sweden)"
"compétitions aux jeux olympiques d'été de 2008" (Essayer)
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)"
"livres sur les mathématiques" (Essayez.)
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)"