Some functionalities of Rowlex
Question
I'm recently working on a semantic web application project using Rowlex. I've reached some functionality needs which I couldn't match the appropriate methods to them. I was wondering if somebody would help me.
- I'm creating a new RDF document, but at the end I don't know how to save the populated rdfdocument.
- I'm creating a new individual in an existing rdf, but I don't know how to save the rdf at last. The AddIndividual method accepts uri and type. How can I work with them?
- I want to remove an individual and don't know how.
- I want to add, remove or edit individual properties
is there any guiding document which can explain Rowlex methods?
Thank you in advance
Solution
1) Saving: You have various ways to persist your RdfDocument. You have 2 choices on the format: RDF/XML or N3. Based on your choices, you can invoke any the following methods:
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
It is important to understand: you always save the RDF document which represent your entire RDF graph. You do not save an individual!
2) Removing an individual from an 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) Adding/Removing/Editing properties
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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow