如何通过查询获取sparql组中的总计
我将继续讨论schema.org数据库用于查找类的子类数量的位置。答案是每个班级的学生人数。在我的应用程序中,我需要所有孩子的总数,即每组的总数,以便计算每组孩子总数的百分比。 我从上一个问题中得到的问题是:如何通过查询获取sparql组中的总计,sparql,Sparql,我将继续讨论schema.org数据库用于查找类的子类数量的位置。答案是每个班级的学生人数。在我的应用程序中,我需要所有孩子的总数,即每组的总数,以便计算每组孩子总数的百分比。 我从上一个问题中得到的问题是: prefix schema: <http://schema.org/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> select ?child (count(?grandchild) as
prefix schema: <http://schema.org/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?child (count(?grandchild) as ?nGrandchildren)
from <http://localhost:3030/testDB/data/schemaOrg>
where {
?child rdfs:subClassOf schema:Event .
optional {
?grandchild rdfs:subClassOf ?child
}
} group by ?child
它给出了预期的回答事件和子事件数。
如何获得总数?
我尝试了嵌套查询,如下所示:
prefix schema: <http://schema.org/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?child (count(?grandchild) as ?nGrandchildren)
from <http://localhost:3030/testDB/data/schemaOrg>
where {
select (count(?grandchild) as ?grandTotal)
{?child rdfs:subClassOf schema:Event .
optional {
?grandchild rdfs:subClassOf ?child
}
}
} group by ?child
但只有一个答案:->0 此查询使用两个子选项: *第一个计算每个孩子的孙子孙女数量 *第二个返回孙子的总数 前缀架构: 前缀rdfs: 选择?子项?和子项 四舍五入的子女/总孙辈*100%为孙辈{ 计算每个孩子的数量 { 选择“子项计数”孙项作为“子项计数”,然后选择“子项在何处”{ ?子rdfs:模式子类:事件。 可选{ ?孙子rdfs:子类?子类 } } 按儿童分组 } 计算总数 { 选择“将孙子数计算为”总计孙子数,其中{ ?子rdfs:模式子类:事件。 可选{ ?孙子rdfs:子类?子类 } } } } 输出
此查询使用两个子选项: *第一个计算每个孩子的孙子孙女数量 *第二个返回孙子的总数 前缀架构: 前缀rdfs: 选择?子项?和子项 四舍五入的子女/总孙辈*100%为孙辈{ 计算每个孩子的数量 { 选择“子项计数”孙项作为“子项计数”,然后选择“子项在何处”{ ?子rdfs:模式子类:事件。 可选{ ?孙子rdfs:子类?子类 } } 按儿童分组 } 计算总数 { 选择“将孙子数计算为”总计孙子数,其中{ ?子rdfs:模式子类:事件。 可选{ ?孙子rdfs:子类?子类 } } } } 输出
总数是多少?存在的孙辈总数是多少?有多少?存在的孙辈总数?完美解决方案。我不知道如何使用多个子选择;答案有助于理解它。非常感谢。在我的应用程序中,每个孩子的计算机代码非常耗时,我不想重复两次。是否有一种方法可以使用每个子项的结果计数?nGrandchildren,并将其与外部查询中需要与nGrandchildren值相加的grandTotal?Total孙子数和百分比相加,但这样会丢失子变量。我认为这是不可能的,但我可能错了。但一般来说,查询优化器的任务是重用连接变量的结果,因此,我不知道这是否真的是一个瓶颈。你用哪家三联书店?哪个数据集?对于schema.org数据,这个任务不会很昂贵,它是一个非常简单的查询,使用jena的fuseki,我的应用程序商店大约有400万个三元组;我发现schema.org数据有助于理解这些问题-感谢您的帮助!应用程序查询在平均24 GB的PC i5上运行需要4分钟我决定在统计程序中使用这个查询的结果来计算总数。完美的解决方案。我不知道如何使用多个子选择;答案有助于理解它。非常感谢。在我的应用程序中,每个孩子的计算机代码非常耗时,我不想重复两次。是否有一种方法可以使用每个子项的结果计数?nGrandchildren,并将其与外部查询中需要与nGrandchildren值相加的grandTotal?Total孙子数和百分比相加,但这样会丢失子变量。我认为这是不可能的,但我可能错了。但一般来说,查询优化器的任务是重用连接变量的结果,因此,我不知道这是否真的是一个瓶颈。你用哪家三联书店?哪个数据集?对于schema.org数据,这个任务不会很昂贵,它是一个非常简单的查询,使用jena的fuseki,我的应用程序商店大约有400万个三元组;我发现schema.org数据有助于理解这些问题-感谢您的帮助!应用程序查询在平均24 GB的PC i5上运行需要4分钟我决定在使用这个查询结果的统计程序中计算总数。
-----------------------------------------------------------------------------------------------
| child | nGrandchildren | percentageGrandchildren |
===============================================================================================
| schema:UserInteraction | 9 | "82"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:FoodEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:MusicEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:PublicationEvent | 2 | "18"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:LiteraryEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:SportsEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:DanceEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:ScreeningEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:DeliveryEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:ExhibitionEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:EducationEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:SaleEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:VisualArtsEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:CourseInstance | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:ChildrensEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:BusinessEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:Festival | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:ComedyEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:TheaterEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
| schema:SocialEvent | 0 | "0"^^<http://www.w3.org/2001/XMLSchema#decimal> |
-----------------------------------------------------------------------------------------------