Conceptos básicos

Si no conoces Freebase, en esta sección se explican los conceptos y la terminología básicos necesarios para comprender cómo funciona.

  1. Gráficos
  2. Temas
  3. Tipos y propiedades
  4. Dominios y IDs
  5. Tipos de valores compuestos
  6. MIDs de temas
  7. Espacios de nombres, claves y IDs de temas
  8. Más información sobre las propiedades
  9. Resumen

Grafos

Los datos de Freebase se almacenan en una estructura de datos llamada grafo. Un gráfico se compone de nodos conectados por aristas. En Freebase, los nodos se definen con /type/object y los bordes se definen con /type/link. Al almacenar los datos como un gráfico, Freebase puede recorrer rápidamente conexiones arbitrarias entre temas y agregar fácilmente un esquema nuevo sin tener que cambiar la estructura de los datos.

Temas

Freebase tiene más de 39 millones de temas sobre entidades del mundo real, como personas, lugares y objetos. Dado que los datos de Freebase se representan como un gráfico, estos temas corresponden a los nodos del gráfico. Sin embargo, no todos los nodos son temas. Consulta la sección sobre CVT como ejemplo de nodos que no son temas.

Ejemplos de los tipos de temas que se encuentran en Freebase:

Algunos temas son notables porque contienen muchos datos (p.ej., Wal-Mart) y otros son notables porque vinculan a muchos otros temas, posiblemente en diferentes dominios de información. Por ejemplo, los temas abstractos, como el amor, la pobreza, la caballería, etc., no tienen muchas propiedades asociadas, pero aparecen a menudo como temas de libros, poesía, películas, etc., lo que los hace más notables.

Tipos y propiedades

Cualquier tema determinado se puede ver desde muchas perspectivas diferentes. Por ejemplo:

  • Bob Dylan fue compositor, cantante, intérprete, autor de libros y actor de cine.
  • Leonardo da Vinci fue pintor, escultor, anatomista, arquitecto, ingeniero…
  • El amor es un tema de libros, películas, obras de teatro, poesía, etcétera.
  • Cualquier ciudad es una ubicación, potencialmente un destino turístico y un empleador de funcionarios públicos.

Para captar la naturaleza multifacética de muchos temas, introducimos el concepto de tipos en Freebase. Los temas de Freebase pueden tener cualquier cantidad de tipos asignados. El tema sobre Bob Dylan tiene asignados varios tipos: el tipo de compositor de canciones, el tipo de compositor musical, el tipo de artista musical (cantante), el tipo de autor de libros, etcétera. Cada tipo conlleva un conjunto diferente de propiedades pertinentes para ese tipo. Por ejemplo:

  • El tipo de artista musical contiene una propiedad que enumera todos los álbumes que produjo Bob Dylan, así como todos los instrumentos musicales que se sabe que tocó.
  • El tipo de autor de libros contiene una propiedad que enumera todos los libros que escribió o editó Bob Dylan, así como su escuela de pensamiento o movimiento de escritura.
  • El tipo de empresa contiene muchas propiedades para enumerar los fundadores, los miembros del directorio, la empresa matriz, las divisiones, los empleados, los productos, los registros de ingresos y ganancias anuales, etc.

Por lo tanto, se puede considerar que un tipo es un contenedor conceptual de propiedades que se necesitan con mayor frecuencia para describir un aspecto particular de la información. (Puedes pensar en un tipo como análogo a una tabla relacional, y cada tabla de "tipo" tiene una clave externa en la tabla de "identidad" que define de forma única cada tema).

Dominios y IDs

Así como las propiedades se agrupan en tipos, los tipos se agrupan en dominios. Piensa en los dominios como las secciones de tu periódico favorito: Negocios, Estilo de vida, Artes y entretenimiento, Política, Economía, etcétera. A cada dominio se le asigna un ID (identificador), p.ej.,

  • /business es el ID del dominio de la empresa.
  • /music: Es el dominio de Música.
  • /film: Es el dominio de Películas.
  • /medicine: El dominio de Medicina

El ID de un dominio se parece a una ruta de archivo o a una ruta en una dirección web.

Cada tipo también recibe un ID, que se basa en el dominio al que pertenece. Por ejemplo, el tipo Empresa pertenece al dominio Empresa y se le asigna el ID /business/company. A continuación, puedes ver algunos otros ejemplos:

  • /music/album es el ID del tipo de álbum (música), que pertenece al dominio de música.
  • /film/actor: Es el tipo Actor en el dominio de Películas.
  • /medicine/disease: Es el tipo de enfermedad en el dominio de la medicina.

Así como un tipo hereda el comienzo de su ID de su dominio, una propiedad también hereda el comienzo de su ID del tipo al que pertenece. Por ejemplo, a la propiedad Industry del tipo Company (que se usa para especificar en qué sector se encuentra una empresa) se le asigna el ID /business/company/industry. A continuación, puedes ver algunos otros ejemplos:

Por lo tanto, aunque los tipos no se organizan en jerarquías en Freebase, los dominios, los tipos y las propiedades reciben IDs que se organizan conceptualmente en una jerarquía similar a un directorio de archivos.

Tipos de valores compuestos

Un tipo de valor compuesto es un tipo dentro de Freebase que se usa para representar datos en los que cada entrada consta de varios campos. Los tipos de valores compuestos, o CVT, se usan en Freebase para representar datos complejos. Al principio, puede ser un poco confuso, pero los CVT son una parte muy importante del esquema de Freebase y permiten modelar con mayor precisión las relaciones complejas entre los temas.

