我使用OpenLink Virtuoso使用this tutorial将关系数据库转换为RDF。
我有一个包含5个表格的数据库(Authors
,Keywords
,Publications
,References
,Rights
),我使用Virtuoso数据库导入它们.csv
个文件。
在从RDB到Linked-Data图表的“转换”结束时,它显示了操作的状态,结果没问题,并给了我以下链接:
http://localhost:8890/schemas/CSV/qm-authors_csv
http://localhost:8890/schemas/CSV/qm-keywords_csv
http://localhost:8890/schemas/CSV/qm-publications_csv
http://localhost:8890/schemas/CSV/qm-references_csv
http://localhost:8890/schemas/CSV/qm-rights_csv
http://localhost:8890/schemas/CSV/qm-VoidStatistics
Transient Views: http://localhost:8890/CSV#
http://localhost:8890/CSV/authors_csv/ID/1#this
http://localhost:8890/CSV/authors_csv/ID/1#this
http://localhost:8890/CSV/keywords_csv/ID/1#this
http://localhost:8890/CSV/publications_csv/ID/1#this
http://localhost:8890/CSV/publications_csv/ID/1#this
http://localhost:8890/CSV/objects/publications_csv/ID/1/DisplayOnMLKD.bin
http://localhost:8890/CSV/references_csv/ID/1#this
http://localhost:8890/CSV/references_csv/ID/1#this
http://localhost:8890/CSV/rights_csv/ID/1#this
http://localhost:8890/CSV/rights_csv/ID/1#this
Metadata Data Document (VoiD) URI/URL: http://localhost:8890/CSV/stat#
Linked Data Ontology URI: http://localhost:8890/schemas/CSV/
我尝试使用以下SPARQL查询来查看所有结果以进行检查:
SELECT *
FROM <http://localhost:8890/CSV>
WHERE {?s ?o ?p}
但我需要的是分别检查每个图表。
根据以上结果,我如何访问使用SPARQL创建的每个图表(对于表Authors
,Publications
,References
等)?
我应该写什么查询来删除图表?
答案 0 :(得分:3)
我建议您至少粗略地浏览SPARQL 1.1 Query Language和SPARQL 1.1 Update。您不需要记住它们的每个方面,但浏览目录会让您了解语言中的内容,并且您将了解将来的位置。 (在我看来,对于您可能学习或使用的任何工具包,语言等,这是一个很好的建议。)
查看13.3 Querying the Dataset及其子部分,您可以在其中找到有关如何查询不同图表的示例。简而言之,您使用类似
的模式select ... where {
...
graph ?g { ... }
...
}
默认情况下,?g
将覆盖数据集中的所有图表。如果您在查询中使用了一些from named
部分,那么您可以限制它的范围。您也可以直接指定图形IRI,如
graph <http://example.org/graph-to-check> { ... }
当然,规范中有更多的例子。
SELECT * FROM <http://localhost:8890/CSV> WHERE {?s ?o ?p}
但我需要的是分别检查每个图形。
您可以使用
之类的查询select * where { graph ?g { ?s ?p ?o } }
获取每个三元组及其出现的图形。注意(如RobV did in an answer to one of your earlier questions),我已经更改了变量名称,因为三元组是(主语,谓语,对象),所以?s ?p ?o
比?s ?o ?p
更具记忆意义。
3.2 Graph Management部分描述了可用于操作图形的五个操作(强调添加):
给定的语法是
DROP ( SILENT )? (GRAPH IRIref | DEFAULT | NAMED | ALL )
所以你只需要做,例如,
drop graph <http://example.org/graph-to-delete>