您可以做的一件事是找出三元组的来源是使用 a GRAPH
,如
SELECT DISTINCT * WHERE {
GRAPH ?g { <http://dbpedia.org/ontology/Person> ?x ?y }
}
LIMIT 20
哪个,使用 Virtuoso 客户端,找到与没有它们的查询相同的三元组,但会显示哪些图三元组是从中获得的,例如,
http://dbpedia.org rdf:type owl:Class
http://dbpedia.org/resource/classes# rdf:type owl:Class
现在,我想这http://dbpedia.com
是一个包含所有其他三元组的默认图,所以这里有趣的可能是http://dbpedia.org/resource/classes#
. 根据 Ben Companjen 的回答,我尝试使用 Ontology 数据集,并在运行以下查询时(如您的查询,但没有LIMIT 5
)
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT * WHERE {
<http://dbpedia.org/ontology/Person> ?p ?o
}
我得到的结果是<http://dbpedia.org/ontology/Person> a owl:Class
(它是倒数第二行)。如果LIMIT 5
原始查询中存在 ,您可能看不到该特定结果。
$ /usr/local/lib/apache-jena-2.10.0/bin/arq \
--data ~/Downloads/dbpedia_3.8.owl \
--query dbpedia.sparql
-------------------------------------------------------------
| p | o |
=============================================================
| rdfs:label | "person"@en |
| rdfs:label | "persona"@es |
| rdfs:label | "Person"@de |
| rdfs:label | "pessoa"@pt |
| rdfs:label | "personne"@fr |
| owl:equivalentClass | <http://schema.org/Person> |
| rdfs:label | "Πληροφορίες προσώπου"@el |
| rdfs:label | "Oseba"@sl |
| owl:equivalentClass | <http://xmlns.com/foaf/0.1/Person> |
| rdf:type | owl:Class |
| rdfs:subClassOf | <http://dbpedia.org/ontology/Agent> |
-------------------------------------------------------------