Podstawowe pojęcia

Jeśli dopiero zaczynasz korzystać z Freebase, w tej sekcji znajdziesz podstawowe terminy i pojęcia, które pomogą Ci zrozumieć, jak działa ta usługa.

  1. Wykresy
  2. Tematy
  3. Typy i właściwości
  4. Domeny i identyfikatory
  5. Typy wartości złożonych
  6. Identyfikatory MID tematu
  7. Przestrzenie nazw, klucze i identyfikatory tematów
  8. Więcej informacji o usługach
  9. Podsumowanie

Wykresy

Dane Freebase są przechowywane w strukturze danych zwanej grafem. Graf składa się z węzłów połączonych krawędziami. W Freebase węzły są definiowane za pomocą /type/object, a krawędzie za pomocą /type/link. Dzięki przechowywaniu danych w formie grafu Freebase może szybko przechodzić przez dowolne połączenia między tematami i łatwo dodawać nowe schematy bez konieczności zmiany struktury danych.

Tematy

Freebase zawiera ponad 39 milionów tematów dotyczących podmiotów ze świata rzeczywistego, takich jak osoby, miejsca i rzeczy. Dane Freebase są przedstawiane w formie grafu, więc te tematy odpowiadają węzłom w grafie. Nie każdy węzeł jest jednak tematem. Przykładem węzłów, które nie są tematami, są CVT.

Przykłady typów tematów w Freebase:

Niektóre tematy są warte uwagi, ponieważ zawierają dużo danych (np. Wal-Mart), a niektóre są warte uwagi, ponieważ prowadzą do wielu innych tematów, potencjalnie w różnych dziedzinach informacji. Na przykład abstrakcyjne tematy, takie jak miłość, ubóstwo czy rycerskość, nie mają wielu powiązanych właściwości, ale często pojawiają się jako tematy książek, poezji, filmów itp., co czyni je bardziej godnymi uwagi.

Typy i właściwości

Każdy temat można rozpatrywać z wielu różnych perspektyw, np.:

  • Bob Dylan był autorem tekstów piosenek, piosenkarzem, wykonawcą, autorem książek i aktorem filmowym;
  • Leonardo da Vinci był malarzem, rzeźbiarzem, anatomem, architektem, inżynierem…
  • Miłość jest tematem książki, filmu, sztuki teatralnej, poezji…
  • Każde miasto jest lokalizacją, potencjalnym miejscem turystycznym i pracodawcą urzędników państwowych.

Aby uwzględnić wieloaspektowy charakter wielu tematów, wprowadzamy w Freebase koncepcję typów. Tematom w Freebase można przypisać dowolną liczbę typów. Temat dotyczący Boba Dylana ma przypisanych kilka typów: autor tekstów, kompozytor, wykonawca (wokalista), autor książek itp. Każdy typ ma inny zestaw właściwości, które są z nim powiązane. Na przykład

  • Typ wykonawca muzyczny zawiera właściwość, która zawiera listę wszystkich albumów wyprodukowanych przez Boba Dylana, a także wszystkich instrumentów muzycznych, na których grał.
  • Typ autora książki zawiera właściwość, która zawiera listę wszystkich książek napisanych lub zredagowanych przez Boba Dylana, a także jego szkołę myślenia lub ruch literacki.
  • Typ firmy zawiera wiele właściwości do wyświetlania założycieli firmy, członków zarządu, firmy nadrzędnej, oddziałów, pracowników, produktów, rocznych przychodów i zapisów zysków itp.

Typ można więc traktować jako koncepcyjny kontener właściwości, które są najczęściej potrzebne do opisywania określonego aspektu informacji. (Typ można traktować jako odpowiednik tabeli relacyjnej, a każda tabela „typu” ma klucz obcy w tabeli „tożsamości”, która jednoznacznie definiuje każdy temat).

Domeny i identyfikatory

Podobnie jak usługi są grupowane według typów, same typy są grupowane według domen. Domeny można porównać do sekcji w ulubionej gazecie: biznes, styl życia, sztuka i rozrywka, polityka, ekonomia itp. Każda domena ma swój identyfikator, np.

Identyfikator domeny wygląda jak ścieżka do pliku lub ścieżka w adresie internetowym.

Każdy typ ma też identyfikator, który jest oparty na domenie, do której należy. Na przykład typ Company należy do domeny Business i ma identyfikator /business/company. Oto inne przykłady:

Podobnie jak typ dziedziczy początek identyfikatora z domeny, usługa dziedziczy początek identyfikatora z typu, do którego należy. Na przykład właściwość Branża typu Firma (używana do określania branży, w której działa firma) ma identyfikator /business/company/industry. Oto inne przykłady:

Dlatego mimo że typy nie są w Freebase uporządkowane hierarchicznie, domeny, typy i właściwości mają identyfikatory uporządkowane koncepcyjnie w hierarchii podobnej do katalogu plików.

Typy wartości złożonych

Złożony typ wartości to typ w Freebase, który służy do reprezentowania danych, w których każdy wpis składa się z wielu pól. Złożone typy wartości (CVT) są używane w Freebase do reprezentowania złożonych danych. Początkowo może to być nieco mylące, ale CVT są bardzo ważną częścią schematu Freebase i umożliwiają dokładniejsze modelowanie złożonych relacji między tematami.

Rozważmy ten przykład: liczba ludności w mieście to wartość, która zmienia się z czasem. Oznacza to, że gdy wysyłasz do Freebase zapytanie o liczbę ludności, przynajmniej pośrednio pytasz o liczbę ludności w określonym dniu. W grę wchodzą 2 wartości: liczba osób i data. Oto sytuacja, w której CVT jest niezwykle przydatny. Bez niego, aby modelować dane o populacji, musisz utworzyć temat i nazwać go np. „Populacja Vancouver w 1997 r.”, a następnie przesłać tam informacje.

