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

Я надеюсь, что это поможет вам.

Другие вопросы по тегам