如何从SPARQL联邦查询返回特定变量(服务关键字)?
我使用联邦查询从远程服务器检索一些信息,但我不想检索我在联邦查询中处理的所有变量select*,我只想返回count变量。我该怎么做 代码: 再次运行explain时,我注意到当我在联邦查询中放置子查询时,变量?bp_iri没有被生物进程iri替换,如下图所示: 解释联邦查询中的子查询> 考虑到这一点,如何仅从联邦查询中检索计数 抱歉,这篇文章太长。如中所述,包括一些名义上可选的内容 注意-您的远程查询必须在远程端点上实际执行,否则将出现各种错误 这是您试图在上运行的查询- -结果是这样的-如何从SPARQL联邦查询返回特定变量(服务关键字)?,sparql,jena,arq,federated-queries,Sparql,Jena,Arq,Federated Queries,我使用联邦查询从远程服务器检索一些信息,但我不想检索我在联邦查询中处理的所有变量select*,我只想返回count变量。我该怎么做 代码: 再次运行explain时,我注意到当我在联邦查询中放置子查询时,变量?bp_iri没有被生物进程iri替换,如下图所示: 解释联邦查询中的子查询> 考虑到这一点,如何仅从联邦查询中检索计数 抱歉,这篇文章太长。如中所述,包括一些名义上可选的内容 注意-您的远程查询必须在远程端点上实际执行,否则将出现各种错误 这是您试图在上运行的查询- -结果是这样的- c
count
"77633"xsd:int
-我发现,从一个层次来看,结果是一样的-
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)? ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
我刚刚通过URIBurner.com运行了这个查询,它允许对经过身份验证的用户使用联邦SPARQL-
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
WHERE
{
SERVICE <https://sparql.uniprot.org/sparql>
{
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)? ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
}
}
这仍然会产生错误-
Virtuoso HTCLI错误HC001:HTTP客户端中的读取错误
-这表明,当您直接通过Uniprot服务器的web查询表单(对其SPARQL服务器使用JDBC)时,Uniprot服务器上有不同的设置,然后直接通过HTTP时,就像使用联邦SPARQL一样
我认为您需要的解决方案是一个本地Uniprot镜像,或者连接到公共Uniprot实例,该实例的权限/设置与主公共端点不同。谢谢您,您的解释让我清楚地了解了一些我不知道的事情。不幸的是,这并没有解决我的问题,但我认为这是我的解释,因为我试图保持问题的简单,我跳过了一些细节。我用已完成的情况编辑了原始帖子。无论如何,谢谢你,这很有帮助!:-数据集中有多少个进程?Uniprot本体中有多少个过程?我认为这篇长文章不是问题,但我建议修订/扩展的问题应该是一个新问题,因为它与它编辑的问题有很大不同。
SERVICE silent <https://sparql.uniprot.org/sparql/> {
{
SELECT (count(distinct ?protein) as ?bp_total) WHERE {
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)* ?bp_iri .
?protein up:classifiedWith ?sub_bp.
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
}
}
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)* ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism taxon:10090 .
}
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)?
/ (rdfs:subClassOf|owl:someValuesFrom)?
/ (rdfs:subClassOf|owl:someValuesFrom)? ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
count
"77633"xsd:int
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)? ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
WHERE
{
SERVICE <https://sparql.uniprot.org/sparql>
{
SELECT (COUNT(DISTINCT ?protein) AS ?count)
WHERE
{
?sub_bp (rdfs:subClassOf|owl:someValuesFrom)? ?bp_iri .
?protein up:classifiedWith ?sub_bp .
?protein up:organism <http://purl.uniprot.org/taxonomy/10090> .
}
}
}