Например, как использовать запрос SPARQL для получения метки zthes: в Def1-4393574 для skos: Concept (# 4393574).Спасибо!
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:zthes="http://synaptica.net/zthes/"> <skos:Concept rdf:about="#4393574"> <skos:prefLabel>A prefLabel</skos:prefLabel> <zthes:termNote rdf:ID="Def1-4393574">Def1</zthes:termNote> </skos:Concept> <rdf:Description rdf:about="Def1-4393574"> <zthes:label> a zthes label</zthes:label> </rdf:Description> </rdf:RDF>
ОБНОВЛЕНО: Вот версия черепахи, преобразованная в http://www.easyrdf.org/converter
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix ns0: <http://synaptica.net/zthes/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . <http://example.me/#4393574> a skos:Concept ; skos:prefLabel "A prefLabel" ; ns0:termNote "Def1" . <http://example.me/#Def1-4393574> a rdf:Statement ; rdf:subject <http://example.me/#4393574> ; rdf:predicate ns0:termNote ; rdf:object "Def1" . <http://example.me/Def1-4393574> ns0:label " a zthes label" .
Проблема в том, что ваши данные на самом деле не имеют отношения между zthes: label и skos: Concept.
Основной причиной этого является незначительная синтаксическая ошибка в исходном файле RDF / XML.Эта строка:
<zthes:termNote rdf:ID="Def1-4393574">Def1</zthes:termNote>
определяет ресурс с идентификатором <http://example.me/#Def1-4393574>.Между тем эта строка:
<http://example.me/#Def1-4393574>
<rdf:Description rdf:about="Def1-4393574">
определяет другой ресурс с идентификатором <http://example.me/Def1-4393574>.Они не одного и того же ресурса (обратите внимание на отсутствующий #), поэтому два определения не связаны.Эта конкретная проблема может быть исправлена добавлением # впереди, например так:
<http://example.me/Def1-4393574>
#
<rdf:Description rdf:about="#Def1-4393574">
Это исправление приведет к следующей модели RDF (с использованием синтаксиса Turtle):
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix zthes: <http://synaptica.net/zthes/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . <http://example.me/#4393574> a skos:Concept ; skos:prefLabel "A prefLabel" ; zthes:termNote "Def1" . <http://example.me/#Def1-4393574> a rdf:Statement ; rdf:subject <http://example.me/#4393574> ; rdf:predicate ns0:termNote ; rdf:object "Def1"; zthes:label " a zthes label" .
Между прочим, это все еще очень странная модель RDF, использующая преобразование операторов, но при условии, что это именно то, с чем вы должны работать, запрос на получение метки zthes для данной концепции будет выглядеть примерно так:
PREFIX zthes: <http://synaptica.net/zthes/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?label WHERE { [] rdf:subject <http://example.me/#4393574> ; zthes:label ?label . }