Grundlegende Konzepte

Wenn Sie mit Freebase noch nicht vertraut sind, finden Sie in diesem Abschnitt grundlegende Terminologie und Konzepte.

  1. Grafiken
  2. Themen
  3. Typen und Eigenschaften
  4. Domains und IDs
  5. Zusammengesetzte Werttypen
  6. Themen-MIDs
  7. Namespaces, Schlüssel und Themen-IDs
  8. Weitere Informationen zu Properties
  9. Zusammenfassung

Grafiken

Freebase-Daten werden in einer Datenstruktur gespeichert, die als Graph bezeichnet wird. Ein Diagramm besteht aus Knoten, die durch Edges verbunden sind. In Freebase werden die Knoten mit /type/object und Edges mit /type/link definiert. Durch das Speichern der Daten als Grafik kann Freebase schnell beliebige Verbindungen zwischen Themen durchgehen und problemlos ein neues Schema hinzufügen, ohne die Struktur der Daten ändern zu müssen.

Themen

Freebase bietet über 39 Millionen Themen zu realen Objekten wie Personen, Orten und Dingen. Da die Freebase-Daten in einem Diagramm dargestellt werden, entsprechen diese Themen den Knoten in der Grafik. Allerdings ist nicht jeder Knoten ein Thema. Im Abschnitt CVTs finden Sie ein Beispiel für Knoten, die keine Themen sind.

Beispiele für die in Freebase gefundenen Thementypen:

Einige Themen zeichnen sich dadurch aus, dass sie viele Daten enthalten (z.B. Wal-Mart), und einige sind bemerkenswert, weil sie auf viele weitere Themen verweisen, möglicherweise in unterschiedlichen Informationsdomains. Abstrakte Themen wie Liebe, Armut oder Schotter usw. haben beispielsweise nicht viele Eigenschaften, die aber häufig als Themen wie Gedichte, Lyrik, Film usw. erscheinen.

Typen und Eigenschaften

Jedes Thema kann aus vielen verschiedenen Perspektiven betrachtet werden, zum Beispiel:

  • Bob Dylan war Songwriter, Sänger, Künstler, Buchautor und Schauspieler.
  • Leonardo da Vinci war ein Maler, Bildhauer, Anatomie, Architekt, Ingenieur usw.
  • Liebe ist ein Buchthema, Filmthema, Spielthema, Poesiethema...
  • Jede Stadt ist ein Ort, potenziell ein Touristenziel und ein Arbeitgeber für Staatsbedienstete.

Damit viele verschiedene Themen berücksichtigt werden können, führen wir das Konzept von types in Freebase ein. Themen in Freebase können beliebige Typen zugewiesen werden. Das Thema über Bob Dylan wird verschiedenen Typen zugewiesen: dem Typ des Komponisten, dem Komponistentyp, dem Typ des Musikkünstlers (Sängers), dem Typ des Buchautors usw. Zu jedem Typ gehört eine andere Gruppe von Eigenschaften. Beispiel:

  • Der Typ des Musikkünstlers enthält eine Property, in der alle Alben aufgeführt sind, die Bob Dylan produziert hat, sowie alle Musikinstrumente, die er gern spielen würde.
  • Der Autor des Buchs enthält eine Property, in der alle Bücher beschrieben sind, die Bob Dylan geschrieben oder bearbeitet hat, sowie seine Schreibsammlung.
  • Der Unternehmenstyp enthält viele Properties für den Eintrag von Gründern, Vorstandsmitgliedern, Muttergesellschaft, Abteilungen, Abteilungen, Mitarbeitern, Produkten, Jahres- und Gewinnaufzeichnungen usw.

Ein Typ ist also ein konzeptioneller Container für Eigenschaften, die in der Regel für die Beschreibung eines bestimmten Aspekts von Informationen erforderlich sind. Sie können sich einen Typ als analog zu einer relationalen Tabelle vorstellen, und jede „Typ“-Tabelle hat einen Fremdschlüssel in der einen „Identität“-Tabelle, die jedes Thema eindeutig definiert.

Domains und IDs

Genau wie Properties in Typen, werden Typen auch in Domains gruppiert. Stellen Sie sich Domains als die Bereiche in Ihrer Lieblingszeitung vor: Wirtschaft, Lifestyle, Kunst und Unterhaltung, Politik, Wirtschaft usw. Jeder Domain wird eine ID zugewiesen, z.B.

