Wenn Sie Freebase noch nicht kennen, werden in diesem Abschnitt die grundlegenden Begriffe und Konzepte erläutert, die für das Verständnis der Funktionsweise von Freebase erforderlich sind.
- Diagramme
- Themen
- Typen und Attribute
- Domains und IDs
- Zusammengesetzte Werttypen
- Themen-MIDs
- Namespaces, Schlüssel und Themen-IDs
- Weitere Informationen zu Properties
- Zusammenfassung
Grafiken
Freebase-Daten werden in einer Datenstruktur gespeichert, die als Graph bezeichnet wird. Ein Graph besteht aus Knoten, die durch Kanten verbunden sind. In Freebase werden die Knoten mit /type/object und die Kanten mit /type/link definiert. Da die Daten als Graph gespeichert werden, kann Freebase schnell beliebige Verbindungen zwischen Themen durchlaufen und problemlos neue Schemata hinzufügen, ohne die Datenstruktur ändern zu müssen.
Themen
Freebase enthält über 39 Millionen Themen zu realen Objekten wie Personen, Orten und Dingen. Da Freebase-Daten als Graph dargestellt werden, entsprechen diese Themen den Knoten im Graph. Nicht jeder Knoten ist jedoch ein Thema. Ein Beispiel für Knoten, die keine Themen sind, finden Sie im Abschnitt zu CVTs.
Beispiele für die Arten von Themen, die in Freebase zu finden sind:
- Physische Einheiten, z.B. Bob Dylan, das Louvre Museum, der Planet Saturn,
- Künstlerische/mediale Werke, z.B. The Dark Knight (Film), Hotel California (Song), bis
- Klassifizierungen, z.B. Edelgas, Chordata, bis
- Abstrakte Konzepte wie Liebe
- Denkschulen oder künstlerische Bewegungen, z.B.: Impressionismus
Einige Themen sind bemerkenswert, weil sie viele Daten enthalten (z.B. Wal-Mart) und einige sind bemerkenswert, weil sie auf viele andere Themen verweisen, möglicherweise in verschiedenen Informationsbereichen. Abstrakte Themen wie Liebe, Armut oder Ritterlichkeit haben beispielsweise nicht viele zugeordnete Eigenschaften, kommen aber häufig als Themen von Büchern, Gedichten oder Filmen vor, was sie wichtiger macht.
Typen und Attribute
Ein bestimmtes Thema kann aus vielen verschiedenen Perspektiven betrachtet werden, z. B.:
- Bob Dylan war Songwriter, Sänger, Künstler, Buchautor und Filmschauspieler.
- Leonardo da Vinci war Maler, Bildhauer, Anatom, Architekt, Ingenieur …
- Liebe ist ein Buchthema, ein Filmthema, ein Theaterstückthema, ein Gedichtthema usw.
- Jede Stadt ist ein Ort, möglicherweise ein Reiseziel und ein Arbeitgeber für Beamte.
Um diese Vielschichtigkeit vieler Themen abzubilden, führen wir in Freebase das Konzept der Typen ein. Themen in Freebase können beliebig viele Typen zugewiesen werden. Dem Thema zu Bob Dylan sind mehrere Typen zugewiesen: der Typ „Songwriter“, der Typ „Musikkomponist“, der Typ „Musikkünstler (Sänger)“, der Typ „Buchautor“ usw. Jeder Typ hat eine andere Reihe von Attributen, die für diesen Typ relevant sind. Beispiel:
- Der Typ „Musikinterpret“ enthält eine Eigenschaft, in der alle Alben aufgeführt sind, die Bob Dylan produziert hat, sowie alle Musikinstrumente, die er gespielt hat.
- Der Typ „Buchautor“ enthält eine Eigenschaft, in der alle Bücher aufgeführt sind, die Bob Dylan geschrieben oder herausgegeben hat, sowie seine literarische Denkrichtung oder Bewegung.
- Der Unternehmenstyp enthält viele Attribute, um die Gründer, Vorstandsmitglieder, Muttergesellschaft, Geschäftsbereiche, Mitarbeiter, Produkte, jährlichen Umsatz- und Gewinnaufzeichnungen usw. eines Unternehmens aufzulisten.
Ein Typ kann also als konzeptioneller Container von Eigenschaften betrachtet werden, die am häufigsten zur Beschreibung eines bestimmten Aspekts von Informationen benötigt werden. Ein Typ kann als Analogie zu einer relationalen Tabelle betrachtet werden. Jede „Typ“-Tabelle hat einen Fremdschlüssel in die „Identitäts“-Tabelle, der jedes Thema eindeutig definiert.
Domains und IDs
So wie Properties in Typen gruppiert werden, werden Typen selbst in Domains gruppiert. Domains sind wie die Abschnitte in Ihrer Lieblingszeitung: Wirtschaft, Lifestyle, Kunst und Unterhaltung, Politik usw. Jeder Domain wird eine ID zugewiesen, z.B.
/businessist die ID der Unternehmensdomain./music– die Musik-Domain/film– die Filmdomain/medicine– die Domain „Arzneimittel“
Die ID einer Domain sieht aus wie ein Dateipfad oder ein Pfad in einer Webadresse.
Jeder Typ erhält auch eine ID, die auf der Domain basiert, zu der er gehört. Der Unternehmenstyp gehört beispielsweise zur Geschäftsdomäne und hat die ID /business/company. Hier sind einige weitere Beispiele:
/music/albumist die ID des Albumtyps (Musik), der zur Musik-Domain gehört./film/actor: Der Typ des Akteurs in der Filmdomäne/medicine/disease: der Krankheitstyp im Bereich „Medizin“
So wie ein Typ den Anfang seiner ID von seiner Domain erbt, erbt auch eine Property den Anfang ihrer ID von dem Typ, zu dem sie gehört. Die Eigenschaft „Branche“ des Typs „Unternehmen“ (mit der angegeben wird, in welcher Branche ein Unternehmen tätig ist) hat beispielsweise die ID /business/company/industry. Hier sind einige weitere Beispiele:
/automotive/engine/horsepowerist die ID der Eigenschaft „Horsepower“ (PS) des (Automotive) Engine-Typs./astronomy/star/planet_sist die ID des Attributs „Planets“ des Typs „Star“ (wird für die Auflistung von Planeten um einen Stern verwendet)./language/human_language/writing_systemist die ID der Eigenschaft „Schreibsystem“ des Typs „Menschliche Sprache“.
Obwohl Typen in Freebase nicht in Hierarchien angeordnet sind, werden Domains, Typen und Eigenschaften IDs zugewiesen, die konzeptionell in einer dateiverzeichnisähnlichen Hierarchie angeordnet sind.
Zusammengesetzte Werttypen
Ein zusammengesetzter Werttyp ist ein Typ in Freebase, der verwendet wird, um Daten darzustellen, bei denen jeder Eintrag aus mehreren Feldern besteht. Zusammengesetzte Werttypen (Compound Value Types, CVTs) werden in Freebase verwendet, um komplexe Daten darzustellen. Das kann anfangs etwas verwirrend sein, aber CVT sind ein sehr wichtiger Bestandteil des Freebase-Schemas und ermöglichen es, komplexe Beziehungen zwischen Themen genauer zu modellieren.
Die Bevölkerungszahl einer Stadt ändert sich im Laufe der Zeit. Wenn Sie Freebase nach der Bevölkerung fragen, fragen Sie also immer mindestens implizit nach der Bevölkerung zu einem bestimmten Datum. Es sind zwei Werte beteiligt: eine Anzahl von Personen und das Datum. Hier ist ein Beispiel, in dem ein CVT äußerst nützlich ist. Ohne ein solches Thema müssten Sie ein Thema erstellen, es z. B. „Bevölkerung von Vancouver im Jahr 1997“ nennen und die Informationen dort einreichen.
Ein CVT kann als Thema betrachtet werden, für das Sie keinen Anzeigenamen erstellen müssen. CVTs haben wie normale Themen eine GUID, auf die unabhängig verwiesen werden kann. Der Freebase-Client behandelt sie jedoch ganz anders als Themen. In den meisten Fällen sollte jede Property des CVT eine Disambiguierungs-Property sein.
MID für Themen
Ein Thema kann möglicherweise nicht durch Namespace-/Schlüssel-IDs identifiziert werden, aber immer durch eine MID (Machine Identifier). Diese besteht aus /m/ gefolgt von einer eindeutigen Base32-Kennung. MIDs werden Themen bei der Erstellung zugewiesen und während der gesamten Lebensdauer des Themas verwaltet. Sie spielen eine wichtige Rolle, wenn Themen zusammengeführt oder aufgeteilt werden. So können externe Anwendungen das logische Thema verfolgen, auch wenn sich die physische Freebase-Identität (die GUID des Themas) ändert. Maschinell generierte IDs unterscheiden sich von anderen für Menschen lesbaren Freebase-IDs (die von der Eigenschaft „id“ zurückgegeben werden) in folgenden Punkten:
- Garantiert vorhanden
- Maschinell generiert
- Für Offlinevergleiche konzipiert
- Nicht dafür konzipiert, Menschen Informationen zu vermitteln
- Kurz (möglicherweise mit fester Länge)
- Ideal für den schnellen Austausch von Schlüsseln zwischen externen Systemen und Komponenten (extern, Austausch)
MIDs sind die empfohlene Kennung, um Themen in Freebase zu adressieren.
Namespaces, Schlüssel und Themen-IDs
Die dateiverzeichnisähnliche Hierarchie von Domain-, Typ- und Attribut-IDs ist nur eine Anwendung eines allgemeineren Konzepts: Namespaces und Schlüssel. Ein Namespace ist wie ein Dateiverzeichnis und ein Schlüssel wie ein Dateiname. So wie alle Dateinamen in einem bestimmten Dateiverzeichnis eindeutig sein müssen, müssen auch alle Schlüssel in einem bestimmten Namespace eindeutig sein.
Ein konkreteres Beispiel: /business ist der Namespace, der der geschäftlichen Domain entspricht. Darin werden geschäftsbezogene Typen mit Schlüsseln versehen (z.B. company), die untereinander 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.
Neben Namespaces, die Domains und Typen entsprechen, gibt es noch weitere Arten von Namespaces. Der wichtigste und am häufigsten verwendete Namespace ist /en. Dies ist der englische Namespace, in dem den meisten bekannten Themen eindeutige Schlüssel zugewiesen werden können, um für Menschen lesbare englische IDs zu bilden. Der produktive Bob Dylan ist beispielsweise so bekannt, dass seinem Thema in Freebase der Schlüssel bob_dylan im Namespace /en zugewiesen wurde. Die ID des Themas ist also /en/bob_dylan. Mit dieser ID können Sie über die einfache URL im Webclient auf sein Thema zugreifen.
Weitere Informationen zu Attributen
Das letzte grundlegende Konzept, das wir besprechen möchten, betrifft einen wesentlichen Unterschied zwischen Freebase-Properties und ihren Entsprechungen in relationalen Datenbanktechnologien, nämlich den Spalten relationaler Tabellen. Eine Spalte einer relationalen Tabelle kann für jede Zeile nur einen Wert enthalten. Betrachten Sie beispielsweise eine typische relationale Tabelle „book“ mit einer Spalte namens „author“. Für jede Zeile in der Tabelle „book“ kann in der Spalte „author“ nur ein Fremdschlüssel für eine Tabelle „author“ enthalten sein. Wenn ein Buch mehrere Autoren hat, funktioniert dieses einfache relationale Schemadesign nicht und wir müssten eine neue Tabelle erstellen, um die Autorenschaft zu modellieren. Das heißt, wir benötigen eine Tabelle „book“, eine Tabelle „author“ und eine Tabelle „authorship“, um die n:n-Beziehungen zwischen Büchern und Autoren zu speichern. Auch 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 werden mehrwertige Attribute in Freebase als so wünschenswert für die Modellierung von Daten aus der realen Welt angesehen, dass sie standardmäßig unterstützt werden. Als die Property /book/written_work/author erstellt wurde, wurde davon ausgegangen, dass ein Buch mehrere Autoren haben kann. Sie können eine Anfrage für eine Property mit mehreren Werten und für eine Property mit einem einzelnen Wert auf genau dieselbe Weise stellen. Sie müssen nicht überlegen, ob Sie eine dritte Tabelle benötigen, die die n:n-Beziehung modelliert.
Zusammenfassung
- Ein Typ ist ein konzeptioneller Container mit zugehörigen Attributen, die in der Regel erforderlich sind, um einen bestimmten Aspekt eines Themas zu beschreiben.
- Einem Thema kann ein oder mehrere Typen zugewiesen werden. Der Standardtyp ist
/common/topic. - So wie Eigenschaften in Typen gruppiert werden, werden Typen in Domains gruppiert.
- Domänen, Typen und Eigenschaften werden IDs in einer Namespace-/Schlüsselhierarchie zugewiesen.
- Häufige bekannte Themen erhalten IDs im Namespace
/en, die von Menschen lesbare englische Strings sind. - Themen werden in Freebase eindeutig durch GUIDs identifiziert.
- Attribute sind standardmäßig mehrwertig und mehrwertige und einwertige Attribute können auf dieselbe Weise abgefragt werden.