SPARQL中有WITH子句吗?

问题描述

在SPARQL中是否有类似sql的视图创建或WITH子句?

我要:

  1. 从表中选择一些数据;
  2. 从同一表中选择不在第一选择中的数据(按主题)。

这似乎在没有“ WITH”的情况下有效,但是我执行两个类似的SELECT查询

SELECT * 
FROM NAMED <http://...>
{
  {
    SELECT disTINCT ?s ?p ?o
    WHERE {
      BIND (<http://www.w3.org/2004/02/skos/core#prefLabel> AS ?p)
      { ?s <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> . }
      FILTER(LANGMATCHES(LANG(?o),"ru"))
      
    }
    ORDER BY ?o
  }

  UNION
  
  {
    SELECT disTINCT ?s ?p ?o
    WHERE {
      BIND (<http://www.w3.org/2004/02/skos/core#prefLabel> AS ?p)
      { ?s <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> . }
      FILTER(LANGMATCHES(LANG(?o),"en"))


      MINUS {  
        SELECT disTINCT ?s 
        WHERE {
          BIND (<http://www.w3.org/2004/02/skos/core#prefLabel> AS ?p)
          { ?s <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> . }
          FILTER(LANGMATCHES(LANG(?o),"ru"))

        }
      }
    }

    ORDER BY ?o
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)