我有一个具有不同模式的SPARQL查询列表(例如,SELECT、UNION、Engin)。我想用大O符号来计算它们的时间复杂度(例如O(n),O(nLogn))。请告诉我怎么做我的rdf图中有超过3000000000个三倍。
下面是一些查询查询示例

Query 1:
select ?o  where { <http://example.com/person_info/242622027> vocab:info_gender ?o}

Query 2:
select ?o ?k where {
  {
    ?s vocab:person_info_pid  '242622027'^^xsd:decimal.
    ?s vocab:person_info_homeloc ?o
  }
 UNION
  {
   ?i vocab:activities_pid '242622027'^^xsd:decimal.
   ?i vocab:activities_purpose ?k
  }
 }

Query3:
select (count(*) as ?no) where{
  ?s vocab:outputparttwo_iteration '0'^^xsd:decimal
  }

最佳答案

SPARQL本身为PSPACE-complete。对于任何给定的查询,您可能只提出最佳的情况复杂度。真实世界的复杂性将在某种程度上取决于数据库的实现。

08-25 13:06