Concepts fondamentaux

Si vous ne connaissez pas Freebase, cette section présente la terminologie et les concepts de base nécessaires pour comprendre son fonctionnement.

  1. Graphiques
  2. Thèmes
  3. Types et propriétés
  4. Domaines et ID
  5. Types de valeurs composites
  6. MID des thèmes
  7. Espaces de noms, clés et ID de sujets
  8. En savoir plus sur les propriétés
  9. Résumé

Graphiques

Les données Freebase sont stockées dans une structure de données appelée graphe. Un graphique est composé de nœuds reliés par des arêtes. Dans Freebase, les nœuds sont définis à l'aide de /type/object et les arêtes à l'aide de /type/link. En stockant les données sous forme de graphique, Freebase peut parcourir rapidement les connexions arbitraires entre les thèmes et ajouter facilement de nouveaux schémas sans avoir à modifier la structure des données.

Thèmes

Freebase contient plus de 39 millions de thèmes sur des entités du monde réel comme des personnes, des lieux et des objets. Comme les données Freebase sont représentées sous forme de graphique, ces thèmes correspondent aux nœuds du graphique. Cependant, tous les nœuds ne sont pas des thèmes. Consultez la section sur les CVT pour obtenir un exemple de nœuds qui ne sont pas des thèmes.

Voici des exemples de types de thèmes disponibles dans Freebase :

Certains thèmes sont remarquables, car ils contiennent beaucoup de données (par exemple, Wal-Mart), et d'autres sont remarquables, car ils renvoient à de nombreux autres sujets, potentiellement dans différents domaines d'information. Par exemple, les thèmes abstraits tels que l'amour, la pauvreté, la chevalerie, etc. n'ont pas beaucoup de propriétés associées, mais ils apparaissent souvent comme sujets de livres, de poèmes, de films, etc., ce qui les rend plus remarquables.

Types et propriétés

Un même thème peut être abordé sous différents angles. Par exemple :

  • Bob Dylan était auteur-compositeur, chanteur, interprète, auteur de livres et acteur de cinéma.
  • Léonard de Vinci était peintre, sculpteur, anatomiste, architecte, ingénieur…
  • L'amour est un sujet de livre, de film, de pièce de théâtre, de poésie, etc. ;
  • Toute ville est un lieu, potentiellement une destination touristique et un employeur de fonctionnaires.

Pour refléter la nature multifacette de nombreux sujets, nous introduisons le concept de types dans Freebase. Les thèmes dans Freebase peuvent être associés à un nombre illimité de types. Le thème sur Bob Dylan est associé à plusieurs types : auteur de chansons, compositeur de musique, artiste musical (chanteur), auteur de livres, etc. Chaque type comporte un ensemble différent de propriétés propres à ce type. Par exemple,

  • Le type d'artiste musical contient une propriété qui liste tous les albums produits par Bob Dylan, ainsi que tous les instruments de musique qu'il a joués.
  • Le type d'auteur de livre contient une propriété qui liste tous les livres écrits ou édités par Bob Dylan, ainsi que son courant ou mouvement littéraire.
  • Le type d'entreprise contient de nombreuses propriétés permettant de lister les fondateurs, les membres du conseil d'administration, la société mère, les divisions, les employés, les produits, les revenus et les bénéfices annuels, etc.

