Pojęcia podstawowe

Jeśli dopiero zaczynasz korzystać z usługi Freebase, w tej sekcji znajdziesz omówienie podstawowej terminologii i pojęcia wymagane do zrozumienia jej działania.

  1. Wykresy
  2. Tematy
  3. Typy i właściwości
  4. Domeny i identyfikatory
  5. Typy wartości złożonych
  6. Numery 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 nazywanej wykresem. Wykres składa się z węzłów połączonych krawędziami. W Freebase węzły są zdefiniowane za pomocą /type/object, a krawędzie – za pomocą /type/link. Zapisując dane w formie wykresu, Freebase może szybko przeglądać dowolne połączenia między tematami i łatwo dodawać nowy schemat bez konieczności zmiany struktury danych.

Tematy

Freebase zawiera ponad 39 milionów tematów dotyczących świata rzeczywistego, takich jak ludzie, miejsca i rzeczy. Ponieważ dane Freebase są przedstawione na wykresie, tematy odpowiadają węzłom na wykresie. Jednak nie każdy węzeł jest tematem. Przykładową sekcję, która nie jest tematem, jest sekcja CVT.

Przykłady tematów występujących w grupie Freebase:

Niektóre tematy są godne uwagi, ponieważ zawierają dużo danych (np. Wal-Mart) niektóre z nich są szczególnie ważne, ponieważ zawierają linki do wielu innych tematów, które mogą dotyczyć różnych domen informacji. Na przykład abstrakcyjne tematy, takie jak miłość, ubóstwo czy rywalizacja, nie są powiązane z wieloma właściwościami. Często pojawiają się one w książkach, poezjach, filmach itp., dlatego cieszą się większą popularnością.

Typy i właściwości

Dowolny temat można zaobserwować z różnych perspektyw, na przykład:

  • Bob Dylan był piosenkarzem, piosenkarzem, piosenkarzem, artystą, autorem książek i aktorem filmowym.
  • Leonardo da Vinci był malarzem, rzeźbiarzem, anatomem, architektem, inżynierem...
  • Miłość jest tematem książki, tematu filmowego, tematu poezji...
  • Każde miasto to lokalizacja, potencjalnie cel podróży turystycznej oraz pracodawca urzędników państwowych.

Aby uchwycić ten wieloaspektowy charakter wielu tematów, wprowadziliśmy w Freebase koncepcję typów. Do tematów w Freebase można przypisać dowolną liczbę typów. Do tematu Boba Dylana przypisano kilka typów: typ autora tekstu, typ kompozytora, autora (piosenki), autora książki itd. Każdy z nich ma swój nieco inny zestaw właściwości. Przykład:

  • Typ wykonawcy muzycznego zawiera właściwość zawierającą wszystkie albumy, które wyprodukował Bob Dylan, a także wszystkie instrumenty, o których wiadomo, że grają;
  • Typ autora książki zawiera właściwość, która zawiera listę wszystkich książek napisanych lub edytowanych przez Boba Dylana, a także jego szkołę pisarstwa lub przemyśleń.
  • Typ firmy zawiera wiele usług, w tym informacje o założycielach, członka zarządu, firmie nadrzędnej, oddziałach, pracownikach, produktach, rocznych przychodach i zyskach.

Typ można więc uznać za kontener koncepcyjny usług, które są najczęściej potrzebne do opisania konkretnego aspektu informacji. Można go wyobrazić analogicznie do tabeli relacyjnej, a każda tabela „typ” ma w jednej tabeli „tożsamość” unikalny klucz definiujący każdy temat.

Domeny i identyfikatory

Usługi są grupowane według typów, tak samo jak w przypadku domen. Możesz myśleć o domenach jak o sekcjach w swojej 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ż swój identyfikator, który jest oparty na domenie, do której należy. Na przykład typ firmy należy do domeny firmy i ma identyfikator /business/company. Oto inne przykłady:

Podobnie jak typ dziedziczy początek identyfikatora z domeny, usługa dziedziczy też początek identyfikatora z typu, do którego należy. Na przykład właściwość przemysłowa danego typu firmy (używana do określania branży, w której znajduje się firma) otrzymuje identyfikator /business/company/industry. Oto inne przykłady:

W związku z tym chociaż typy nie są ułożone w hierarchie w Freebase, domeny, typy i właściwości mają identyfikatory ułożone w hierarchię plików jak w katalogu.

Typy wartości zespolonych

Typ wartości złożonej to typ w bazie Freebase, który reprezentuje dane, w których każdy wpis składa się z wielu pól. Do reprezentowania złożonych danych używane są typy wartości złożonych (CVT). Na początku może to być trochę skomplikowane, ale CVT jest bardzo ważną częścią schematu Freebase i pozwala na dokładniejsze modelowanie złożonych relacji między tematami.

Pomyśl o tym przykładzie: populacja miasta to coś, co zmienia się z czasem. Oznacza to, że za każdym razem, gdy wysyłasz zapytanie o populację Freebase do populacji, w najbliższym czasie musisz podać informacje o populacji. Widoczne są 2 wartości, liczba osób i data. W takiej sytuacji kod CVT jest bardzo przydatny. Aby utworzyć model na podstawie danych o populacji, musisz utworzyć temat, nadać mu nazwę np. „Populacja Vancouver w 1997 r.”, a potem podać odpowiednie informacje.

