Concetti di base

Se non hai mai utilizzato Freebase, questa sezione illustra la terminologia e i concetti di base necessari per capire come funziona Freebase.

  1. Grafici
  2. Argomenti
  3. Tipi e proprietà
  4. Domini e ID
  5. Tipi di valori composti
  6. ID argomenti
  7. Spazi dei nomi, chiavi e ID argomento
  8. Scopri di più sulle proprietà
  9. Riepilogo

Grafici

I dati di Freebase vengono memorizzati in una struttura di dati chiamata grafo. Un grafico è composto da nodi collegati da bordi. In Freebase, i nodi sono definiti utilizzando /type/object e gli archi sono definiti utilizzando /type/link. Memorizzando i dati come un grafico, Freebase può attraversare rapidamente connessioni arbitrarie tra argomenti e aggiungere facilmente un nuovo schema senza dover modificare la struttura dei dati.

Argomenti

Freebase ha oltre 39 milioni di argomenti su entità del mondo reale come persone, luoghi e cose. Poiché i dati di Freebase sono rappresentati da un grafico, questi argomenti corrispondono ai nodi del grafico. Tuttavia, non tutti i nodi sono argomenti. Consulta la sezione relativa ai CVT come esempio di nodi che non sono argomenti.

Esempi di tipi di argomenti trovati in Freebase:

Alcuni argomenti sono degni di nota perché contengono molti dati (ad es. Wal-Mart) e alcuni sono degni di nota perché rimandano a molti altri argomenti, potenzialmente in diversi domini di informazioni. Ad esempio, argomenti astratti come amore, povertà, cavalleria e così via non hanno molte proprietà associate, ma compaiono spesso come argomenti di libri, poesie, film e così via, il che li rende più degni di nota.

Tipi e proprietà

Un determinato argomento può essere visto da molti punti di vista diversi, ad esempio:

  • Bob Dylan è stato un cantautore, cantante, artista, autore di libri e attore cinematografico.
  • Leonardo da Vinci era un pittore, uno scultore, un anatomista, un architetto, un ingegnere…
  • L'amore è un argomento di libri, film, opere teatrali, poesie e così via.
  • Qualsiasi città è una località, potenzialmente una destinazione turistica e un datore di lavoro di dipendenti pubblici.

Per acquisire questa natura sfaccettata di molti argomenti, introduciamo il concetto di tipi in Freebase. Agli argomenti in Freebase può essere assegnato un numero qualsiasi di tipi. All'argomento Bob Dylan sono assegnati diversi tipi: autore di canzoni, compositore musicale, artista musicale (cantante), autore di libri e così via. Ogni tipo ha un diverso insieme di proprietà pertinenti. Ad esempio,

  • Il tipo di artista musicale contiene una proprietà che elenca tutti gli album prodotti da Bob Dylan e tutti gli strumenti musicali che suonava;
  • Il tipo di autore di libri contiene una proprietà che elenca tutti i libri scritti o curati da Bob Dylan, nonché la sua scuola di pensiero o movimento di scrittura.
  • Il tipo di società contiene molte proprietà per elencare i fondatori, i membri del consiglio di amministrazione, la società madre, le divisioni, i dipendenti, i prodotti, i registri di entrate e profitti anno per anno e così via.

Pertanto, un tipo può essere considerato un contenitore concettuale di proprietà più comunemente necessarie per descrivere un particolare aspetto delle informazioni. Puoi considerare un tipo come analogo a una tabella relazionale e ogni tabella "tipo" ha una chiave esterna nella tabella "identità" che definisce in modo univoco ogni argomento.

Domini e ID

Proprio come le proprietà sono raggruppate in tipi, i tipi stessi sono raggruppati in domini. Pensa ai domini come alle sezioni del tuo quotidiano preferito: Affari, Stile di vita, Arte e intrattenimento, Politica, Economia e così via. A ogni dominio viene assegnato un ID (identificatore), ad esempio:

L'ID di un dominio ha l'aspetto di un percorso file o di un percorso in un indirizzo web.

A ogni tipo viene assegnato anche un ID, che si basa sul dominio a cui appartiene. Ad esempio, il tipo Azienda appartiene al dominio Azienda e ha l'ID /business/company. Ecco altri esempi:

