如何过滤 Sparql 查询嵌套查询中的对象?

问题描述

我正在尝试进行 SPARQL 查询,但它似乎没有按预期运行。如何选择所有具有 http://www.test/#Entity 类型的元数据的 ?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
WHERE
  { 
    ?io   a                             <http://example/rig#InfObject> .
    ?io   <http://example/rig#uniqueID> ?uuid                          .
    ?io   <http://example/rig#metadata> ?meta                          .
    ?meta a                             <http://example/#Entity>       .
  }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...