我有一个存储在StarDog实例中的Person
图表,以及Fuseki实例中Address
es的图表。其中一个Person
个实例与hasAddress
的关系Address
。
我希望制作一个SPARQL查询,它只返回所有拥有地址的Person
,以及它们所在的地址。此查询将发送到StarDog实例(具有Person
图表的端点)。我正在使用的查询是
prefix testOnt: <http://www.example.org/test-ontology#>
SELECT ?person ?address
WHERE {
?person testOnt:hasAddress ?address
}
但是,这不会返回任何结果。
我使用这个TTL来初始化StarDog数据库:
:SomeDude rdf:type owl:NamedIndividual , :Person;
:hasAddress :Address1.
Fuseki方面的TDB中定义了Address1
。
我只是不知道在向另一方提出查询时我是如何引用第二张图的。
感谢您的帮助,我可以澄清评论中的任何要点。
答案 0 :(得分:4)
仅检索add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
的查询应该对Stardog有效,但不会返回存储在Fuseki中的地址信息。如果此查询无效,请确保您在数据和查询中使用的命名空间匹配。
为了从Stardog获取人物实例及其来自Fuseki的地址,您需要federated SPARQL query使用?person testOnt:hasAddress ?address
关键字。假设命名空间是正确的,您的查询应如下所示:
SERVICE