Alcune funzionalità di Rowlex
Domanda
Sono di recente a lavorare su un progetto di applicazione web semantico utilizzando Rowlex. Ho raggiunto alcune esigenze di funzionalità che non ho potuto abbinare i metodi appropriati per loro. Mi chiedevo se qualcuno mi avrebbe aiutato.
- Sto creando un nuovo documento RDF, ma alla fine non so come salvare il rdfdocument popolata.
- Sto creando un nuovo individuo in un rdf esistente, ma non so come salvare l'RDF, finalmente. Il metodo AddIndividual accetta uri e tipo. Come posso lavorare con loro?
- Voglio rimuovere un individuo e non so come.
- Voglio aggiungere, rimuovere o modificare le singole proprietà
v'è alcun documento guida che può spiegare i metodi Rowlex?
Grazie in anticipo
Soluzione
1) risparmio: Avete vari modi per persistere tuo RdfDocument. Hai 2 scelte sul formato: RDF / XML o N3. In base alle vostre scelte, è possibile richiamare qualsiasi dei seguenti metodi:
RdfDocument rdfDoc = new RdfDocument();
// Populate the document with new individual
// ...
// Alternatives to save the document
XmlDocument xml = rdfDoc.ExportToRdfXml();
xml.Save("C:\\myRdfDoc.rdf");
// or
rdfDoc.ExportToRdfXml("C:\\myRdfDoc.rdf");
// or
rdfDoc.ExportToN3("C:\\myRdfDoc.rdf");
// or
string n3 = rdfDoc.ToN3();
string rdfXml = rdfDoc.ToRdfXml();
// and save the strings into a text file yourself
E 'importante capire: si salva sempre il documento RDF che rappresentano l'intero grafo RDF. Non si salva un individuo!
2) Rimozione di un individuo da un RdfDocument:
RdfDocument rdfDoc = new RdfDocument();
// Let us assume that you have an ROWLEX generated class called "Car"
// Let us create a Car individual first, then remove it.
Car car = new Car("ABC-123", rdfDoc); // added
rdfDoc.RemoveIndividual(car); // removed
3) le proprietà Aggiunta / rimozione / Modifica
Car car = new Car("ABC-123", rdfDoc);
// We inject a new triple into the document by this
car.LastMaintenance = new DateTime(2008,04,18);
// Editing the property:
car.LastMaintenance = new DateTime(2009,05,11);
// For removing, you need to use the full-version of
// the generated class instead of the light-version:
Car_ sameCar = rdfDocument.GetIndividual(car.ID, Car.Uri, false) as Car_;
sameCar.RemoveLastMainenance(sameCar.LastMaintenance);