Как начать работу со Sparql в качестве разработчика .NET? - PullRequest
12 голосов
/ 05 декабря 2010

Я пытаюсь проанализировать большой RDF-файл Project Gutenberg. Другой член моей команды довольно застрял, попробовав Semweb и библиотеку python.

Будучи немного наивным в отношении rdf, я попытался написать обычный скрипт для разбора XML на Ruby. Вскоре я понял, что это слишком сложно, чтобы по-настоящему работать.

Я скачал инструмент Intellidimension и собираюсь его использовать.

Наверное, я не понимаю, как использовать SPARQL. Кажется, в Java есть парсер Jena. Есть ли что-то подобное в .NET?

Извините за очевидный вопрос .... Я просто не уверен, где писать запросы SPARQL. Есть ли библиотека, которая позволила бы мне построить запрос с использованием строк, аналогичных Data.SQlClient, а затем выполнить его на каком-нибудь процессоре Sparql?

Чем вы исполняете Sparql?

Ответы [ 4 ]

7 голосов
/ 06 декабря 2010

Еще одна опция в .Net - dotNetRDF (отказ от ответственности - я ведущий разработчик этого проекта)

Он имеет преимущество перед SemWeb, которое в настоящее время поддерживается и активно развивается, а также включает поддержку многих новых технологий семантического веба, таких как RDFa и SPARQL 1.1

.

По сравнению с Intellidimension он обладает тем преимуществом, что он абсолютно бесплатный (выберите свою собственную лицензию в GPL, LGPL или MIT в зависимости от ваших потребностей)

Re: SPARQL

И SemWeb, и dotNetRDF включают в себя парсеры и механизмы SPARQL для выполнения запросов. SemWeb основан на порте IKVM старого движка SPARQL на основе Java, который давно заменил гораздо более мощный ARQ-механизм в инфраструктуре Jena. У dotNetRDF есть движок Левиафана, который имеет четкое соотношение функций к ARQ (хотя не обязательно как производительность для некоторых типов запросов).

И ARQ (Jena), и Левиафан (dotNetRDF) поддерживают большинство появляющейся спецификации SPARQL 1.1. Если у вас есть знания SQL, вы, скорее всего, захотите использовать движок, который поддерживает это, поскольку он добавляет многие знакомые функции SQL в язык SPARQL, например, Агрегаты (COUNT, MAX и т. Д.), GROUP BY, HAVING, выражения проекта (fn: concat (? X,? Y) AS? Z) * ​​1015 *

3 голосов
/ 05 декабря 2010

Для этого нужно использовать SemWeb Library для анализа RDF-файла в памяти, а затем в базе данных. Вы также можете импортировать связанные онтологии.

Semweb имеет встроенную библиотеку SPARQL, поэтому вы можете запускать SPARQL-запросы к базе данных. Если вы не знакомы с SPARQL, вы можете использовать LINQ .

Если вы новичок в технологиях Semantic Web, я рекомендую сначала прочитать Semantic Web Primer (доступен в виде книги и файлов PowerPoint). На веб-сайте Jena также есть хорошее руководство по SPARQL

2 голосов
/ 06 декабря 2010

Еще одним вариантом является библиотека dotSesame . Это порт IKVM инфраструктуры Java RDF Сезам . Он включает в себя парсеры RDF, средства записи, механизм запросов SPARQL и анализаторы.

0 голосов
/ 09 января 2014

С RDFSharp (http://rdfsharp.codeplex.com/) вам не нужно знать SPARQL, потому что вы свободно создаете свои запросы SPARQL и применяете их к графикам и хранилищам. Все без написания одной строки запроса SPARQL.

...