如何在Apache Jena中使用命令行界面将我的SPARQL查询结果以Turtle格式生成?

时间:2017-05-22 09:29:23

标签: sparql apache-jena turtle-rdf

我有一个命令

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

工作得很完美,我可以在命令行界面看到我的结果。我想使用jena RIOT将我的结果放在file.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.
}

2 个答案:

答案 0 :(得分:1)

使用CONSTRUCTDESCRIBE查询后,它将采用Turtle语法。

答案 1 :(得分:1)

正如您所说,您的目标是生成Turtle输出,而Turtle是RDF序列化格式,您需要构建RDF三元组。 e.g。

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