Как я могу получить результаты моего запроса SPARQL в формате Turtle в Apache Jena с интерфейсом командной строки?

у меня есть команда

./bin/arq  --data ./bin/dbpedia_2015-10.nt  --query ./bin/166.rq 

который отлично работает, и я вижу свой результат в интерфейсе командной строки. Я хотел бы использовать jena RIOT, чтобы получить результат в файле.ttl. Но поскольку я не знаком с командной строкой и Linux, я не знаю, как это сделать. есть ли какие-либо предложения. Я не хочу использовать наборы данных dbpedia, мне просто нужны результаты моего запроса sparql.

это мой код `

select DISTINCT ?instance ?domain ?range ?subClassOf  # 
where { 
   ?instance rdf:type ?type;
             rdfs:domain ?domain;
             rdfs:range ?range;
             rdfs:subClassOf* ?subClassOf.
}

` ' но у меня возникает ошибка при изменении его на конструкцию '

construct { DISTINCT ?instance ?domain ?range ?subClassOf.}  
where { 
   ?instance rdf:type ?type;
             rdfs:domain ?domain;
             rdfs:range ?range;
             rdfs:subClassOf* ?subClassOf.
}

person Community    schedule 22.05.2017    source источник
comment
Если вы хотите, чтобы ваши результаты были в любом формате RDF, вам сначала придется использовать запрос CONSTRUCT.   -  person chrisis    schedule 22.05.2017


Ответы (2)


Он будет в синтаксисе Черепахи, если вы используете запрос CONSTRUCT или DESCRIBE.

person UninformedUser    schedule 22.05.2017
comment
это мой код ` select DISTINCT ?instance ?domain ?range ?subClassOf # где { ?instance rdf:type ?type; rdfs:домен ?домен; rdfs:диапазон ?диапазон; rdfs:subClassOf* ?subClassOf. } ` ' но у меня возникает ошибка при изменении его на конструкцию 'construct { DISTINCT ?instance ?domain ?range ?subClassOf.} where { ?instance rdf:type ?type; rdfs:домен ?домен; rdfs:диапазон ?диапазон; rdfs:subClassOf* ?subClassOf. } - person ; 22.05.2017

Как вы говорите, ваша цель - создать вывод Turtle, а Turtle - это формат сериализации RDF, который вам нужен для ПОСТРОЕНИЯ троек RDF. например

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT { ?instance rdf:type ?type;
            rdfs:domain ?domain ;
            rdfs:range ?range;
            rdfs:subClassOf ?subClassOf .
}
where { 
   ?instance rdf:type ?type;
             rdfs:domain ?domain;
             rdfs:range ?range;
             rdfs:subClassOf* ?subClassOf.
}
person chrisis    schedule 22.05.2017
comment
Хотя ответ синтаксически правильный, семантически он не имеет смысла с моей точки зрения. Я имею в виду, какова цель запроса? Свойства из-за операторов домена и диапазона? Но как насчет тройного паттерна subClassOf? Используются ли каламбуры OWL 2, т. е. свойство также используется как класс? Или должно быть больше rdfs:subPropertyOf? - person UninformedUser; 22.05.2017