Open ioggstream opened 3 years ago
@giorgialodi come mai in alcuni jsonld c'è direttamente il grafo, eg Ontologie/Project/latest/Project-AP_IT.jsonld
-[
- {
- "@id": "_:genid1",
- "@type": [
- "http://www.w3.org/2000/01/rdf-schema#Datatype"
- ],
- "http://www.w3.org/2002/07/owl#oneOf": [
- {
ed in altre c'è anche il contesto?
{
"@context": ...,
"@graph": [...]
}
Possiamo standardizzare serializzando tutto con @context e @graph ?
I json-ld di tutte le ontologie e i vocabolari controllati sono sempre stati generati attraverso convertitori automatici o usando il formato json-ld di editor come protégé, partendo dal turtle. I diversi modi quindi dipendono quasi sempre da questi strumenti.
Mi confermi che sono equivalenti? Nel caso rigeneriamo usando - quando possibile - algoritmi di canonicalizzazione, eg. https://www.w3.org/TR/xml-exc-c14n/
Equivalenti tra loro dici quei due che citavi sopra? Se sì, dovremmo verificarlo con dei validatori json-ld, ma se i json-ld sono generati da convertitori disponibili allo stato dell'arte, qual è precisamente il problema? Altro punto è io personalmente preferisco la struttura context e graph perché più chiara.
Tra l'altro @ioggstream, rileggendo questo:
_ogni modifica di questo tipo, aumenta la versione dell'ontologia, quindi si crea una nuova versione dove RDF e JSONLD sono generati__
Direi proprio di no perché la versione nuova dell'ontologia dipende solo dal suo contenuto non dalla serializzazione. Quindi se aggiungo elementi all'ontologia allora si crea nuova versione, se devo correggere typos, non c'è nuova versione, se devo produrre altre serializzazioni, la versione non c'entra
la versione nuova dell'ontologia dipende solo dal suo contenuto non dalla serializzazione se devo correggere typos, non c'è nuova versione
Ok, questo lo aggiungiamo alle policy!
In #113 i file rdf e jsonld sono ora validi e generati a partire dal turtle. Nessuna modifica all'ontologia, quindi la versione resta la stessa.
Nota: esistono diversi modi equivalenti di serializzare i file RDF, ma le applicazioni di rendering non li supportano tutti. In particolare LODE usa xslt per processare/visualizzare i dati, e non riesce quindi a processare correttamente le entry nidificate. Vedi https://github.com/essepuntato/LODE/issues/36
Per la serializzazione su Ontopia via rdflib va usato il parametro max_depth=1
col serializzatore pretty-xml
.
from rdflib import Graph
g = Graph()
g.parse("file.ttl")
g.serialize(format="pretty-xml", max_depth=1, destination="file.rdf")
I parametri da passare per i json-ld sono
{
"format": MIME_JSONLD,
"auto_compact": True,
"context_data": True
}
Mi aspetto
Note