公共值的SPARQL查询

公共值的SPARQL查询,sparql,triplestore,Sparql,Triplestore,我需要一个SPARQL查询的帮助。在我的本体中,我有一个实体项,用于设计一篇文章,它有一个名为“关键字”的属性,用于存储文章中处理的主要参数。在三元组存储中,文章的每个参数都有一个三元组(文章、关键字、参数)。 我想通过查询了解哪些文章具有最大数量的三元组,并且属性关键字的值相同,我该怎么做? 我尝试过类似的方法,但它是错误的,因为我只想知道具有最多公共参数的文章: SELECT ?item (COUNT(?argument) as ?maxArgument) WHERE{

我需要一个SPARQL查询的帮助。在我的本体中,我有一个实体项,用于设计一篇文章,它有一个名为“关键字”的属性,用于存储文章中处理的主要参数。在三元组存储中,文章的每个参数都有一个三元组(文章、关键字、参数)。 我想通过查询了解哪些文章具有最大数量的三元组,并且属性关键字的值相同,我该怎么做? 我尝试过类似的方法,但它是错误的,因为我只想知道具有最多公共参数的文章:

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)

根据SPARQL规范,为了计算解决方案的聚合值,首先将解决方案划分为一个或多个组,然后为每个组计算聚合值

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
此查询返回每篇文章的关键字数:

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item :keyword ?argument                                                                
}
GROUP BY ?item
ORDER BY DESC(?maxArgument)
此查询返回最常见的关键字及其文章数:

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
SELECT (COUNT(?item) as ?articles) ?argument
WHERE{   
     ?item :keyword ?argument                                                                
}
GROUP BY ?argument
ORDER BY DESC(?articles)

这同样适用于所有其他聚合函数,如MAX或MIN。

根据SPARQL规范,为了计算解决方案的聚合值,首先将解决方案划分为一个或多个组,然后为每个组计算聚合值

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
此查询返回每篇文章的关键字数:

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item :keyword ?argument                                                                
}
GROUP BY ?item
ORDER BY DESC(?maxArgument)
此查询返回最常见的关键字及其文章数:

SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)
SELECT (COUNT(?item) as ?articles) ?argument
WHERE{   
     ?item :keyword ?argument                                                                
}
GROUP BY ?argument
ORDER BY DESC(?articles)

这同样适用于所有其他聚合函数,如MAX或MIN。

您必须
根据
参数分组。当前查询执行不同的操作,它返回每个项的参数数。那肯定不是你想要的。你必须按参数分组。当前查询执行不同的操作,它返回每个项的参数数。那肯定不是你想要的。
SELECT ?item (COUNT(?argument) as ?maxArgument)   
WHERE{   
     ?item keyWord ?argument                                                                
}
ORDER BY DESC(?maxArgument)