CVT można traktować jako temat, który nie wymaga podania wyświetlanej nazwy. Tematy niestandardowe, podobnie jak tematy standardowe, mają identyfikator GUID, do którego można się odwoływać niezależnie. Klient Freebase traktuje je jednak zupełnie inaczej niż tematy. W większości przypadków każda właściwość CVT powinna być właściwością disambiguation.

Identyfikatory MID tematu

Temat może być identyfikowany lub nie za pomocą identyfikatorów przestrzeni nazw lub kluczy, ale zawsze można go zidentyfikować za pomocą identyfikatora MID, czyli identyfikatora maszyny, który składa się z /m/ i unikalnego identyfikatora w systemie liczbowym o podstawie 32. Identyfikatory MID są przypisywane do tematów w momencie ich tworzenia i są zarządzane przez cały okres ich istnienia. Odgrywają one kluczową rolę, gdy tematy są łączone lub dzielone, umożliwiając aplikacjom zewnętrznym śledzenie logicznego tematu, nawet jeśli fizyczna tożsamość Freebase (identyfikator GUID tematu) może się zmienić. Identyfikatory generowane przez maszynę różnią się od innych identyfikatorów Freebase czytelnych dla człowieka (zwracanych przez właściwość „id”) tym, że:

  • Gwarantowane istnienie
  • Wygenerowane maszynowo
  • Umożliwia porównanie offline
  • Nie służy do przekazywania informacji ludziom
  • Krótki (prawdopodobnie o stałej długości)
  • Idealne rozwiązanie do szybkiej wymiany kluczy między systemami i komponentami zewnętrznymi (zewnętrzne, wymiana).

MID to zalecany identyfikator do poruszania tematów w Freebase.

Przestrzenie nazw, klucze i identyfikatory tematów

Hierarchia identyfikatorów domeny, typu i usługi przypominająca katalog plików to tylko jedno z zastosowań bardziej ogólnej koncepcji: przestrzeni nazwkluczy. Przestrzeń nazw jest podobna do katalogu plików, a klucz do nazwy pliku. Podobnie jak wszystkie nazwy plików w określonym katalogu muszą być unikalne, wszystkie klucze w określonej przestrzeni nazw również muszą być unikalne.

Bardziej szczegółowy przykład: /business to przestrzeń nazw odpowiadająca domenie Business. Typy związane z firmami mają w nim przypisane klucze (np. company), które są unikalne. Identyfikator każdego typu jest tworzony przez dodanie jego klucza do identyfikatora przestrzeni nazw (np. /business/company).

Oprócz przestrzeni nazw odpowiadających domenom i typom istnieje kilka innych rodzajów przestrzeni nazw. Najważniejsza i najczęściej spotykana jest przestrzeń nazw /en. Jest to przestrzeń nazw w języku angielskim, w której większość znanych tematów może mieć unikalne klucze tworzące czytelne dla człowieka identyfikatory w języku angielskim. Na przykład Bob Dylan jest tak znaną osobą, że jego temat w Freebase ma klucz bob_dylan w przestrzeni nazw /en, a więc identyfikator tematu to /en/bob_dylan. Ten identyfikator umożliwia dostęp do jego tematu w kliencie internetowym za pomocą prostego adresu URL

Więcej informacji o właściwościach

Ostatnia podstawowa koncepcja, którą omówimy, dotyczy głównej różnicy między właściwościami Freebase a ich odpowiednikami w technologiach relacyjnych baz danych, czyli kolumnami tabeli relacyjnej. W przypadku każdego wiersza kolumna tabeli relacyjnej może zawierać tylko jedną wartość. Weźmy na przykład typową tabelę relacyjną „książka” z kolumną o nazwie „autor”. W każdym wierszu tabeli „book” kolumna „author” może zawierać tylko jeden klucz obcy do tabeli „author”. Jeśli książka ma kilku autorów, ten prosty schemat relacyjny nie działa i musimy utworzyć nową tabelę, aby modelować autorstwo. Oznacza to, że do przechowywania relacji n:n między książkami a autorami potrzebujemy tabeli „book”, tabeli „author” i tabeli „authorship”. Sposób pobierania danych zmienia się dość radykalnie w zależności od tego, czy używasz jednego czy drugiego schematu.

W przeciwieństwie do tradycyjnych technologii baz danych Freebase uważa właściwości wielowartościowe za tak pożądane w modelowaniu danych z życia, że obsługuje je domyślnie. Oznacza to, że gdy tworzono właściwość /book/written_work/author, zakładano, że w przypadku każdej książki może być wielu autorów. Możesz wysyłać zapytania dotyczące właściwości z wieloma wartościami i właściwości z jedną wartością w dokładnie taki sam sposób. Nie musisz się zastanawiać, czy musisz połączyć się z trzecią tabelą, która modeluje relację n:n.

Podsumowanie

  • Typ to koncepcyjny kontener powiązanych właściwości, które są zwykle potrzebne do opisania określonego aspektu tematu.
  • Temat może mieć przypisany jeden lub więcej typów (domyślny typ to /common/topic).
  • Usługi są grupowane według typów, a typy są grupowane według domen.
  • Domeny, typy i właściwości mają przypisane identyfikatory w hierarchii przestrzeni nazw lub kluczy.
  • Popularne tematy mają identyfikatory w przestrzeni nazw /en, które są zrozumiałymi dla człowieka ciągami tekstowymi w języku angielskim.
  • Tematy są jednoznacznie identyfikowane w Freebase za pomocą identyfikatorów GUID.
  • Usługi mają domyślnie wiele wartości, a zapytania dotyczące usług z wieloma wartościami i usług z jedną wartością mogą być wykonywane w ten sam sposób.