Запрос SPARQL для skos: связанное поле?

Попытка запросить наиболее часто упоминаемую концепцию SKOS в файле RDF/XML.

Итак, если концепт выглядит так в файле:

<rdf:Description   rdf:about="http://foo.bar.biz/Processes/151">
    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <skos:prefLabel xml:lang="en">Part</skos:prefLabel>
    <skos:related rdf:resource="http://foo.bar.biz/Processes/150"/>
</rdf:Description>

Как создать запрос SPARQL, нацеленный на тег skos:related? Я сейчас изучаю RDFlib в Python, который совместим со SPARQL. Похоже, что запрос был бы более подходящим, чем анализ всего файла - я полагаю, просто недостаточно знаком с синтаксисом SPARQL.


person ramenhood    schedule 18.02.2016    source источник
comment
Я не думаю, что это действительно поможет вашему пониманию SPARQL, если вы просто спросите, пожалуйста, напишите этот запрос для меня. Попробуйте прочитать один из многих доступных руководств по SPARQL, они научат вас основам языка, после чего вы сможете довольно легко во всем разобраться. Или просто взгляните на некоторые вопросы здесь, на SO, есть много хороших примеров.   -  person Jeen Broekstra    schedule 18.02.2016


Ответы (1)


Как предполагает Джин, полезно узнать больше о SPARQL. В качестве начальной ссылки это довольно просто:

SELECT ?related
WHERE {
    ?s skos:related ?related
}

Более полезным предложением может быть просмотр данных в любой текстовой сериализации RDF, отличной от RDF/XML, поскольку людям сложно разобрать триплеты и, следовательно, понять, как их запрашивать. Например, эквивалентный фрагмент в сериализации текста Черепахи:

<http://foo.bar.biz/Processes/151> 
    rdf:type skos:Concept ;
    skos:prefLabel "Part"@en ;
    skos:related <http://foo.bar.biz/Processes/150>
.

... и вы можете обнаружить, что это более совместимо с пониманием того, как устроен RDF и как SPARQL можно использовать для запросов к нему.

person scotthenninger    schedule 18.02.2016