Considera el siguiente ejemplo: La población de una ciudad es algo que cambia con el tiempo. Esto significa que, cada vez que consultas Freebase sobre la población, al menos implícitamente estás preguntando sobre la población en una fecha determinada. Se incluyen dos valores, la cantidad de personas y la fecha. Esta es una situación en la que una CVT resulta extremadamente útil. Sin uno, para modelar los datos de población, deberías crear un tema y nombrarlo, por ejemplo, "Población de Vancouver en 1997", y enviar la información allí.

Se puede considerar que un CVT es un tema que no requiere que crees un nombre visible. Al igual que los temas normales, los CVT tienen un GUID al que se puede hacer referencia de forma independiente. Sin embargo, el cliente de Freebase los trata de forma muy diferente a los temas. En la mayoría de los casos, cada propiedad del CVT debe ser una propiedad de desambiguación.

MID del tema

Si bien un tema puede identificarse o no por IDs de espacio de nombres o clave, siempre se puede identificar con un MID, un identificador de máquina que consta de /m/ seguido de un identificador único de base 32. Los MIDs se asignan a los temas en el momento de la creación y se administran durante todo el ciclo de vida del tema. Desempeñan un papel fundamental cuando se combinan o dividen temas, ya que permiten que las aplicaciones externas hagan un seguimiento del tema lógico, incluso si la identidad física de Freebase (el GUID del tema) cambia. Los IDs generados por máquina difieren de otros IDs de Freebase legibles (que devuelve la propiedad "id") en los siguientes aspectos:

  • Garantizado que existe
  • Generado por máquinas
  • Diseñado para admitir la comparación sin conexión
  • No está diseñado para transmitir significado a los humanos
  • Corta (posiblemente de longitud fija)
  • Ideal para el intercambio rápido de claves entre sistemas y componentes externos (externo, intercambio)

Los MIDs son el identificador recomendado para abordar temas en Freebase.

Espacios de nombres, claves y IDs de temas

La jerarquía de directorios de archivos de IDs de dominio, tipo y propiedad es solo una aplicación de un concepto más general: los espacios de nombres y las claves. Un espacio de nombres es como un directorio de archivos, y una clave es como un nombre de archivo. Del mismo modo que todos los nombres de archivo dentro de un directorio de archivos determinado deben ser únicos entre sí, todas las claves dentro de un espacio de nombres determinado también deben ser únicas entre sí.

Como ejemplo más específico, /business es el espacio de nombres correspondiente al dominio de la empresa. Dentro de ella, los tipos relacionados con la empresa reciben claves (p.ej., company) que son únicos entre sí. El ID de cada tipo se forma agregando su clave al ID del espacio de nombres (p.ej., /business/company).

Existen varios tipos de espacios de nombres, además de los que corresponden a dominios y tipos. El espacio de nombres /en es el más importante y el que se encuentra con mayor frecuencia. Este es el espacio de nombres en inglés en el que la mayoría de los temas conocidos pueden recibir claves únicas para formar IDs en inglés legibles. Por ejemplo, el prolífico Bob Dylan es tan conocido que su tema en Freebase recibe la clave bob_dylan en el espacio de nombres /en, por lo que el ID del tema es /en/bob_dylan. Este ID te permite acceder a su tema en el cliente web con la URL simple

Más información sobre las propiedades

El último concepto básico que se debe analizar implica una diferencia importante entre las propiedades de Freebase y su analogía en las tecnologías de bases de datos relacionales, es decir, las columnas de tablas relacionales. Para cada fila, una columna de tabla relacional solo puede contener un valor. Por ejemplo, considera una tabla relacional típica de "libros" con una columna llamada "autor". Para cada fila de la tabla "book", la columna "author" solo puede contener una clave externa para una tabla "author". Si un libro tiene varios autores, este diseño de esquema relacional simple no funciona y tendríamos que crear una tabla nueva para modelar las autorías. Es decir, necesitaríamos una tabla de "libros", una tabla de "autores" y una tabla de "autoría" para almacenar las relaciones de n a n entre libros y autores. Y la forma en que recuperas los datos cambia de manera bastante radical cuando pasas de un diseño de esquema a otro.

A diferencia de las tecnologías de bases de datos convencionales, Freebase considera que las propiedades de varios valores son tan deseables en el modelado de datos de la vida real que las admite de forma predeterminada. Es decir, cuando se creó la propiedad /book/written_work/author, se supuso que permitiría varios autores por libro, y puedes consultar una propiedad de varios valores y una propiedad de un solo valor exactamente de la misma manera. No es necesario pensar si necesitas unir con una tercera tabla que modela la relación de n a n.

Resumen

  • Un tipo es un contenedor conceptual de propiedades relacionadas que suelen ser necesarias para describir un aspecto determinado de un tema.
  • Se le puede asignar uno o más tipos a un tema (el tipo predeterminado es /common/topic).
  • Así como las propiedades se agrupan en tipos, los tipos se agrupan en dominios.
  • Los dominios, los tipos y las propiedades reciben IDs en una jerarquía de espacios de nombres o claves.
  • Los temas conocidos comunes reciben IDs en el espacio de nombres /en, que son cadenas legibles en inglés.
  • Los temas se identifican de forma única en Freebase por medio de GUID.
  • Las propiedades tienen varios valores de forma predeterminada, y las propiedades con varios valores y las propiedades con un solo valor se pueden consultar de la misma manera.