如何通过查询获取sparql组中的总计

如何通过查询获取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

我将继续讨论schema.org数据库用于查找类的子类数量的位置。答案是每个班级的学生人数。在我的应用程序中,我需要所有孩子的总数,即每组的总数,以便计算每组孩子总数的百分比。 我从上一个问题中得到的问题是:

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>  |
-----------------------------------------------------------------------------------------------