Mi sto giocando con RDF, e in particolare come accedere alle informazioni memorizzate in un archivio rdf. L'enorme differenza da un database relazionale tradizionale è la mancanza di uno schema predefinito: in un database relazionale, sai che la tabella ha quelle colonne e puoi tecnicamente mappare ogni riga a un'istanza di una classe. La classe ha metodi ben definiti e attributi ben definiti.Le best practice per accedere ai dati senza schema?
In un sistema senza schema, non si conoscono i dati associati a una determinata informazione. È come avere una tabella di database con un numero arbitrario e non predefinito di colonne e ogni riga può contenere dati in un numero qualsiasi di queste colonne.
Analogamente agli ObjectRelational Mapper, esistono i programmi di mappatura degli oggetti RDF. RDFAlchemy e SuRF sono i due che sto suonando in questo momento. Fondamentalmente, ti forniscono un oggetto risorsa, i cui metodi e attributi sono forniti dinamicamente. Ha un certo senso ... tuttavia, non è così facile. In molti casi, preferisci avere un'interfaccia ben definita e avere un maggiore controllo su ciò che accade quando imposti e ottieni dati sul tuo oggetto modello. Avere un accesso così generico rende le cose difficili, in un certo senso.
Un'altra cosa (e più importante) ho notato è che, anche se ingenere, dati dello schema-less sono tenuti a fornire informazioni arbitrario su una risorsa, in pratica più o meno sapere "classi di informazioni "che tendono ad essere insieme. Naturalmente, non è possibile escludere la presenza di informazioni aggiuntive, ma questo, in alcuni casi, è l'eccezione, piuttosto che la norma, sebbene l'eccezione sia abbastanza ragionevole da risultare troppo dirompente per uno schema rigido. In una rappresentazione rdf di un articolo (ad esempio, come nei feed RSS/ATOM), conosci i termini delle risorse descritte e puoi associarli a un oggetto ben definito. Se fornisci informazioni aggiuntive, puoi definire un oggetto esteso (ereditato da quello di base) per fornire accessor alle informazioni avanzate. Quindi, in un certo senso, si gestiscono i dati senza schema per mezzo di "oggetti orientati allo schema" è possibile estendere quando si desidera visualizzare le informazioni aggiuntive specifiche di cui si è interessati al numero.
La mia domanda è relativa alla tua esperienza sulle pratiche di utilizzo del mondo reale dell'archiviazione dei dati senza schema. In che modo si mappano al mondo orientato agli oggetti in modo tale da poterlo usare con competenza e senza avvicinarsi troppo al "bare metal" dello storage senza schema? (in termini RelDB, senza usare troppo SQL e incasinando direttamente la struttura della tabella)
L'accesso è destinato ad essere molto generico (ad es. SuRF "attributi plug-in" è il livello più alto e più specializzato che si possa avere accedere ai dati) o avere classi specializzate per specifici schemi concordati è anche un buon approccio, introducendo tuttavia il rischio di avere una proliferazione di classi per accedere a dati associati nuovi e inattesi?
Questa è una domanda ENORME – rossipedia
Per lunghezza o complessità? : P –