Некоторые функциональные возможности Rowlex - PullRequest
0 голосов
/ 09 июня 2009

Я недавно работаю над проектом семантического веб-приложения с использованием Rowlex. Я достиг некоторых функциональных потребностей, которые я не смог сопоставить с соответствующими методами. Мне было интересно, поможет ли кто-нибудь мне.

  • Я создаю новый документ RDF, но в конце не знаю, как сохранить заполненный rdfdocument.
  • Я создаю нового человека в существующем rdf, но я не знаю, как сохранить rdf наконец. Метод AddIndividual принимает URI и тип. Как с ними работать?
  • Я хочу удалить человека и не знаю как.
  • Я хочу добавить, удалить или изменить отдельные свойства

существует ли какой-либо руководящий документ, который может объяснить методы Rowlex?

Заранее спасибо

1 Ответ

2 голосов
/ 09 июня 2009

1) Экономия: У вас есть несколько способов сохранить ваш RdfDocument. У вас есть 2 варианта формата: RDF / XML или N3. В зависимости от вашего выбора вы можете использовать любой из следующих методов:

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

Важно понимать: вы всегда сохраняете документ RDF, представляющий весь ваш график RDF. Вы не спасаете человека!

2) Удаление человека из 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) Добавление / удаление / редактирование свойств

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);
...