CVT można traktować jako temat, który nie wymaga podawania wyświetlanej nazwy. Podobnie jak zwykłe tematy, mają one identyfikator GUID, do którego można się odwoływać niezależnie. Klient Freebase traktuje go jednak inaczej niż tematy. W większości przypadków każda usługa CVT powinna być usługą ujemną.

MID – tematy

Mimo że temat może zostać zidentyfikowany za pomocą identyfikatorów przestrzeni nazw/kluczy, zawsze można go zidentyfikować przy użyciu identyfikatora MID, czyli identyfikatora maszyny, który składa się z /m/ i unikalnego identyfikatora w formacie Base-32. MID są przypisywane do tematów w momencie tworzenia i można nimi zarządzać w całym okresie aktywności. Odgrywają istotną rolę przy scalaniu lub udostępnianiu tematów, dzięki czemu zewnętrzne aplikacje mogą śledzić dany temat logiczny, mimo że fizyczna tożsamość Freebase (GUID) może ulec zmianie. Identyfikatory wygenerowane maszynowo różnią się od innych czytelnych dla człowieka identyfikatorów Freebase (zwracanych przez właściwość „id”), ponieważ:

  • Gwarantowane istnienie
  • Wygenerowane maszynowo
  • Stworzona z myślą o porównywaniu offline
  • Nie służy do przekazywania sensu ludziom
  • Krótka (prawdopodobnie stała długość)
  • To idealne rozwiązanie do szybkiej wymiany kluczy między systemami zewnętrznymi i komponentami (zewnętrznymi, giełdowymi).

MID to zalecany identyfikator, którego można używać do rozwiązywania problemów w Freebase

Przestrzenie nazw, klucze i identyfikatory tematów

Podobnie jak w przypadku katalogu plików hierarchia identyfikatorów domeny, typu i właściwości to tylko jedno zastosowanie bardziej ogólnych pojęć: przestrzenie nazw i klucze. Przestrzeń nazw jest jak katalog plików, a klucz jest jak nazwa pliku. Wszystkie nazwy plików w danym katalogu muszą być unikalne. Nazwy kluczy w obrębie przestrzeni nazw muszą być też unikalne.

Bardziej szczegółowo: /business to przestrzeń nazw odpowiadająca domenie Business. Typy związane z firmą otrzymują w tej usłudze klucze (np. company), które są unikalne. Identyfikator każdego typu jest tworzony przez dołączenie klucza do identyfikatora przestrzeni nazw (np. /business/company).

Istnieje kilka rodzajów przestrzeni nazw odpowiadających przestrzeniom nazw, które odpowiadają domenom i typom. Najczęstsze i często spotykane są przestrzeń nazw /en. Jest to polska przestrzeń nazw, w której do najbardziej znanych tematów można przypisać niepowtarzalne klucze do tworzenia zrozumiałego dla człowieka identyfikatorów w języku angielskim. Na przykład Bob Dylan jest tak znany, że jego temat w Freebase ma klucz bob_dylan w przestrzeni nazw /en, 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 miejsc zakwaterowania

Ostatnia koncepcja podstawowa do omówienia wiąże się z istotną różnicą między usługami Freebase i ich analogią do relacyjnych baz danych, czyli kolumnami tabel relacyjnych. W każdym wierszu kolumna tabeli relacyjnej może zawierać tylko jedną wartość. Weźmy na przykład typową tabelę relacyjną książki, z kolumną o nazwie „autor”. W każdym wierszu tabeli „author” kolumna „author” może zawierać tylko 1 klucz obcy. Jeśli książka ma kilku autorów, ten prosty, relacyjny schemat nie działa i musielibyśmy utworzyć nową tabelę do modelowania informacji o autorach. Oznacza to, że do przechowywania relacji n-do-n między książkami a autorami potrzebna byłaby tabela „książka”, jedna tabela „autor” i jedna tabela „autorstwo”. A sposób, w jaki pobierasz dane, zmienia się całkowicie po przejściu z jednego projektu schematu na drugi.

W przeciwieństwie do konwencjonalnych technologii baz danych Freebase uważa, że usługi o wielu wartościach są tak pożądane przy modelowaniu rzeczywistych danych, że domyślnie obsługuje właściwości wielowartościowe. Oznacza to, że podczas tworzenia właściwości /book/written_work/author założono, że zezwala na to wielu autorów na książkę. W ten sam sposób możesz wysyłać zapytania o usługę z kilkoma wartościami i o pojedynczej wartości. Nie musisz się zastanawiać, czy trzeba połączyć się z trzecią tabelą, która modeluje relację n–do n.

Podsumowanie

  • Typ to koncepcyjny kontener podobnych właściwości, który jest zwykle wymagany do opisania określonego aspektu tematu.
  • Do tematu można przypisać jeden lub więcej typów (domyślny typ to /common/topic)
  • Usługi są grupowane według typów, a rodzaje domen.
  • Domeny, typy i właściwości mają identyfikatory w hierarchii przestrzeni nazw i klucza.
  • Do popularnych tematów należą identyfikatory w przestrzeni nazw /en, które są zrozumiałe dla człowieka w języku angielskim.
  • Tematy są jednoznacznie identyfikowane w ramach Freebase przez identyfikatory GUID.
  • Usługi są domyślnie z kilkoma wartościami, a usługi wielowartościowe i pojedyncze wartości mogą być wywoływane w ten sam sposób.