Die ID einer Domain sieht wie ein Dateipfad oder ein Pfad in einer Webadresse aus.

Jedem Typ wird außerdem eine ID zugewiesen, die auf der Domain basiert, zu der sie gehört. Der Typ „Unternehmen“ gehört beispielsweise zur Unternehmensdomain und hat die ID „/business/company“. Weitere Beispiele:

  • /music/album ist die ID des Albumtyps „(Musik)“, das zur Domain „Musik“ gehört.
  • /film/actor: der Typ des Akteurs in der Filmdomain
  • /medicine/disease – der Krankheitstyp in der Medizin-Domain

Ähnlich wie bei einem Typ wird der Anfang der ID von der Domain übernommen, wird für die Property auch der Anfang der ID des zugehörigen Typs übernommen. Beispielsweise erhält die Branchen-Property des Unternehmenstyps (wird verwendet, um die Branche anzugeben, in der ein Unternehmen tätig ist) die ID /business/company/industry. Weitere Beispiele:

Daher werden Typen, Typen und Properties zwar strukturell in einer verzeichnisähnlichen Hierarchie angeordnet, obwohl Typen nicht in Hierarchien in Freebase angeordnet sind.

Zusammengesetzte Werttypen

Ein zusammengesetzter Werttyp ist ein Typ innerhalb des Freebase, der zur Darstellung von Daten verwendet wird, bei denen jeder Eintrag aus mehreren Feldern besteht. Zusammengesetzte Werttypen oder CVTs werden in Freebase zur Darstellung komplexer Daten verwendet. Zuerst kann das etwas verwirrend sein, aber CVTs sind ein wichtiger Teil des Freebase-Schemas, mit dem sie komplexe Beziehungen zwischen Themen genauer modellieren können.

Beispiel: Die Bevölkerungsdichte für eine Stadt ändert sich mit der Zeit. Das heißt, wenn Sie Freebase nach der Bevölkerung abfragen, fragen Sie zumindest implizit nach einer Bevölkerung zu einem bestimmten Datum. Es gibt zwei Werte, eine Anzahl von Personen und das Datum. In diesem Fall wird eine CVT äußerst nützlich. Ohne Beispielmodell würden Sie ein Bevölkerungsthema benötigen, um ein Thema zu erstellen, und es z. B. nach der Bevölkerung von Vancouver im Jahr 1997 benennen, um die Information dort einzureichen.

Eine CVT kann als Thema angesehen werden, für das kein Anzeigename erforderlich ist. CVTs haben wie normale Themen eine GUID, auf die unabhängig verwiesen werden kann. Der Freebase-Client behandelt sie jedoch viel anders als Themen. In den meisten Fällen sollte jede Eigenschaft der CVT eine Unterscheidungseigenschaft sein.

Themen-MIDs

Ein Thema kann anhand von Namespace-/Schlüssel-IDs identifiziert werden oder nicht. Es kann jedoch immer mit einer MID identifiziert werden – einer Maschinen-ID, die aus /m/, gefolgt von einer eindeutigen Basis-32-ID besteht. MIDs werden Themen bei der Erstellung zugewiesen und werden während der gesamten Lebensdauer des Themas verwaltet. Sie spielen eine wichtige Rolle beim Zusammenführen von Themen oder dem Aufteilen von Themen, denn so können externe Anwendungen das logische Thema verfolgen, obwohl sich die physische Freebase-Identität (die GUID des Themas) ändern kann. Maschinell erstellte IDs unterscheiden sich von anderen für Menschen lesbaren Freebase-IDs (die von der Property „id“ zurückgegeben werden), da sie:

  • Garantiert vorhanden
  • Maschinell generiert
  • Offline-Vergleich möglich
  • Sie wurde nicht entwickelt, um den Menschen eine Bedeutung zu vermitteln.
  • Kurz (möglicherweise feste Länge)
  • Ideal für den schnellen Austausch von Schlüsseln zwischen externen Systemen und Komponenten (extern, Austausch)

MIDs sind die empfohlene Kennung für die Adressierung von Themen in Freebase

Namespaces, Schlüssel und Themen-IDs

