CoreT: Efficient Temporal k-Core Query Algorithm
- CoreT is a core-time–based algorithm for temporal k-core queries, efficiently replacing repetitive decompositions with a single pass mechanism.
- It leverages a representation that records the earliest timestamps when vertices and edges enter a k-core, enabling incremental enumeration across sub-intervals.
- Empirical results show that CoreT achieves up to four orders of magnitude speedup over prior methods, making it ideal for analyzing evolving temporal graphs.
Searching arXiv for the CoreT paper and closely related temporal -core query work.
CoreT is a core-time–based algorithm for answering temporal -core queries over temporal graphs. It was introduced in “Temporal -Core Query, Revisited” as a way to replace repeated decompositions over many overlapping sub-intervals with a mechanism that records, for every vertex and edge, the earliest timestamp at which it belongs to a -core. This lets CoreT enumerate all temporal -cores over all sub-intervals of a query interval in one pass, with time complexity linear in both the number of temporal edges within the query interval and the duration of the interval (Liu et al., 21 Aug 2025).
1. Temporal -core queries and the problem CoreT solves
The paper studies an undirected temporal graph
where is a multiset of temporal edges and each edge is a triple , meaning an interaction between and 0 at timestamp 1. Timestamps are assumed to be consecutive integers in a finite range 2. For a time interval 3, the projected temporal graph is
4
and its underlying static graph is
5
A static 6-core is the maximal induced subgraph in which every vertex has degree at least 7. The temporal extension used here defines a temporal 8-core over 9, denoted 0, as a maximal induced subgraph of 1 where each vertex has at least 2 neighbors. The query problem is: given a temporal graph 3, a query interval 4, and an integer 5, find all distinct temporal 6-cores 7 such that 8 (Liu et al., 21 Aug 2025).
The difficulty is combinatorial. If 9, then there are at most 0 sub-intervals. A direct approach that computes a decomposition for every interval quickly becomes impractical on long time ranges and large temporal graphs.
2. Relation to earlier methods and the motivation for CoreT
A straightforward baseline enumerates all sub-intervals and runs a static-style decomposition on each one: remove edges outside 1, then repeatedly peel vertices with degree less than 2. The paper denotes this operation by Decomp3. Its cost is high because the number of sub-intervals is 4 and each run processes a large graph.
The immediate predecessor is OTCD, which exploits a nested property: if 5, then
6
This reduces redundancy by deriving smaller-interval cores from larger-interval cores instead of from the full graph.
Even so, OTCD remains limited in scalability because it still requires many Decomp calls and maintains a TEL structure through repeated edge and vertex deletions. Its worst-case cost is summarized in the paper as
7
CoreT is designed precisely to avoid this repeated interval-by-interval decomposition. A common misconception is that CoreT changes the semantics of temporal 8-cores; it does not. It computes the same temporal 9-core model as OTCD, but with a different computational strategy (Liu et al., 21 Aug 2025).
3. Core-time representation
CoreT’s key abstraction is the earliest time at which a vertex or edge enters a 0-core. The paper introduces three related notions.
The support time of a detemporalized edge 1 is
2
This is the earliest timestamp at which the edge appears.
For a vertex 3 and a fixed start timestamp 4, the 5-degree time is
6
with 7 if 8 never reaches degree 9 in 0.
The central concept is the 1-core time. For timestamp 2, the 3-core time of a vertex 4, written 5, is the minimum timestamp 6 such that 7 belongs to the 8-core of 9. For a detemporalized edge 0, 1 is the minimum timestamp 2 such that 3 belongs to the 4-core of 5. If a vertex or edge never belongs to any such 6-core, its 7 is 8 (Liu et al., 21 Aug 2025).
This representation is sufficient to reconstruct all temporal 9-cores with the same start time. For 0,
1
This means that once 2 is known, the entire inclusion chain
3
can be generated incrementally without recomputing decompositions.
4. Algorithmic structure
CoreT has three main procedures: CoreT_Init, CoreT_Update, and CoreT_List.
CoreT_Init computes 4 for 5. It first computes support times for detemporalized edges, then 6-degree times for vertices. It performs a peeling process over a working graph 7, repeatedly removing the vertex with largest current 8-degree time and assigning its core time. Once vertex core times are available, edge core times follow from
9
The paper proves that this initialization correctly computes 0 for every vertex and edge.
CoreT_Update moves the left endpoint from 1 to 2. It removes temporal edges with timestamp 3, updates support times as needed, and propagates the resulting increases in tentative core times through vertex–edge dependencies. Two lemmas drive the update: 4
and
5
The update procedure processes elements in descending order of tentative core time so that each vertex and edge is stabilized once per iteration (Liu et al., 21 Aug 2025).
CoreT_List then enumerates temporal 6-cores for a fixed start time 7. For each 8 from 9 to 0, it outputs the vertex set with 1 and the temporal edges whose edge core time is at most 2 and whose timestamp is at most 3. Because the resulting cores form an inclusion chain, this listing is incremental rather than repetitive.
The implementation uses adjacency lists for the detemporalized graph, sorted timestamp lists for temporal edges, and per-vertex sorted lists of incident edges ordered by tentative core times. This replaces OTCD’s TEL structure with simpler data structures while preserving the information needed for updates.
5. Complexity and scalability
The paper’s main theoretical claim is that CoreT runs in
4
which is linear in both the duration 5 and the number of temporal edges within the query interval. Space complexity is 6 (Liu et al., 21 Aug 2025).
More specifically, CoreT_Init runs in 7, where 8 is the edge set of the underlying static graph over 9. CoreT_Update is 00 per iteration, and CoreT_List is also linear in the size of the current graph because it incrementally traverses the inclusion chain of cores.
This complexity is the reason CoreT is described as suitable for long-term temporal analysis. The algorithm does not eliminate the need to enumerate temporal 01-cores over all sub-intervals; rather, it changes the representation so that the enumeration is driven by precomputed core times instead of repeated decompositions. A plausible implication is that CoreT is especially advantageous when 02 is large and the number of overlapping intervals makes interval-by-interval recomputation untenable.
6. Empirical performance, interpretation, and scope
The evaluation uses temporal graphs from SNAP and KONECT, including CollegeMsg, sx-superuser, email-Eu-core, sx-mathoverflow, sx-askubuntu, wiki-talk-temporal, dblp-coauthor, flickr-growth, and wikipedia-growth. The experiments vary the core threshold 03 from 2 to 20 and the query interval 04 with 05, with additional fine-grained sweeps and random-query evaluations (Liu et al., 21 Aug 2025).
The central empirical finding is that CoreT achieves up to four orders of magnitude speedup compared to OTCD. On the CollegeMsg dataset with the full interval and 06, CoreT runs in 144 ms whereas OTCD requires 1,054,508 ms. On larger datasets such as AU, MO, SU, and WT, OTCD often times out at over 3 hours for many interval settings, while CoreT completes within seconds to a couple of minutes. CDF analyses on short random queries show that OTCD can be comparable on very tiny intervals, and is sometimes slightly faster by less than 1 ms, but CoreT dominates as query time increases.
These results matter because CoreT’s contribution is algorithmic rather than definitional. It does not propose a new cohesiveness notion; it accelerates the standard temporal 07-core query model. This makes it suitable for applications that already rely on temporal 08-cores, including evolving communities in social networks, shifting hyperlink structures on the Web, and transient communication patterns in call networks.
The paper also outlines natural extensions. It explicitly mentions possible adaptation to temporal 09-trusses, as well as directions involving indexing, streaming updates, and parallel or distributed implementations. This suggests that the core-time abstraction is not limited to one query engine, but may serve as a reusable primitive for broader temporal cohesive-subgraph analysis.