2014-12-31 10 views

risposta

7

C'è una gemma JSON-LD (http://rubygems.org/gems/json-ld), ma potrebbe non essere specificamente quello che stai cercando. Si noti che il punto di JSON-LD è che è solo JSON, in questo caso si utilizza il contesto schema.org per interpretare i valori. Supponendo che i tuoi dati siano in modelli ActiveRecord, avrai bisogno di un modo per assicurarti che le proprietà dei record corrispondano alle proprietà schema.org appropriate. In questo caso, la serializzazione del modello su JSON (#to_json) ti porta quasi sempre a destinazione. Ciò che rimane è aggiungere i campi @context, @id e @type al JSON.

Per esempio, supponiamo di avere un modello di utente che serializzato a qualcosa di simile al seguente:

{ 
    "name": "Harry", 
    "email": "[email protected]" 
} 

come sia "nome" e le proprietà "Email" della http://schema.org/Person, si potrebbe ottenere parzialmente non con la semplice aggiunta di un @context e @type come segue:

{ 
    "@context": "http://schema.org/", 
    "@type": "Person", 
    "name": "Harry", 
    "email": "[email protected]" 
} 

Presumendo che si sta costruendo un'applicazione RESTful, è buona norma dare ad ogni oggetto un @id, che corrisponde all'URL risorsa per questa persona. Questo potrebbe essere simile al seguente:

{ 
    "@context": "http://schema.org/", 
    "@id": "http://example.com/people/harry", 
    "@type": "Person", 
    "name": "Harry", 
    "email": "[email protected]" 
} 

Ora, se si recuperano http://example.com/people/harry come JSON (o JSON-LD), si potrebbe ottenere indietro quella rappresentazione.

L'altra cosa di JSON-LD è che è per "Linked Data", quindi includere riferimenti ad altre risorse è utile per consentirne il reperimento, proprio come probabilmente si fa nel codice HTML. La documentazione di schema.org include numerosi esempi su come generare diversi tipi di markup, incluso JSON-LD, per la maggior parte di tutti i tipi che definiscono. Vedere http://schema.org/Person per un esempio o http://schema.org/docs/full.html per la loro gerarchia di tipi completa.

La gemma JSON-LD è utile quando si desidera generare questi dati da altre fonti (in genere alcuni formati RDF) o interpretare i dati ricevuti. Puoi provare con questo a http://json-ld.org/playground.

Puoi anche includere il tuo JSON-LD in HTML usando un tag script con type = "application/ld + json" come fa il tuo esempio. Se vuoi vedere come appaiono i tuoi dati, puoi testarli sullo strumento di test dei dati strutturati di Google o su http://linter.structured-data.org/

+0

Sto creando un'app di blogging e sarebbe bello usare json-ld per i metadati. Puoi fornire indicazioni su come dovrei implementarlo. Posso usare partial e quindi incorporare questo json partial in html o c'è qualche approccio diverso che dovrei usare. Grazie! – StarWars

+0

Uso il modello partial e jbuilder. Risolto. Grazie! – StarWars

+0

> Uso il modello partial e jbuilder. Ti piace come? – marvindanig

Problemi correlati