Qual è la funzione degli URL come nomi "chiave" nel markup utilizzato per un'API RESTful?

2

Ho appena finito di leggere REST in Practice come la mia prima * introduzione alle API REST. Ho trovato il libro abbastanza illuminante, ma sono rimasto con una domanda fastidiosa, e Google non ha ancora chiarito. Questa domanda si avvicina, ma le risposte non rispondono alla mia domanda specifica, che è ...

Fornito un markup ipertestuale per il consumo con un'API RESTful, come questo (in JSON-LD):

{
  "http://schema.org/name": "Manu Sporny",
  "http://schema.org/url": { "@id": "http://manu.sporny.org/" },
  "http://schema.org/image": { "@id": "http://manu.sporny.org/images/manu.png" }
}

Qual è la funzione dell'URL / URI / IRI come nome "chiave"? (Ora so che JSON-LD - con @context - e altri linguaggi di markup, permettono modi per generalizzare questi IRIs come chiavi per essere più amichevoli, ma ciò non cambia la natura della domanda).

Se provo a suddividere la mia domanda in parti più piccole, mi viene in mente qualcosa di simile:

  • In particolare, cosa si prevede di vivere nel punto finale rappresentato da quell'IRI?
  • Tutta la discussione parla del disambiguazione dei nomi delle chiavi. Ma in che modo http://schema.org/name è meno ambiguo di name ?
  • Esiste un repository (teorico?) centralizzato di tipi di chiavi a cui ci si aspetta che gli sviluppatori facciano riferimento, in modo che questi nomi di chiavi puntino tutti verso una definizione più o meno comune?

Spero che questa domanda abbia abbastanza senso per essere comprensibile. Sono ancora un po 'in uno stato "Non so abbastanza per chiedere quello che non so" su questo particolare punto.

* Io, come molti, pensavo di sapere già cosa fosse REST e credevo che i miei precedenti script CGI solo POST rappresentassero le API REST ...

    
posta Flimzy 23.04.2015 - 18:31
fonte

2 risposte

3

what is expected to live at the endpoint represented by that URI?

Una risorsa di qualche tipo. In generale, è possibile identificare il tipo di risorsa esaminando il tipo mime. Spesso, è solo una pagina web.

How is http://schema.org/name less ambiguous than name?

Vive in modo specifico nel dominio http://schema.org/ e il dominio stesso è unico. In altre parole, il nome di dominio fornisce la disambiguazione.

Is there some (theoretical?) centralized repository of key types that developers are expected to reference, so that these key names all point to some more-or-less common definition?

ICANN .

    
risposta data 23.04.2015 - 19:24
fonte
0

What is the function of the URL/URI/IRI as a "key" name?

La risposta può essere trovata in RFC 5988 (Capitolo 5.3. Tipo di relazione) :

Note that extension relation types are REQUIRED to be absolute URIs...

In parole povere, le "chiavi" a cui ti riferisci sono chiamate "relazioni" e per essere identificate in modo univoco, puoi utilizzare qualsiasi standardizzati (come autore, autore, foglio di stile, ecc.) oppure puoi introdurne di personalizzati, nel qual caso devi spazio dei nomi ( prefisso) in modo tale che nessun altro crei la stessa relazione con nome che significa qualcos'altro. Questo viene fatto usando un nome di relazione in una forma di un URI assoluto, come menzionato in quel documento RFC.

    
risposta data 19.05.2015 - 22:24
fonte

Leggi altre domande sui tag