2016-02-18 3 views
0

Пытается запросить наиболее употребительную концепцию SKOS в файле RDF/XML.SPARQL запрос для skos: родственная область?

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

<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.

+3

Я не думаю, что это действительно поможет вам понять SPARQL, если вы просто спросите «пожалуйста, напишите мне этот запрос». Попробуйте прочитать один из многих доступных учебных пособий SPARQL, они научат вас основам языка, после чего вы сможете легко понять это. Или просто взгляните на некоторые из вопросов здесь, на SO, есть много хороших примеров. –

ответ

2

Как предлагает Джин, более подробная информация о 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 может быть использована для запроса его.