SemWeb - конвертировать объект C# в тройки RDF
Все, что я хочу - это преобразовать экземпляр класса C# в тройки rdf, используя semweb, чтобы заполнить мою онтологию данными. Мой класс состоит из примитивных свойств и других классов, и я построил онтологию с той же структурой. например
class Place{
string name;
Image pic;
}
Есть ли какой-нибудь ресурс, который мог бы помочь?
Заранее спасибо!
3 ответа
Ответ заключается в использовании отражения C# для исследования свойств и классов экземпляра, который вы хотите преобразовать, и использования:
store.Add( new Statement( subject, predicate, object )
для того, чтобы написать нужные вам тройки, что очень хорошо задокументировано в документации SemWeb
Вы понимаете, что SemWeb заброшен и не получал новую версию почти 3 года, верно? Если вы действительно хотите использовать SemWeb, взгляните на LinqToRdf, который является еще более adandonware (последний выпуск 4 с половиной года назад), но предоставляет слой стиля ORM для преобразования классов C# в RDF и из него с использованием аннотаций на основе атрибутов.
Для некоторых более свежих и активно поддерживаемых альтернатив см. BrightStarDB или RomanticWeb, BrightstarDB является более зрелым решением в этой области.
Если вы предпочитаете использовать собственное решение, вы можете взглянуть на dotNetRDF (заявление об отказе - я разрабатываю это), которая является библиотекой, используемой в качестве основы для BrightStarDB и RomanticWeb.
Когда я работал с данными rdf, я создал 3 узла URI
n1, n2, n3. Затем, Triple t = new Triple(n1, n2, n3);
IGraph g = new Graph();
g.Assert(t);
store.Add(g);
Я надеюсь, что это поможет вам.