Die dateiähnliche Hierarchie der Domain, des Typs und der Attribut-IDs ist nur eine Anwendung eines allgemeineren Konzepts: Namespaces und Schlüssel. Ein Namespace ist wie ein Dateiverzeichnis und ein Schlüssel ist ein Dateiname. Ebenso wie alle Dateinamen in einem bestimmten Dateiverzeichnis untereinander eindeutig sein müssen, müssen auch alle Schlüssel in einem bestimmten Namespace unter ihnen eindeutig sein.

Genauer gesagt ist /business der Namespace, der der Domain des Unternehmens entspricht. Innerhalb von diesem Bereich werden geschäftsbezogene Typen Schlüssel zugewiesen (z.B. company), die für sie selbst eindeutig sind. Die ID jedes Typs wird gebildet, indem der Schlüssel an die ID des Namespace angehängt wird (z.B. /business/company) verwenden.

Es gibt mehrere Arten von Namespaces neben Namespaces, die Domains und Typen entsprechen. Am wichtigsten ist der /en-Namespace. Dies ist der englische Namespace, in dem die bekanntesten Themen eindeutige Schlüssel erhalten können, um menschenlesbare englische IDs zu erstellen. Beispielsweise ist der erfolgreiche Bob Dylan so bekannt, dass seinem Thema in Freebase der Schlüssel bob_dylan im Namespace /en zugewiesen wird. Die ID des Themas lautet also /en/bob_dylan. Mit dieser ID können Sie über die einfache URL auf sein Thema im Webclient zugreifen

Weitere Informationen zu Unterkünften

Das letzte zu besprechende Konzept beinhaltet einen erheblichen Unterschied zwischen Freebase-Properties und ihrer Analogie in relationalen Datenbanktechnologien, nämlich relationalen Tabellenspalten. Eine relationale Tabellenspalte kann pro Zeile nur einen Wert enthalten. Angenommen, Sie haben eine relationale Tabelle namens „Buch“ mit einer Spalte namens „Autor“. Für jede Zeile in der Tabelle „book“ kann die Spalte „author“ nur einen Fremdschlüssel an die Tabelle „author“ enthalten. Wenn ein Buch mehrere Autoren hat, funktioniert dieses einfache relationale Schema nicht. Wir müssen die Autoren nun in einer neuen Tabelle modellieren. Das heißt, wir brauchen eine Tabelle „Buch“, eine Tabelle „Autor“ und eine Tabelle „Autor“ zum Speichern der n:n-Beziehungen zwischen Büchern und Autoren. Die Art und Weise, wie Sie Daten abrufen, ändert sich radikal, wenn Sie von einem Schemadesign zum anderen wechseln.

Im Gegensatz zu herkömmlichen Datenbanktechnologien betrachtet Freebase Attribute mit mehreren Werten als so wünschenswert, wenn sie Daten aus dem wahren Leben modellieren, sodass sie standardmäßig mehrwertige Properties unterstützen. Bei der Erstellung der Property /book/written_work/author wurde nämlich davon ausgegangen, dass mehrere Autoren pro Buch möglich sind. Sie können also eine Property mit mehreren Werten und eine Property mit einem Wert auf die gleiche Weise abfragen. Wenn Sie mit einer dritten Tabelle zusammenführen möchten, in der die n:n-Beziehung modelliert wird, müssen Sie nicht darüber nachdenken.

Zusammenfassung

  • Ein Typ ist ein konzeptioneller Container mit ähnlichen Attributen, die üblicherweise zur Beschreibung eines bestimmten Aspekts eines Themas benötigt werden.
  • Einem Thema können ein oder mehrere Typen zugewiesen werden. Der Standardtyp ist /common/topic.
  • Da Properties in Typen gruppiert werden, werden Typen in Domains gruppiert.
  • Domains, Typen und Properties erhalten IDs in einer Namespace-/Schlüsselhierarchie.
  • Gängige bekannte Themen sind IDs, die im Namespace /en angegeben werden und für Menschen lesbare englische Strings sind.
  • Themen werden in Freebase durch GUIDs eindeutig identifiziert.
  • Eigenschaften sind standardmäßig mehrwertig. Mehrwertige Eigenschaften und einwertige Eigenschaften können auf die gleiche Weise abgefragt werden.