Un type peut donc être considéré comme un conteneur conceptuel de propriétés qui sont le plus souvent nécessaires pour décrire un aspect particulier des informations. (Vous pouvez considérer un type comme analogue à une table relationnelle. Chaque table de type comporte une clé étrangère dans la table d'identité qui définit de manière unique chaque thème.)

Domaines et ID

Tout comme les propriétés sont regroupées en types, les types eux-mêmes sont regroupés en domaines. Considérez les domaines comme les sections de votre journal préféré : Business, Mode de vie, Arts et divertissement, Politique, Économie, etc. Chaque domaine reçoit un ID (identifiant), par exemple :

L'ID d'un domaine ressemble à un chemin d'accès à un fichier ou à un chemin d'accès dans une adresse Web.

Chaque type reçoit également un ID basé sur le domaine auquel il appartient. Par exemple, le type "Company" (Entreprise) appartient au domaine "Business" (Entreprise) et reçoit l'ID /business/company. Autres exemples :

  • /music/album est l'ID du type "Album (musique)", qui appartient au domaine "Musique".
  • /film/actor : type Actor dans le domaine Film
  • /medicine/disease : type de maladie dans le domaine de la médecine

Tout comme un type hérite du début de son ID à partir de son domaine, une propriété hérite également du début de son ID à partir du type auquel elle appartient. Par exemple, la propriété "Secteur" du type "Entreprise" (utilisée pour spécifier le secteur d'activité d'une entreprise) reçoit l'ID /business/company/industry. Autres exemples :

Ainsi, même si les types ne sont pas organisés en hiérarchies dans Freebase, les domaines, les types et les propriétés reçoivent des ID conceptuellement organisés dans une hiérarchie semblable à celle d'un répertoire de fichiers.

Types de valeurs composites

Un type de valeur composite est un type dans Freebase qui est utilisé pour représenter des données où chaque entrée se compose de plusieurs champs. Les types de valeurs composites (TVC) sont utilisés dans Freebase pour représenter des données complexes. Cela peut sembler un peu compliqué au début, mais les CVT sont une partie très importante du schéma Freebase. Elles permettent de modéliser plus précisément les relations complexes entre les thèmes.

Prenons l'exemple suivant : la population d'une ville est une donnée qui évolue au fil du temps. Cela signifie que chaque fois que vous interrogez Freebase sur la population, vous demandez au moins implicitement une population à une certaine date. Deux valeurs sont impliquées : le nombre de personnes et la date. Voici une situation dans laquelle un CVT devient extrêmement utile. Sans cela, pour modéliser les données de population, vous devriez créer un thème, le nommer "Population de Vancouver en 1997", par exemple, et y envoyer les informations.

Un CVT peut être considéré comme un thème pour lequel vous n'avez pas besoin de créer un nom à afficher. Comme les sujets normaux, les CVT disposent d'un GUID qui peut être référencé indépendamment. Toutefois, le client Freebase les traite très différemment des thèmes. Dans la plupart des cas, chaque propriété du CVT doit être une propriété de désambiguïsation.

MID des thèmes

Un thème peut ou non être identifiable par des ID d'espace de noms/clés, mais il peut toujours être identifié par un MID (Machine Identifier), qui se compose de /m/ suivi d'un identifiant unique en base 32. Les MID sont attribués aux thèmes au moment de leur création et sont gérés tout au long de leur durée de vie. Ils jouent un rôle essentiel lorsque des thèmes sont fusionnés ou divisés, car ils permettent aux applications externes de suivre le thème logique même si l'identité Freebase physique (le GUID du thème) peut changer. Les ID générés par machine diffèrent des autres ID Freebase lisibles (renvoyés par la propriété "id") en ce qu'ils sont :

  • L'élément est garanti d'exister
  • Généré automatiquement
  • Conçue pour la comparaison hors connexion
  • Non conçu pour transmettre un sens aux humains
  • Courte (éventuellement de longueur fixe)
  • Idéal pour échanger rapidement des clés entre des systèmes et composants externes (externe, échange)

Les MIDs sont l'identifiant recommandé pour aborder les thèmes dans Freebase.

Espaces de noms, clés et ID de sujet

La hiérarchie de type répertoire de fichiers des ID de domaine, de type et de propriété n'est qu'une application d'un concept plus général : les espaces de noms et les clés. Un espace de noms est semblable à un répertoire de fichiers, et une clé est semblable à un nom de fichier. Tout comme les noms de fichiers d'un répertoire de fichiers donné doivent être uniques, toutes les clés d'un espace de noms donné doivent également être uniques.

Par exemple, /business est l'espace de noms correspondant au domaine "Business". Dans ce fichier, les types liés à l'activité sont associés à des clés (par exemple, company) qui sont uniques entre eux. L'ID de chaque type est formé en ajoutant sa clé à l'ID de l'espace de noms (par exemple, /business/company).

Il existe plusieurs types d'espaces de noms en plus de ceux qui correspondent aux domaines et aux types. L'espace de noms /en est le plus important et le plus fréquemment rencontré. Il s'agit de l'espace de noms anglais dans lequel la plupart des thèmes connus peuvent recevoir des clés uniques pour former des identifiants anglais lisibles. Par exemple, le prolifique Bob Dylan est si connu que son sujet dans Freebase reçoit la clé bob_dylan dans l'espace de noms /en. L'ID du sujet est donc /en/bob_dylan. Cet ID vous permet d'accéder à son sujet dans le client Web avec l'URL simple

En savoir plus sur les propriétés

Le dernier concept de base à aborder concerne une différence majeure entre les propriétés Freebase et leur équivalent dans les technologies de bases de données relationnelles, à savoir les colonnes de tables relationnelles. Pour chaque ligne, une colonne de table relationnelle ne peut contenir qu'une seule valeur. Prenons l'exemple d'une table relationnelle "book" typique avec une colonne nommée "author". Pour chaque ligne de la table "book", la colonne "author" ne peut contenir qu'une seule clé étrangère vers une table "author". Si un livre a plusieurs auteurs, cette simple conception de schéma relationnel ne fonctionne pas. Nous devrons alors créer une table pour modéliser les auteurs. Autrement dit, nous aurions besoin d'une table "livre", d'une table "auteur" et d'une table "auteur_livre" pour stocker les relations n-à-n entre les livres et les auteurs. La façon dont vous récupérez les données change radicalement lorsque vous passez d'une conception de schéma à l'autre.

Contrairement aux technologies de base de données classiques, Freebase considère que les propriétés à valeurs multiples sont tellement souhaitables pour la modélisation des données réelles qu'il les accepte par défaut. Autrement dit, lorsque la propriété /book/written_work/author a été créée, elle était censée autoriser plusieurs auteurs par livre. Vous pouvez interroger une propriété à valeurs multiples et une propriété à valeur unique exactement de la même manière. Vous n'avez pas besoin de réfléchir à la nécessité de joindre une troisième table qui modélise la relation n-à-n.

Résumé

  • Un type est un conteneur conceptuel de propriétés associées généralement nécessaires pour décrire un certain aspect d'un sujet.
  • Un sujet peut être associé à un ou plusieurs types (le type par défaut étant /common/topic).
  • Les propriétés sont regroupées en types, et les types sont regroupés en domaines.
  • Les domaines, les types et les propriétés reçoivent des ID dans une hiérarchie d'espaces de noms/clés.
  • Les thèmes courants connus sont associés à des ID dans l'espace de noms /en, qui sont des chaînes en anglais lisibles par l'homme.
  • Les thèmes sont identifiés de manière unique dans Freebase par des GUID.
  • Les propriétés sont à valeurs multiples par défaut. Vous pouvez interroger les propriétés à valeurs multiples et à valeur unique de la même manière.