Альтернатива LinqToRDF, библиотека для переноса данных Linq в RDF? - PullRequest
4 голосов
/ 29 июня 2010

LinqToRDF (http://code.google.com/p/linqtordf/) - это хорошо известная библиотека для переноса данных Linq в RDF. Но она неактивна почти два года.

Поэтому я ищу альтернативу. Мои основные требованияпредоставляет базовую функцию Linq с общими источниками данных RDF. Также приветствуется коммерческая библиотека.

Любые предложения приветствуются.

Ин

1 Ответ

3 голосов
/ 29 июня 2010

Вы можете попробовать мою библиотеку dotNetRDF , которая спроектирована так, что многие вещи могут быть доступны в стиле Linq, т. Е. Широко и широко используется IEnumerable<T> в качестве возвращаемого типа во всей библиотеке.

Но у него нет полностью API в стиле Linq, такого как LinqToRdf, и я имею в виду, что у него нет методов, которые были у LinqToRdf, которые позволили бы вам написать что-то вроде следующего, и чтобы библиотека перевела его на SPARQL. или другой подходящий язык запросов под капотом:

MusicDataContext ctx = new MusicDataContext(@"http://localhost/linqtordf/SparqlQuery.aspx");
var q = (from t in ctx.Tracks
         where t.Year == "2006" &&
               t.GenreName == "History 5 | Fall 2006 | UC Berkeley"
         orderby t.FileLocation
         select new {t.Title, t.FileLocation}).Skip(10).Take(5);

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

В конце концов я намерен портировать LinqToRdf на использование dotNetRDF в качестве базовой библиотеки для доступа к RDF, но в данный момент это довольно низкий список приоритетов, так как я работаю над основным выпуском базовой библиотеки, который добавляет много новая функциональность, связанная с SPARQL 1.1

С точки зрения коммерческих возможностей взгляните на Intellidimension Semantics Framework , которая является коммерческой библиотекой, хотя есть бесплатная экспресс-версия - я не использовал библиотеку, поэтому понятия не имею, насколько она дружелюбна к Linq является. Основным недостатком бесплатной версии является очень строгая политика распространения.

...