Proprio come un tipo eredita l'inizio del suo ID dal dominio, anche una proprietà eredita l'inizio del suo ID dal tipo a cui appartiene. Ad esempio, alla proprietà Settore del tipo Azienda (utilizzata per specificare il settore in cui opera un'azienda) viene assegnato l'ID /business/company/industry. Ecco altri esempi:

Pertanto, anche se i tipi non sono organizzati in gerarchie in Freebase, a domini, tipi e proprietà vengono assegnati ID disposti concettualmente in una gerarchia simile a una directory di file.

Tipi di valori composti

Un tipo di valore composto è un tipo all'interno di Freebase utilizzato per rappresentare i dati in cui ogni voce è costituita da più campi. I tipi di valori composti, o CVT, vengono utilizzati in Freebase per rappresentare dati complessi. All'inizio potrebbe sembrare un po' complicato, ma le CVT sono una parte molto importante dello schema Freebase e consentono di modellare in modo più accurato le relazioni complesse tra gli argomenti.

Considera il seguente esempio: la popolazione di una città è un dato che cambia nel tempo. Ciò significa che ogni volta che esegui una query su Freebase per la popolazione, stai almeno chiedendo implicitamente una popolazione in una determinata data. Sono coinvolti due valori: il numero di persone e la data. Ecco una situazione in cui una CVT diventa estremamente utile. Senza, per modellare i dati sulla popolazione, dovresti creare un argomento e chiamarlo, ad esempio, "Popolazione di Vancouver nel 1997" e inviare le informazioni lì.

Una CVT può essere considerata un argomento che non richiede la creazione di un nome visualizzato. Come gli argomenti normali, i CVT hanno un GUID a cui è possibile fare riferimento in modo indipendente. Tuttavia, il client Freebase li tratta in modo molto diverso rispetto agli argomenti. Nella maggior parte dei casi, ogni proprietà del CVT deve essere una proprietà di disambiguazione.

MID degli argomenti

Anche se un argomento potrebbe essere identificabile o meno tramite ID spazio dei nomi/chiave, può sempre essere identificato con un MID, ovvero un identificatore macchina composto da /m/ seguito da un identificatore univoco in base 32. Gli ID macchina vengono assegnati agli argomenti al momento della creazione e vengono gestiti per tutta la durata dell'argomento. Svolgono un ruolo fondamentale quando gli argomenti vengono uniti o suddivisi, consentendo alle applicazioni esterne di monitorare l'argomento logico anche se l'identità fisica di Freebase (il GUID dell'argomento) potrebbe cambiare. Gli ID generati automaticamente differiscono dagli altri ID Freebase leggibili (restituiti dalla proprietà "id") in quanto:

  • Esistenza garantita
  • Generato automaticamente
  • Progettato per supportare il confronto offline
  • Non progettato per trasmettere un significato agli esseri umani
  • Breve (possibilmente a lunghezza fissa)
  • Ideale per lo scambio rapido di chiavi tra sistemi e componenti esterni (esterno, scambio)

Gli ID macchina sono l'identificatore consigliato da utilizzare per affrontare gli argomenti in Freebase

Spazi dei nomi, chiavi e ID argomento

La gerarchia simile a una directory di file di ID dominio, tipo e proprietà è solo un'applicazione di un concetto più generale: spazi dei nomi e chiavi. Uno spazio dei nomi è come una directory di file e una chiave è come un nome file. Proprio come tutti i nomi dei file all'interno di una determinata directory di file devono essere univoci tra loro, anche tutte le chiavi all'interno di un determinato spazio dei nomi devono essere univoche tra loro.

Come esempio più specifico, /business è lo spazio dei nomi corrispondente al dominio Business. Al suo interno, ai tipi correlati all'attività vengono assegnate chiavi (ad es. company) che sono unici tra loro. L'ID di ogni tipo è formato aggiungendo la relativa chiave all'ID dello spazio dei nomi (ad es. /business/company).

Esistono diversi tipi di spazi dei nomi oltre a quelli che corrispondono a domini e tipi. Il più importante e frequente è lo spazio dei nomi /en. Questo è lo spazio dei nomi in inglese in cui alla maggior parte degli argomenti più noti possono essere assegnate chiavi univoche per formare ID in inglese leggibili. Ad esempio, il prolifico Bob Dylan è così famoso che il suo argomento in Freebase ha la chiave bob_dylan nello spazio dei nomi /en, quindi l'ID dell'argomento è /en/bob_dylan. Questo ID ti consente di accedere al suo argomento nel client web con il semplice URL

Ulteriori informazioni sulle proprietà

L'ultimo concetto di base da discutere riguarda una differenza importante tra le proprietà Freebase e la loro analogia nelle tecnologie di database relazionali, ovvero le colonne delle tabelle relazionali. Per ogni riga, una colonna della tabella correlata può contenere un solo valore. Ad esempio, considera una tipica tabella relazionale "book" con una colonna denominata "author". Per ogni riga della tabella "book", la colonna "author" può contenere una sola chiave esterna a una tabella "author". Se un libro ha più autori, questo semplice schema relazionale non funziona e dovremmo creare una nuova tabella per modellare le attribuzioni. ovvero una tabella "libro", una tabella "autore" e una tabella "attribuzione" per archiviare le relazioni n-a-n tra libri e autori. Inoltre, il modo in cui recuperi i dati cambia radicalmente quando passi da una progettazione dello schema all'altra.

A differenza delle tecnologie di database convenzionali, Freebase considera le proprietà con più valori così desiderabili nella modellazione dei dati reali che le supporta per impostazione predefinita. Ciò significa che, quando è stata creata la proprietà /book/written_work/author, si è presupposto che consentisse più autori per libro e che tu possa eseguire query per una proprietà multivalore e per una proprietà a valore singolo esattamente nello stesso modo. Non è necessario pensare se devi unire una terza tabella che modella la relazione n-a-n.

Riepilogo

  • Un tipo è un contenitore concettuale di proprietà correlate comunemente necessarie per descrivere un determinato aspetto di un argomento.
  • A un argomento possono essere assegnati uno o più tipi (il tipo predefinito è /common/topic).
  • Man mano che le proprietà vengono raggruppate in tipi, i tipi vengono raggruppati in domini.
  • A domini, tipi e proprietà vengono assegnati ID in una gerarchia di spazi dei nomi/chiavi.
  • Agli argomenti comuni e noti vengono assegnati ID nello spazio dei nomi /en, che sono stringhe in inglese leggibili.
  • Gli argomenti sono identificati in modo univoco all'interno di Freebase dai GUID.
  • Le proprietà sono multivalore per impostazione predefinita e le proprietà multivalore e a valore singolo possono essere interrogate nello stesso modo.