tags:

views:

64

answers:

1

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

+1  A: 

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);
ROWLEX Admin
Thank you very much sir, for your great help.
Ehsan