Я новичок в технологиях Semantic Web. Мой вопрос может быть очень простым, но я действительно зацикливаюсь на этом. У меня есть файл RDF, который я создал из XML, и проверил его с помощью w3.org RDF VALIDATOR. Мой вопрос: как я могу запускать запросы в своем RDF-документе с помощью SPARQL. Онлайновый ресурс http://demo.openlinksw.com/sparql не работает, и у меня нет идеи о том, что и как найти информацию об этом.
Где я могу проверить свои запросы для моего RDF, написанного на SPARQL
Ответ 1
Вы можете настроить собственную локальную конечную точку SPARQL, используя Fuseki. Fuseki является частью Apache Jena Project, но может быть загружен как отдельное приложение (по ссылке выше).
С Fuseki вы можете (среди прочего)
- загрузить локальный набор данных RDF
- используйте этот набор данных для
- вывести эти данные в качестве конечной точки SPARQL через
http://localhost:3030/
(по умолчанию) - используйте веб-форму запроса в
http://localhost:3030/sparql.html
- вывести эти данные в качестве конечной точки SPARQL через
Это означает, что вы можете использовать Fuseki для простого запроса вашего набора данных с помощью веб-формы или запроса вашего набора данных с помощью любого приложения, которое запрашивает конечные точки SPARQL по http.
Лично я в настоящее время разрабатываю приложение, которое анализирует наборы данных через конечные точки SPARQL. Я использую Fuseki для создания локальной конечной точки SPARQL с примерами данных, которые я могу запустить и проверить свое приложение.
Как?
Основная функциональность Fuseki довольно проста в использовании. Строка ниже запустит сервер (конечная точка SPARQL).
java -jar fuseki-server.jar --config=yourConfig.ttl
Файл yourConfig.ttl
является файлом RDF (в формате сериализации черепах). Чтобы настроить базовый сервер, который загружает ваш RDF файл в память, просто напишите (заменив хотя бы путь к вашему файлу набора данных):
# Attention: I have omitted the @prefix declarations
[] rdf:type fuseki:Server ;
fuseki:services (
<#yourService>
) .
<#yourService> rdf:type fuseki:Service ;
fuseki:name "yourService" ;
fuseki:serviceQuery "query" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#yourDataset> ;
.
<#yourDataset> rdf:type ja:RDFDataset ;
rdfs:label "a label for your dataset" ;
ja:defaultGraph
[ rdfs:label "yourDataset.rdf" ;
a ja:MemoryModel ;
ja:content [ja:externalContent <file:Path/To/yourDataset.rdf> ] ;
] ;
.
Ответ 2
Есть несколько инструментов, которые вы можете использовать для этого. Конечно, есть RDF-структуры, такие как Apache Jena или OpenRDF Sesame (Java) или dotNetRdf (.Net), чтобы назвать только три. Большинство, если не все, предлагают установку и ввод в эксплуатацию. Это мощные решения, которые вам обязательно понадобятся, если вы пойдете дальше с технологиями SW и вам нужно будет создать собственный код поверх источников данных RDF.
Но для опробования некоторых простых запросов, возможно, проще попробовать что-то вроде инструментального средства Windows Sesame (SWC). Это простое графическое настольное приложение Windows, которое вы можете использовать для создания репозитория, загрузки данных в нем и выполнения запросов SPARQL без какого-либо программирования или расширенной конфигурации (отказ от ответственности: я написал этот инструмент).