Для того чтобы сериализовать результаты выполнения запроса к RDF хранилищу в нужный нам формат в пространстве имен SemWeb.Query библиотеки SemWeb предусмотрен абстрактный класс QueryResultSync, а так же реализованы несколько его наследников:
- SparqlXmlQuerySynk, возвращающий результат запроса в виде XML документа содержащего исходный запрос и результат.
- HTMLQuerySink, - возвращает результат в виде таблицы HTML
- CSVQuerySynk - как нетрудно догадаться возвращает результат в строку разделенную запятыми
- QueryResultBuffer - класс который сохраняет результаты в три коллекции Variables, Bindings, и Coments
В случае если функциональности перечисленных классов нехватает для того чтобы возвратить результаты в необходимой нам форме, можно написать свою реализацию класса QueryResultSyn.
public abstract class QueryResultSink
{
public virtual void Init(Variable[] variables){}
public abstract bool Add(VariableBindings result);
public virtual void Finished() {}
public virtual void AddComments(string comments) {}
}
Примеры реализации лучше всего смотреть в коде самой библиотеки.
Комментариев нет :
Отправить комментарий