如何在Sparql查询(嵌套查询)中过滤对象?

如何在Sparql查询(嵌套查询)中过滤对象?,sparql,Sparql,我正在尝试进行SPARQL查询,但它似乎没有按预期运行。如何选择元数据类型为的所有io 这是我的尝试: SELECT ?uuid ?meta WHERE { ?io a <http://www.test.com/rig#InfObject> . ?io <http://www.test.com/rig#uniqueID> ?uuid . ?io <http://www.test.com/rig#metadata> ?meta .

我正在尝试进行SPARQL查询,但它似乎没有按预期运行。如何选择元数据类型为的所有io

这是我的尝试:

SELECT ?uuid ?meta WHERE { 
    ?io a <http://www.test.com/rig#InfObject> . 
    ?io <http://www.test.com/rig#uniqueID> ?uuid . 
    ?io <http://www.test.com/rig#metadata> ?meta . 
    { 
        SELECT ?meta WHERE { 
            ?meta a <http://www.test/#Entity> . 
        } 
    } 
}
SELECT?uuid?meta其中{
?io a。
?io?uuid。
?io?meta。
{ 
选择?元,其中{
?元a。
} 
} 
}

您不需要执行新的选择。只需添加信息

SELECT ?uuid ?meta
WHERE
  { 
    ?io   a                             <http://example/rig#InfObject> .
    ?io   <http://example/rig#uniqueID> ?uuid                          .
    ?io   <http://example/rig#metadata> ?meta                          .
    ?meta a                             <http://example/#Entity>       .
  }
SELECT?uuid?meta
哪里
{ 
?io a。
?io?uuid。
?io?meta。
?元a。
}

您不需要执行新的选择。只需添加信息

SELECT ?uuid ?meta
WHERE
  { 
    ?io   a                             <http://example/rig#InfObject> .
    ?io   <http://example/rig#uniqueID> ?uuid                          .
    ?io   <http://example/rig#metadata> ?meta                          .
    ?meta a                             <http://example/#Entity>       .
  }
SELECT?uuid?meta
哪里
{ 
?io a。
?io?uuid。
?io?meta。
?元a。
}

不需要子查询,只需在外部查询中使用三元组模式即可。。如果不起作用,您的查询就是与数据不匹配。不需要子查询,只需在外部查询中使用三元组模式即可。。如果不起作用,您的查询就是与数据不匹配