0

我有一个命令

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

2 回答 2

1

CONSTRUCT一旦使用orDESCRIBE查询,它将采用 Turtle 语法。

于 2017-05-22T10:32:24.760 回答
1

正如您所说,您的目标是产生 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.
}
于 2017-05-22T14:28:13.100 回答