- 无条件查询
SELECT ?s ?p ?o FROM <book> WHERE { ?s ?p ?o }
- 通过三元组的第一个值查询完整信息
查询s=<file:///D:/d2rq/d2rq-0.8.1/book.nt#book/162101>的所有三元组信息 PREFIX id: <file:///D:/d2rq/d2rq-0.8.1/book.nt#book/> SELECT ?p ?o FROM <book> WHERE { id:162101 ?p ?o }
- 前缀查询
查询o=<http://www.test.com#bookDynasty>的不重复的值 PREFIX : <http://www.test.com#> SELECT DISTINCT ?o FROM <book> WHERE { ?s :bookDynasty ?o }
- 字符串匹配查询
查询bookTitle值中带有“二卷”的值 PREFIX : <http://www.test.com#> SELECT ?s ?o FROM <book> WHERE { ?s :bookTitle ?o. FILTER regex(?o, "二卷") }
- 值匹配查询
查询bookDynasty值不等于“明”的数据 同样适用于数值的大于小于等于判断 PREFIX : <http://www.test.com#> SELECT DISTINCT ?o FROM <book> WHERE { ?x :bookDynasty ?o. FILTER (?o != "明") }
- 无值匹配查询
bookTitles存在空值的情况将无值的数据一起查出来 PREFIX : <http://www.test.com#> SELECT ?bookId ?bookTitles WHERE{ ?x :bookId ?bookId. OPTIONAL { ?x :bookTitles ?bookTitles} }
- 嵌套查询
查询bookTitle带‘卷’的bookId和bookTitle PREFIX : <http://www.test.com#> SELECT ?bookId ?bookTitle FROM <book> WHERE{ ?x :bookId ?bookId. ?x :bookTitle ?bookTitle FILTER regex(?bookTitle, "卷") }
- 删除某个三元组数据
删除<aa> <bb> 'cc'这条三元组数据 DELETE FROM GRAPH <book> { <aa> <bb> 'cc' }
- 删除符合条件的三元组数据
删除bookId等于162102的三元组数据 PREFIX bookId: <file:///D:/d2rq/d2rq-0.8.1/book.nt#book/> DELETE FROM GRAPH <book> { ?s ?p ?o } WHERE { bookId:162102 ?p ?o . ?s ?p ?o }
客户端执行删除操作会报错没有权限 代码中可正常执行操作
- 插入数据
PREFIX : <http://www.test.com#> PREFIX id: <file:///D:/d2rq/d2rq-0.8.1/book.nt#book/> INSERT INTO GRAPH <book> { id:162100 :bookId "162100"; :bookTitle "测试"; :bookAuthor "作者" }
- 修改:先执行删除再插入数据
- 多图查询
PREFIX : <http://www.test.com#> SELECT ?s ?o FROM <book> FROM <books> WHERE{ GRAPH <book> {?s :bookTitle ?o. FILTER regex(?o, "卷")} GRAPH <books> {?s :bookTitle ?o. FILTER regex(?o, "卷")} }
- union连接
返回满足UNION前后条件的值 查询bookTitle匹配的bookDynasty和bookAuthor PREFIX : <http://www.test.com#> SELECT ?o ?d FROM <book> WHERE{ ?s :bookTitle ?o. { {?s :bookDynasty ?d} UNION {?s :bookAuthor ?d} } }
- 排序
ORDER BY ?bookTitle ASC(?id)
- 清空图
CLEAR GRAPH <book>
- 读取rdf文件到virtuoso
VirtModel virtModel = VirtModel.openDatabaseModel("graphName", "url", "user", "password"); String file = "book.xml"; InputStream in = FileManager.get().open(file); // .xml-"RDF/XML" .nt-"N-TRIPLE" virtModel.read(new InputStreamReader(in, "UTF-8"), null, "RDF/XML"); virtModel.close();
SPARQL查询语句
最新推荐文章于 2022-10-26 23:46:09 发布