Index Optimization of Extended Characteristic Set for Temporal
RDF
Yan Wu1,2 , Yu Liu1,2 , Tianyi Zhou1,2 , QingZhe Guo1 , Feng Gao1,2 , Simon Gu1,2
1 Department of Computer Science and Technology, Wuhan University of Science and Technology
2 Hubei Province Key Laboratory of Intelligent Information Processing and Real-Time Industrial

Wuhan, Hubei, China
eanw@wust.edu.cn

ABSTRACT
Extended Characteristic Set(ECS) is an efficient RDF(Resource Description Framework) index structure. By storing data as graphs
in the index, ECS can quickly recognize candidate graph patterns.
In order to meet the management needs of temporal RDF data on
ECS, the typical strategy is to employ the RDF reification method.
However, the storage and query performance of the method will decline sharply as the data volume increases. According to the above
limitation, we introduce H-ECS, a new composite index that takes
the properties of temporal RDF data into account. By splitting theproperty bitmaps of ECS and indexing the temporal interval of split
parts with HINT𝑚 (A Hierarchical Index for Intervals), H-ECS canenhance storage and retrieval performance for temporal RDF data.
A key-value index is also used in H-ECS to speed up the query.
Based on H-ECS, we propose a specific pattern matching algorithm
for typical queries of temporal RDF and implement a storage andquery engine for temporal RDF data named TECStore. The experimental results show that the storage and query performance of
TECStore outperforms AxonDB and PeriodDB for both synthetic
and real-world temporal RDF data.

CCS CONCEPTS• Information systems → Information retrieval; Data management systems; • Computing methodologies → Artificial intelligence.

KEYWORDS
Temporal RDF, Extended Characteristic Set, Hierarchical Interval
Index, Temporal Query1

INTRODUCTION

In traditional RDF models, the temporal dimension is usually ignored or represented as a property, which has limitations in timesensitive domains, such as finance, healthcare, and social media. To
address these limitations, temporal RDF has been proposed. Temporal RDF can better describe the timing-related properties of events,
resources, and data.
There are two main approaches to temporal RDF representation.
The traditional approach focuses on preserving the structure ofclassical RDF triples, such as RDF reification [1]. However, the storage and query performance of this approach decreases dramaticallyas the data volume increases. Therefore, recent work has favored asecond approach, extending the standard triple format to a quadruple or even quintuple format. Zhou T et al. [2], WANG Yin-di [3],and Yan L [4] all adopt the second approach and then extend the

RDF database based on bit matrices, composite tables, and triple
tables, respectively, to support the management of temporal RDF.
However, all these strategies fail to consider utilizing the property characteristics of temporal RDF to improve storage and query
efficiency. For this reason, we decided to use ECS [5] and HINT𝑚 [6].
The ECS is an efficient RDF index structure that utilizes the inherent
structure of triples. RDF databases can quickly recognize candidate
graph patterns by storing data as graphs in the index and using
ECS to match graph patterns. In addition, the ECS method avoids
generating large intermediate results and reduces storage spaceconsumption. HINT𝑚 is a method for indexing time intervals basedon hierarchies. It allows quick querying of time intervals and isstraightforward to implement and expand. Additionally, it facilitates time interval operations across all Allen [7] relations. The
contributions of this paper are mainly in three aspects:
1) Based on ECS and HINT𝑚 , we proposed a temporal RDF
oriented index H-ECS. The index takes full advantage of the efficient
RDF triples matching of ECS and the fast execution of temporalqueries with HINT.
2) Based on H-ECS, we proposed a pattern matching algorithm
for temporal queries that supports thirteen Allen temporal relations.
3) We used the H-CS index and the matching algorithm to implement TECStore, a temporal RDF-oriented storage and query
engine based on H-ECS, and evaluated the query and storage performance of TECStore by using a synthetic dataset and two realworld datasets. The experimental results show that TECStore cansignificantly outperform AxonDB and PeriodDB regarding storage
and query performance.

2 RELATED WORK
2.1 Temporal RDF
In addition to RDF reification, temporal RDF can be represented
using quadruple [8][9][10] or quintuples [11][12][13]. Compared toquadruples, quintuples refine the time of temporal RDF with better
scalability, greater expressiveness, and more efficient processing.
Therefore, temporal RDF is expressed in quintuples in this paper.
A quintuple is of the form: (𝑠, 𝑝, 𝑜) : [𝑡𝑠, 𝑡𝑒] or (𝑠, 𝑝, 𝑜, 𝑡𝑠𝑡𝑎𝑟𝑡, 𝑡𝑒𝑛𝑑).
(𝑠, 𝑝, 𝑜) represents the triple part, [𝑡𝑠, 𝑡𝑒] represents the time interval, and (𝑠, 𝑝, 𝑜) : [𝑡𝑠, 𝑡𝑒] means that the triple (𝑠, 𝑝, 𝑜) is valid
within the time interval [𝑡𝑠, 𝑡𝑒]. Several quintuples are illustrated
in Fig. 1(a).

2.2Extended Characteristic Set

Thomas Neumann and Guido Moerkotte [14] proposed the Characteristic Set (CS), which can identify node types based on theset of predicates with this node as subject. Meanwhile, MariosIJCKG 2023, December 2023, Miraikan, Tokey, Japans
YunMa
ChongxinCai
WeiCheng
BojunQiu
JunLeiYan Wu and Yu Liu, et al.

potstart tend
worksFor Alibaba 1999 2013
worksFor AliHealth 2015 2018
worksFor
Uber2016 2020
worksFor Kingsoft 1988 2011
worksFor ZhuoYue 1999 2004

Alibaba

(a)

Yale

YunMa
Mogu [2011,2015]
ChongxinCai

NBA

invest[2018,2023]

Yiche
WeiCheng

AliHealth

Uber

JiangXi

Kingsoft
BojunQiu

JunLeico-work[1992,2007]

ZheJiang[1969,1987]
liveInHuBei(b)
ZhuoYue
Node
Characteristic Set
YunMa
S1={worksFor,invest,co-work }ChongxinCai S2={worksFor,invest,study,co-work }WeiCheng
S3={worksFor,liveIn }BojunQiu
S4={worksFor,liveIn,co-work }JunLeiS3={worksFor,liveIn }TripleYunMa co-work ChongxinCai
ChongxinCai co-work WeiCheng
BojunQiu co-work JunLei

Extended Characteristic Set
E1={S1,S2}
E2={S2,S3}
E3={S4,S3}(c)

Figure 1: A example of quintuple(a). A temporal RDF graph(b), its CS and ECS (c).

Meimaris [5] proposed the ECS based on the CS and offered an RDF
storage engine, AxonDB, based on the ECS. When two CSs havepredicates between their nodes, these two CSs can be constituted
as an ECS. In this configuration, the CS of the subject node of thepredicate is the subject CS, and the CS of the object node of thepredicate is the object CS.
Fig. 1(b) and Fig. 1(c) demonstrate the relationship between
CS/ECS and triples. The CS of the node YunMa is (worksFor, invest,
co-work), and the CS of ChongxinCai is (worksFor, invest, study, cowork), and so on for other nodes. At the same time, node YunMa andnode ChongxinCai appear in the triple (YunMa, co-work, ChongxinCai) as subject and object, respectively, so the combination of theirCSs form an ECS. In this ECS, the CS of YunMa is the subjectCS,and the CS of ChongxinCai is the objectCS.

2.3

Interval index

Nowadays, researchers have proposed several strategies for interval
indexing by using different data structures and retrieval algorithms.
The 1D-grid[15] is a simple interval data structure in terms of interval indexing. It divides a time axis into several disjoint partitions,and each time interval is assigned to all partitions that overlap with

it. If the collection contains many long intervals, the index size
may grow large due to excessive replication, which increases thenumber of duplicate results to be eliminated.
Instead, Andreas Behrend et al. [16] proposes Period Index. In
Period Index, the whole dataset is divided into many buckets according to a certain length from the minimum to the maximum
time interval. Each bucket is further divided into cells of different
levels. Period Index can quickly locate the target bucket by otheralgorithms, such as binary search, quickly reducing unnecessary
comparisons. However, in complex Allen temporal queries, the Period Index must traverse and compare the interval in different cells
in the target bucket, which incurs a significant time overhead.
On the other hand, George Christodoulou [6] proposes a hierarchical partitioned interval index structure called HINT, which
creates a hierarchical structure where each level is subdivided into
multiple partitions. Moreover, the time intervals in the dataset will
be assigned to different partitions at different levels based on a
specific allocation algorithm. HINT𝑚 proposes some optimizations
based on HINT. It uses replication and interval segmentation strategies to avoid duplicate results and reduce the number of interval
matches. In addition, HINT𝑚 efficiently supports temporal interval
retrieval for temporal relations of Allen [7]. Experiments show that
HINT𝑚 outperforms other classical interval indexes, such as Interval Tree [17] and Timeline Index [18], in several aspects: throughput,query speed, space consumption, and update efficiency.

3

OPTIMIZATION OF TEMPORAL INDEXINGFOR EXTENED CHARACTERISTIC SET
3.1 Definitions
Definition 1 (Temporal graph). Temporal graph 𝑮 = 𝑻 ∪ 𝑸,
where 𝑻 is a finite set of triples and 𝑸 is a finite set of quintuples.
The Dataset D of Pre-processing in Fig. 2 is the temporal graphof Fig. 1(b).
Definition 2 (CS). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporal graph and s
be a subject in G. Then the CS of s is defined as 𝑪𝑺 (𝒔) = {𝒑|∃𝒐 :(𝒔, 𝒑, 𝒐) ∈ 𝑻 ∨ (𝒔, 𝒑, 𝒐, 𝒕𝒔𝒕𝒂𝒓 𝒕, 𝒕𝒆𝒏𝒅) ∈ 𝑸 } and the set of all CS for
the G is defined as
𝑪𝑺 (𝑮) = {𝑪𝑺 (𝒔)|∃𝒑, 𝒐 : (𝒔, 𝒑, 𝒐) ∈ 𝑻 ∨ (𝒔, 𝒑, 𝒐, 𝒕𝒔𝒕𝒂𝒓 𝒕, 𝒕𝒆𝒏𝒅) ∈𝑸 }.
The CS of node YunMa in Fig. 1(b) is {worksFor, invest, co-work}
because these are the only three predicates in the quintuple with
YunMa as the subject. The 𝐶𝑆 (𝐷) of the Dataset D in the Preprocessing of Fig. 2 contains only S1, S2, S3, and S4 as illustrated inFig. 1(c).
Definition 3 (ECS). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporal graph and 𝒕 =(𝒔, 𝒑, 𝒐)(𝒓 𝒆𝒔𝒑.𝒕 = (𝒔, 𝒑, 𝒐, 𝒕𝒔𝒕𝒂𝒓 𝒕, 𝒕𝒆𝒏𝒅)) be a tuple in 𝑻 (𝒓 𝒆𝒔𝒑.𝑸).
Then the extended characteristic set 𝑬 𝑪𝑺 (𝒕) of 𝒕 is defined as
𝑬 𝑪𝑺 (𝒕) = {𝑪𝑺 (𝒔), 𝑪𝑺 (𝒐)}. The set of all ECS in G is: 𝑬 𝑪𝑺 (𝑮) ={𝑬 𝑪𝑺 (𝒕)|𝒕 ∈ 𝑻 ∪ 𝑸 }.
The ECS of the quintuple (YunMa co-work ChongxinCai 1999 2013)of Dataset D in Pre-processing in Fig. 2 is E1 of Fig. 1(c) because
the CS of the subject and object of this quintuple are S1 and S2,
respectively. The set of all ECS of Dataset D contains only E1, E2
and E3 of Fig. 1(c).

Index Optimization of Extended Characteristic Set for Temporal RDF

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

Definition 4 (ECSLinks). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporal graph,
𝒈𝒆𝒕𝑺 (𝒕) be a function to get the subject of 𝒕, and 𝒈𝒆𝒕𝑶 (𝒕) be a function
to get the object of 𝒕. Then ECSLinks of 𝑮 is:
𝑬 𝑪𝑺𝑳𝒊𝒏𝒌𝒔 = {𝑬 𝑪𝑺 (𝒊) → {𝑬 𝑪𝑺 (𝒎)}|𝒊, 𝒎 ∈ 𝑻 ∪ 𝑸∧ 𝑪𝑺 (𝒈𝒆𝒕𝑶 (𝒊)) = 𝑪𝑺 (𝒈𝒆𝒕𝑺 (𝒎))}.

bitmaps of Dataset D is the stacking of bitsets of all CSs and is a
two-dimensional array.
Definition 6 (CSIndex). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporal graph and𝑪𝑺 𝒊𝒅 (𝑺 𝒊) be a function that gets the id of CS 𝑺 𝒊. Then the CSIndex of
G is defined as 𝑪𝑺𝑰 𝒏𝒅𝒆𝒙 (𝑮) = {𝑪𝑺 𝒊𝒅 (𝑺 𝒊) → 𝑷 𝑺 (𝑺 𝒊)|𝑺 𝒊 ∈ 𝑪𝑺 (𝑮)}.

Fig. 2 shows the ECSLinks for Dataset D in the Pre-procession in
the CS/ECS Index Structure. The reason is that among all the ECSs
of Dataset D, only E1 and E2 satisfy that the object CS of the former
ECS is the subject CS of the latter ECS.

In Fig. 2, the CSIndex of Dataset D in Pre-processing is shownin the CS/ECS Index Structure.
Definition 7 (P-SO-T table). Let 𝑮 = 𝑻 ∪𝑸 be a temporal graph,
𝑷 𝑺𝒆𝒕 be the set of ids of predicates in 𝑮, 𝒑 be any of the predicates in
𝑷 𝑺𝒆𝒕, and 𝑮𝑻 𝒂𝒃𝒍𝒆 be a quintuple table consisting of the subject id,
predicate id, object id, start time and end time of 𝑮 together. Then the
𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 of 𝒑 is defined as

Definition 5 (property bitmaps). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporalgraph, 𝑷 𝑺𝒆𝒕 be the set of ids of predicates in G, and 𝒊𝒔𝑬𝒙 𝒊(𝒊, 𝑺𝒋) be thefunction that determines whether a predicate with id 𝒊 in CS 𝑺𝒋. If it exists, it returns 1, otherwise it returns 0. The property bitset of CS 𝑺𝒋 is a
one-dimensional array defined as 𝑷 𝑺 (𝑺𝒋) = (𝒊𝒔𝑬𝒙 𝒊(𝒊, 𝑺𝒋), 𝒊𝒔𝑬𝒙 𝒊(𝒊 +1, 𝑺𝒋), ..., 𝒊𝒔𝑬𝒙 𝒊(𝒊 + 𝒏, 𝑺𝒋)), 𝒊, 𝒊 + 1, ..., 𝒊 + 𝒏 ∈ 𝑷 𝑺𝒆𝒕. The property
bitmaps of G is: 𝑷 𝑺 (𝑺𝒋 1 )  𝑷 𝑺 (𝑺𝒋 2 ) 
𝑷 𝑩(𝑮) = 
,
..


.


𝑷 𝑺 (𝑺𝒋 ) 𝒏 𝑺𝒋 1 , 𝑺𝒋 2 , ..., 𝑺𝒋 𝒏 ∈ 𝑪𝑺 (𝑮).

 (𝒔 𝒊𝒅1, 𝒐𝒊𝒅1, 𝒕𝒔𝒕𝒂𝒓 𝒕1, 𝒕𝒆𝒏𝒅1)  (𝒔 𝒊𝒅2, 𝒐𝒊𝒅2, 𝒕𝒔𝒕𝒂𝒓 𝒕2, 𝒕𝒆𝒏𝒅2) 
𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 𝒑 = 
,
..


.


 (𝒔 𝒊𝒅𝒏, 𝒐𝒊𝒅𝒏, 𝒕𝒔𝒕𝒂𝒓 𝒕𝒏, 𝒕𝒆𝒏𝒅𝒏) (𝒔 𝒊𝒅1, 𝒑, 𝒐𝒊𝒅1, 𝒕𝒔𝒕𝒂𝒓 𝒕1, 𝒕𝒆𝒏𝒅1), (𝒔 𝒊𝒅2, 𝒑, 𝒐𝒊𝒅2, 𝒕𝒔𝒕𝒂𝒓 𝒕2, 𝒕𝒆𝒏𝒅2), ...,
(𝒔 𝒊𝒅𝒏, 𝒑, 𝒐𝒊𝒅𝒏, 𝒕𝒔𝒕𝒂𝒓 𝒕𝒏, 𝒕𝒆𝒏𝒅𝒏) ∈ 𝑮𝑻 𝒂𝒃𝒍𝒆. The 𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆of 𝑮 is defined as 𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 𝒑 1  𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 𝒑 2 
𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 = 
,
..


.


𝑷 − 𝑺𝑶 − 𝑻 𝒕𝒂𝒃𝒍𝒆 𝒑 𝒏In the property bitmaps of the CS/ECS Index Structure in Fig. 2, theproperty bitset of CS S1 is {1,1,1,0,0} because S1 contains only three
predicates: worksFor, invest, and co-work. Moreover, the property

Pre-processing

Dataset D

s
YunMa
YunMa
YunMa
YunMa
ChongxinCai
ChongxinCai
ChongxinCai
ChongxinCai
WeiCheng
WeiCheng
BojunQiu
BojunQiu
BojunQiu
JunLei
JunLeipoworksFor
AlibabainvestMogu
investYiche
co-work ChongxinCai
worksFor
AliHealth
study
Yale
investNBA
co-work
WeiCheng
worksFor
Uber
liveInJiangXi
worksFor
Kingsoft
liveInZheJiang
co-work
JunLeiworksFor
ZhuoYue
liveInHuBeitstart
1999
2011
2015
1999
2015
1987
2018
2005
2016
1983
1988
1964
1992
1999
1969

tend
2013
2015
2016
2013
2018
1990
2023
2012
2020
2000
2011
1980
2007
2004
1987

sid
1
1
1
1
5
5
5
5
9
9
12
12
12
15
15

pid
1
2
2
3
1
4
2
3
1
5
1
5
3
1
5

oid
2
3
4
5
6
7
8
9
10
11
13
14
15
16
17

tstart
1999
2011
2015
1999
2015
1987
2018
2005
2016
1983
1988
1964
1992
1999
1969

Temporal Index

tend
2013
2015
2016
2013
2018
1990
2023
2012
2020
2000
2011
1980
2007
2004
1987

P0,0

CS-s Map
P1,1

P2,0
P3,0

P2,2

P2,1
P3,1

P3,2

P3,3

P3,4

P2,3
P3,5

P3,6

P3,7

CSid
S1
S2
S3
S4

sids
{1}
{5}
{9,15}{12}
P-SO-T table 1

P4,0 P4,1 P4,2 P4,3 P4,4 P4,5 P4,6 P4,7 P4,8 P4,9 P4,10P4,11P4,12P4,13P4,14 P4,15{1,2,1999,2013} {5,6,2015,2018} {9,10,2016,2020} {12,13,1988,2011}{15,16,1999,2004}

sid
1
5
9
12
15

oid
2
6
10
13
16

tstart
1999
2015
2016
1988
1999

P-SO-T table 2
HINTm 2

...

②
③
④

⑤

CS/ECS Index Structure

HINTm 1

P1,0

①

...

tend
2013
2018
2020
2011
2004

CSid
S1
S2
S3
S4

CS Index
properties{ 1, 1, 1, 0, 0 }{ 1, 1, 1, 1, 0 }{ 1, 0, 0, 0, 1 }{ 1, 0, 1, 0, 1 }

①
②
③
⑤
④

ECS Index
ECSid subjectCS objectCS
E1
S1
S2
E2
S2
S3
E3
S4
S3
ECSLinks
E1
E2
E2
E3
property bitmaps
P1 P2 P3 P4 P5 P1=worksFor
S1 1 1 1 0 0 P2=invest
S2 1 1 1 1 0 P3=co-work
S3 1 0 0 0 1 P4=study
S4 1 0 1 0 1 P5=liveIn

Figure 2: The H-ECS index construction process in TECStore. Dataset D is the quintuple dataset corresponding to the temporal
RDF graph in Fig. 1(b).

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

𝒑 1 , 𝒑 2 , ..., 𝒑 𝒏 ∈ 𝑷 𝑺𝒆𝒕.
In Fig. 2, the P-SO-T table for the predicate worksFor is P-SO-T
table 1 since worksFor has a pid of 1. Inside is a table of unique
identifiers for the quintuples of ignored predicates with worksFor
as the predicate.
Definition 8 (CS-s Map). Let 𝑮 = 𝑻 ∪ 𝑸 be a temporal graph,
𝑪𝑺 𝒊𝒅𝒔 be a set of ids of CSs in 𝑪𝑺 (𝑮), 𝒔 be any subject in 𝑮, 𝒔 𝒊𝒅 be
the id of 𝒔, 𝒈𝒆𝒕 𝑪𝑺 𝒊𝒅 (𝑺 𝒊) be a function that gets the CS id of CS 𝑺 𝒊,
and 𝑺𝑰 𝑫𝒔 be a set of ids of nodes with any CS in 𝑪𝑺 (𝑮). Then the
𝑪𝑺 −𝒔 𝑴𝒂𝒑 of G is defined as 𝑪𝑺 −𝒔 𝑴𝒂𝒑 = {𝑪𝑺 𝒊𝒅 → {𝒔 𝒊𝒅}|𝑪𝑺 𝒊𝒅 ∈𝑪𝑺 𝒊𝒅𝒔 ∧ 𝒔 𝒊𝒅 ∈ 𝑺𝑰 𝑫𝒔 ∧ 𝒈𝒆𝒕 𝑪𝑺 𝒊𝒅 (𝑪𝑺 (𝒔)) = 𝑪𝑺 𝒊𝒅}.
In Fig. 2, the CS-s Map of the Pre-processing Dataset D is shownin the CS-s Map of the Temporal Index. In which the CS with CSid S3
corresponds to sids 9 and 15, and the subjects of the corresponding
quintuple are WeiCheng and JunLei. The reason is that the CS of S3
is {worksFor,liveIn}, and only nodeWeiCheng and JunLei have thesame CS among all the nodes in D.

3.2

H-ECS index construction

The H-ECS index contains three parts: the triple part, the temporalpart, and the composite part. The role of the triple part is to findthe ECS nodes that match the ECS matching condition, while therole of the temporal part is to select the ECS nodes that matchthe HINT𝑚 matching condition from those ECS nodes. Finally, thecomposite part connects the triple and temporal parts, which canquickly determine the subject nodes corresponding to a CS andspeed up the matching process.
The H-ECS index is created in several steps. First, a CS/ECS index
is created for the triple part of the temporal graph, and that CS/ECS
index is the triple part of the H-ECS. Subsequently, the property
bitmaps in the CSIndex are split per property bit basis, and multiple
HINT𝑚 indexes are created for the set of tuples associated withthe split property bits. These HINT𝑚 indexes become the temporalpart of H-ECS. Finally, the H-ECS index creates the 𝐶𝑆 − 𝑠𝑀𝑎𝑝, a
key-value index storing the mapping relations between CSs andsubject nodes, to minimize unnecessary matches. This key-value
index becomes the composite part of H-ECS.
As shown in the Pre-processing section of Fig. 2, each entity andpredicate assignd unique identifiers using sequential numbering
starting from 1. The dataset D will be stored using a table containing five columns. Each row will sequentially store sid, pid, oid,
tstart, and tend. The correspondence between the identifier of eachelement and the original entity will be saved in the data dictionary
for the last result generation.
As shown in the CS/ECS Index Structure section of Fig. 2, wecreated the CS/ECS index and made it the triple part of the H-ECS.
First, a unique identifier is assigned to the different CSs in thedataset, and their predicate sets are stored in the property bitmaps
form of Fig. 2. Then, the correspondence between CS identifiers andproperty bitmaps is stored in the key-value index CSIndex. Similarly,
the ECSIndex will hold the unique identifier of each ECS and thecorrespondence between ECSs. Finally, the ECSLinks defined in
Definition 4 is stored.
After the construction of the triple part of the H-ECS, the construction of the temporal part of the H-ECS is started. As shown in

Yan Wu and Yu Liu, et al.

the Temporal Index section in Fig. 2, we split the property bitmaps of
CSIndex by property bits. The number of split blocks is equal to thenumber of different predicates in the dataset D. After partitioning,
different blocks represent predicates, and the block number corresponds to the pid value. We then store the tuples corresponding
to each block in the corresponding 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒 and constructa HINT𝑚 index for each 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒. These HINT𝑚 indexes
become the temporal part of the H-ECS. In the process of constructing the HINT𝑚 index, we first determine the partition range basedon the minimum time and maximum time in the 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒.
Then, each record in the 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒 is assigned to the corresponding interval by the HINT𝑚 assignment algorithm with timeas the entry parameter. The Temporal Index section in Fig. 2 shows
the result of assigning the items in 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒 with pid 1
according to the HINT𝑚 interval assignment algorithm. HINT𝑚is logically a hierarchical structure, and we have implemented itat the physical level using a key-value structure. The advantage ofusing the key-value structure is that the items in 𝑃 − 𝑆𝑂 − 𝑇 𝑡𝑎𝑏𝑙𝑒corresponding to each partition can be found quickly during thequery process.
In addition, to reduce unnecessary temporal matching, anotherkey-value index, 𝐶𝑆 − 𝑠 𝑀𝑎𝑝, is incorporated as the composite partof H-ECS. According to the definition of CS in Definition 2, there
may be several different nodes with the same CS in an RDF dataset.
In order to improve the speed of temporal matching of property
bits of CS, we constructs a key-value index 𝐶𝑆 − 𝑠 𝑀𝑎𝑝 to save themapping relationship between CS and the set of nodes with thesame CS.

4 TEMPORAL QUERY
4.1 Temporal Query Syntax
James F Allen has proposed thirteen temporal relations in [7]. These
relations include the seven relations shown in Fig. 3(a) and theinverse of the first six (the temporal positions before and after the

Temporal Relation

Constraint[Ts,Te] BEFORE [T´s,T´e]

Te<T´s[Ts,Te] MEETS [T´s,T´e]

Te=T´sTs>T´s and Te=T´e[Ts,Te] FINISHES [T´s,T´e][Ts,Te] STARTS [T´s,T´e][Ts,Te] DURING [T´s,T´e][Ts,Te] OVERLAP [T´s,T´e][Ts,Te] EQUALS [T´s,T´e]

Ts=T´s and Te<T´e
Ts>T´s and Te<T´e

Ts<T´s<Te and Te<T´e
Ts=T´s and Te=T´e(a)iSPARQL EXAMPLESELECT ?s WHERE{(?s worksFor Alibaba): ts1, te1.
(?s invest ?o): ts2, te2.
}FILTER(BEFORE(?ts1,?te1,2015,2018)&&
DURING(?ts2, ?te2,2014,2017))(b)

Figure 3: thirteen temporal relations and the corresponding
constraints(a) and a iSPARQL example(b)Index Optimization of Extended Characteristic Set for Temporal RDF

Query Parse
Extract Query
CS/ECS

Temporal Parse

get ecs chains and spoId-TimeTable

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

Query MatchECS match

Temporal Match

Query Execute
Match objectCS toqobjectCS

Match subjectCS toqsubjectCS
Match property bitmap ofsubjectCS and qsubjectCS withtemporal

output result

Match property bitmap ofobjectCS and qobjectCS withtemporalget matched ecs triples

join matched ecs triples

Figure 4: TECStore query process
relations are swapped). Ts, Te, and T´s, T´e represent the start timeand end time of two time periods, respectively.
To fully express the temporal relationships of query statements,
TECStore used iSPARQL [11] as the temporal query syntax. Fig. 3(b)shows an example of finding a person who worked at Alibaba before
2015 and had investments between 2014 and 2017.

4.2

Query processing

As shown in Fig. 4, the query processing consists of three steps:
Query Parse, Query Match, and Query Execute. The CS/ECS in thebasic graph schema, the ECSLinks of these ECSs, and the temporal
query conditions are first resolved in the Query Parse step. For
clarity of the later description, the ECSLinks of the query graphare referred to as ECS chains. Then, in the Query Match step, thematching ECSLinks of the ECS chains are found using the H-ECS
index. Finally, these matching ECSLinks are merged and joined in
the Query Execute step to generate the final result.
In the Query Parse step, the CS and ECS in the basic graph schemaof the query statement and the ECS chains of these ECSs are firstextracted according to the CS/ECS definitions in Definition 2 andDefinition 3. Subsequently, the CSIndex and ECSIndex of the basic
graph schema in the query statement are constructed. Unlike the
CSIndex of the dataset, each CS in a query statement has a unique
identifier, even if they have the same properties. This approach
improves query speed by eliminating the need to consider cases
where multiple nodes have the same CSid. Finally, temporal query
conditions is extracted for each query pattern, including the CS id
to which the query pattern belongs, the ids of the subject, predicate,and object of the non-variable, constraint time interval, and the
keywords. In the TECStore, this information is stored in a 7-column
two-dimensional array called 𝑠𝑝𝑜𝐼𝑑 − 𝑇𝑖𝑚𝑒 𝑇 𝑎𝑏𝑙𝑒. Each row of
this two-dimensional array represents a temporal query condition
for a query pattern. The order of the columns is CS id, subject id,
predicate id, object id, start time of the constraint time, end time of
the constraint time, and id of the keyword, in that order.
In the Query Match step, we utilized the triple part of the H-ECS
index to match the ECS nodes in the ECS chain and the ECS nodes
in the ECSLink in the order of the ECS nodes. The matching of
the ECS includes the property bitmaps matching of the subject CS
and the object CS, and we utilized the temporal part of the H-ECS
index to perform the temporal matching after the matching of each

property bitmap is finished. This process also utilizes the composite
part of the H-ECS index to interrupt unnecessary matching in time
to improve the matching speed.
Algorithm 1 shows the subjectCS matching process in detail, andthe objectCS matching process is the same as the subjectCS. Line
2 utilizes the composite part of the H-ECS index to obtain the idsof nodes whose CS is jsubjectCS. Then, in line 3, the triple part of
H-ECS is used to find the property bitset of jsubjectCS. Lines 4 to 8
find the query pattern corresponding to all predicates of qsubjectCS.
Lines 9 to 14 are the property bitmaps and temporal matching of
the query pattern, where line 13 utilizes the temporal part of the
H-ECS index. The temporalMatching function in line 13 uses the
HINT𝑚 matching algorithm. It first finds a matching interval basedon the input keywords and then equivalently matches the constantsubject and object of the P-SO-T data within the interval.
Algorithm 1 subjectCS Match
Input: jECS: current matching ECS in ECSLink,
qECS: current matching ECS in ECS chain,
CS-sMap, CSIndex, spoId-TimeTable.
Output: sids:A result set of sid
1: 𝑗𝑠𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆 ← 𝑗𝐸𝐶𝑆.𝑔𝑒𝑡𝑆𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆 ()𝑞𝑠𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆 ← 𝑞𝐸𝐶𝑆.𝑔𝑒𝑡𝑆𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆 ()2: 𝑞𝐶𝑆𝐼𝑡𝑒𝑚𝑠 ← 𝑛𝑒𝑤𝐿𝑖𝑠𝑡 ()𝑠𝑖𝑑𝑠 ← 𝐶𝑆 − 𝑠𝑀𝑎𝑝.𝑔𝑒𝑡 ( 𝑗𝑠𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆)
3: 𝑝𝑟𝑜𝑝𝑒𝑟𝑡𝑦𝐵𝑖𝑡𝑆𝑒𝑡 ← 𝐶𝑆𝐼𝑛𝑑𝑒𝑥 .𝑔𝑒𝑡 ( 𝑗𝑠𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆)
4: for 𝑖 = 0 to 𝑠𝑝𝑜𝐼𝑑 − 𝑇𝑖𝑚𝑒𝑇 𝑎𝑏𝑙𝑒.𝑠𝑖𝑧𝑒 do
5:
if 𝑠𝑝𝑜𝐼𝑑 − 𝑇𝑖𝑚𝑒𝑇 𝑎𝑏𝑙𝑒 [𝑖] [0] == 𝑞𝑠𝑢𝑏 𝑗𝑒𝑐𝑡𝐶𝑆 then6:
𝑞𝐶𝑆𝐼𝑡𝑒𝑚𝑠.𝑎𝑑𝑑 (𝑠𝑝𝑜𝐼𝑑 − 𝑇𝑖𝑚𝑒𝑇 𝑎𝑏𝑙𝑒 [𝑖])7:
end if
8: end for
9: for 𝑗 = 0 to 𝑞𝐶𝑆𝐼𝑡𝑒𝑚𝑠.𝑠𝑖𝑧𝑒 do
10:
𝑝𝑖𝑑 ← 𝑞𝐶𝑆𝐼𝑡𝑒𝑚𝑠.𝑔𝑒𝑡 ( 𝑗) [2]11:
if 𝑝𝑟𝑜𝑝𝑒𝑟𝑡𝑦𝐵𝑖𝑡𝑆𝑒𝑡 .𝑔𝑒𝑡 (𝑝𝑖𝑑) == 0 or 𝑠𝑖𝑑𝑠.𝑠𝑖𝑧𝑒 == 0 then12:
return 𝑛𝑢𝑙𝑙13:
end if14:
𝑠𝑖𝑑𝑠 ← 𝑡𝑒𝑚𝑝𝑜𝑟𝑎𝑙𝑀𝑎𝑡𝑐ℎ𝑖𝑛𝑔(𝑞𝐶𝑆𝐼𝑡𝑒𝑚𝑠.𝑔𝑒𝑡 ( 𝑗))15: end for
16: return 𝑠𝑖𝑑𝑠
After match, the quintuple with the sid in the sids as the subject
is collected. Moreover, with jECS as the key, the collection of triple
part of these quintuples as the value is stored in the key-value index

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

Yan Wu and Yu Liu, et al.

𝑒𝑐𝑠𝑇 𝑟𝑖𝑝𝑙𝑒𝑠 − 𝑀𝑎𝑝, which will provide a source of results for the
Query Execute step.
In the Query Execute step, merge joins are performed on the
triples in 𝑒𝑐𝑠𝑇 𝑟𝑖𝑝𝑙𝑒𝑠𝑀𝑎𝑝. The ECSLinks matched by each ECS chain
are calculated in the Query Match step. The tuples of the ECS nodes
inside each ECSLink are merge-joined first, and then hash-joins
are performed on the common properties of the different ECSLinks
to obtain the final query result. The merge join algorithm used by
TECStore is similar to AxonDB.

5

TECStore
AxonDB
PeriodDBEVALUATION

To validate the effectiveness of the strategy suggested in this work,
the performances of TECStore, AxonDB, and PeriodDB are compared in terms of storage space, index building speed, and query
speed. Among them, AxonDB is a classic RDF database based on
ECS. It adopts the RDF reification temporal data model that can bedirectly applied to the ECS index. PeriodDB is a database based on
AxonDB with Period Index [16]. It adopts the same temporal data
model of quintuple as TECStore and adjusts the index construction
and query algorithm for the characteristics of the Period Index tosupport temporal query. TECStore, AxonDB, and PeriodDB are
all implemented in Java 1.8. All experiments were conducted onan Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00 GHz server running
CentOS 7.7 with 128GB RAM.
The experimental datasets include synthetic and real-world
datasets. The synthetic dataset uses the LUBM [19] dataset, which
is a synthetic dataset constructed using the LUBM data generator.
The real-world datasets include YAGO2 [20], a Wikipedia-based
spatiotemporal real-world dataset, and FIN, a real-world datasetof equity transactions in the financial sector. The information ofdifferent datasets is shown in Table 1, where time-ratio indicatesthe proportion of tuples with time to the total tuples, max-pathindicates the maximum number of connected triples(The object of
the former triple is the subject of the latter triple), and predicatenum refers to the number of different predicates.

Figure 5: storage space comparison

the RDF reification method used by AxonDB increases the numberof nodes and relationships in the dataset, as it takes five triples
to represent a quintet containing time using reification, which
results in AxonDB taking up more space than the other two systems.
Second, the additional space taken up by the buckets and cells of
the Period Index used by PeriodDB increases with time, causing
PeriodDB to take up more space than TECStore.

5.2

Index Building TimeIn this paper, the speedup ratio is employed as a metric to explain
the time-consumption comparison of each system. As shown inEquation (1), 𝑇𝑓 is the time consumed by AxonDB or PeriodDB,
and 𝑇𝑡 is the time consumed by TECStore.
𝑆𝑡 = 𝑇𝑓 /𝑇𝑡(1)

Table 1: Dataset characteristics
source
LUBM
FIN
YAGO2

5.1

name

triplestime-ratio

max-pathpredicate-num

lubm-10M
lubm-20M
fin-30W
fin-1Myago2-3M
yago2-5M

10312342
21233245
3632161089604
32689445085024

100%
100%
25%
27%
50%
50%

9
9
5
5
3
3

8
8
5
5
6
6

Storage SpaceAs shown in Fig. 5, TECStore occupies less storage space than theother two systems in all experimental datasets. In the more timeintensive YAGO2 and LUBM datasets, TECStore occupies 71% to
75% less storage space than AxonDB and 51% to 67% less storage
space than PeriodDB.
There are several reasons for the experimental results. First,
TECStore and PeriodDB reduce the complexity of temporal RDF
data at the level of the underlying storage model. At the same time,

In the case of TECStore, the index building time refers to thecreation of the H-ECS index presented in this paper. For AxonDB,
the index building time refers to the building time of its ECS index.
Finally, for PeriodDB, the index building time includes the combined
time of building the ECS and Period indexes. The experimental
results in Fig. 6 show that TECStore builds indexes 4 to 28 times
faster than AxonDB and 1.6 to 8.5 times faster than PeriodDB.
The main reason is that the H-ECS index used by TECStore does
not have too many loops or nested loop operations. In contrast,
RDF reification leads to only five different predicates in the dataset,
resulting in only two CSs in the entire dataset. AxonDB also consequently spends much time looking for object-subject joins when
extracting ECSs. In addition, PeriodDB needs to divide the entire
dataset into several buckets using traversal and then traverse the entire dataset again to assign the time intervals to the cells of different
buckets in the index building process. In the process of assigning,
it is necessary to traverse the buckets again. Multiple traversals of
the entire dataset and the nested loops cause the index building
time of PeriodDB to be higher than the one of TECStore.

Index Optimization of Extended Characteristic Set for Temporal RDF

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

number of triples ranging from 2 to the max-path in the evaluateddataset, with time constraints added to each triple. For star queries,
on the other hand, we evaluated all queries with the number of
triples ranging from 2 to the predicate-num in the evaluated dataset,with half of the triples adding a time limit.
The speedup ratio in Equation (1) is used to represent the elapsed
time ratio of the other systems to TECStore. As shown in Fig. 7,
the query efficiency of TECStore is tens of times higher than AxonDB and more than 100 times higher in lubm-20M datasets. Thereis also up to 26 times improvement compared to PeriodDB. The
first reason is that the triple part of the H-ECS index used by TECStore can quickly exclude a large number of non-target tuples
based on the structural features of the tuples. Then, the temporalpart of the H-ECS can pick out tuples that meet the conditions of
the temporal query from the non-excluded tuples. Moreover, thecomposite part of the H-ECS can accelerate the matching process.
On the other hand, AxonDB adopts the RDF reification approach,which makes the whole dataset have at most two CSs: (hasSubject,hasPredicate,hasObject) and (hasSubject,hasPredicate,hasObject ,hasStartTime, hasEndTime). This makes many nodes have thesame CS, and CS matching cannot filter out many nodes at once.
As a result, exponential time consumption arises from the need tocompare each potential node in the matching process. Secondly,
the Period Index used by PeriodDB can only query intersecting
intervals in temporal query, resulting in querying other different
temporal relations requiring further traversal judgment. These indirect operations will generate much time overhead, so the query
efficiency will be lower than TECStore.
In addition, we also observe that the query efficiency advantage of TECStore becomes increasingly evident as the amount ofdata increases. The reason is that the H-ECS index proposed inthis paper not only fully utilizes the ability of ECS to answer complex queries quickly and the ability of HINT𝑚 to execute temporalqueries quickly but also reduces unnecessary pattern matching
to improve query speed. These advantages will become more andmore obvious as the complexity of the query increases.

32

AxonDB vs TECStore
PeriodDB vs TECStore
28

24

Speedup

20

16

12

8

4

0
fin-30w

fin-1Myago2-3M

yago2-5M

lubm-10M

lubm-20M

Figure 6: index building speed comparison

5.3

Query Performance

To evaluate the performance of TECStore’s temporal queries, three
types of queries are defined in this paper1 :(1) The simple query, which contains only one triple pattern;(2) The path query, which consists of multiple connected triple
patterns, where the object of the previous triple is equal to
the subject of the subsequent triple;(3) The star query, which consists of more than two triple patterns with the same subject.
For TECStore and PeriodDB, all queries in this paper are written
using iSPARQL statements. In addition, for AxonDB, query statements are converted to RDF reification form and temporal relations
will be filtered using the FILTER keyword.
To more accurately evaluate the query efficiency of TECStore,
all three types of queries are evaluated on different scales for eachdataset, and the geometric mean of all the results is the final query
results. For simple queries, we evaluated every query with temporal
relationships. For path queries, we evaluated all queries with the
1 The queries for TECStore: https://github.com/EanWo/TECStore180

simple-AxonDB vs TECStore
simple-PeriodDB vs TECStore

70

60

100

path-AxonDB vs TECStore
path-PeriodDB vs TECStore

160

80

140

50

start-AxonDB vs TECStore
start-PeriodDB vs TECStore

90

70

120

30

speedupspeedupspeedup

60
40

100
80
60

20

50
40
30

40

20

20

10

10

0

0

0
fin-30w

fin-1Myago2-3M yago2-5M lubm-10M lubm-20Mafin-30w

fin-1Myago2-3M yago2-5M lubm-10M lubm-20Mbfin-30w

fin-1Myago2-3M yago2-5M lubm-10M lubm-20M

cFigure 7: speedup ratios of AxonDB(solid line) and PeriodDB(dashed line) for three query types: simple(a), path(b), and star(c)on different datasets

IJCKG 2023, December 2023, Miraikan, Tokey, Japan

6

CONCLUSIONSIn order to realize efficient management of temporal RDF data, the
new composite H-ECS index based on an efficient RDF index ECS
and an advanced time interval index is proposed in this paper. Also,
based on H-ECS, we proposed a specific pattern matching algorithm
for typical queries on temporal RDF. In addition, a temporal RDF
data storage and query engine called TECStore is implemented,
equipped with H-ECS indexing and the matching algorithm proposed in this paper. Compared to an ECS-based AxonDB database,
our architecture reduces storage space by 71% to 75% and improvesquery and index building speeds by tens of times. Storage space,index building speed and query speed are significantly improved
compared to PeriodDB, a database combining AxonDB and Period
Index.
Currently, H-ECS indexing is only supported to run on a single
machine, and its performance in handling big data still needs to be
improved. We plan to investigate further the distributed extensionof the H-ECS index in future work. Meanwhile, the H-ECS index
only supports two-pair relationships based on ordinary graphs, simplifying the complexity of data relationships. At the same time, hypergraphs can more accurately describe the relationships between
multiple associated entities. Therefore, we will also investigate theuse of the H-ECS index to manage hypergraph data in our future
work.

ACKNOWLEDGMENT
This work is supported by the Science and Technology Innovation
2030 - "New Generation Artificial Intelligence" (2020AAA0108501),
the National Natural Science Foundation of China (Grant No. 622610
23) and Innovation and Entrepreneurship Training Projects forStudents in Hubei Province(Grant No.S202310488123).

REFERENCES[1] 2004. Rdf Reification. https://www.w3.org/wiki/RdfReification[2] Tianyi Zhou, Yu Liu, Hang Zhang, Feng Gao, and Xiaolong Zhang. 2022. Optimization of Bit Matrix Index for Temporal RDF. In China Conference on Knowledge
Graph and Semantic Computing. Springer, 95–107.
[3] ZHANG Zhe-qing WANG Yin-di and YAN Li. 2021. Indexing Bi-temporal RDF
Model. Computer Science 48, 4 (4 2021), 63–69.
[4] Li Yan, Ping Zhao, and Zongmin Ma. 2019. Indexing temporal RDF graph. Computing 101 (2019), 1457–1488.
[5] Marios Meimaris, George Papastefanatos, Nikos Mamoulis, and Ioannis Anagnostopoulos. 2017. Extended characteristic sets: graph indexing for SPARQL query
optimization. In 2017 IEEE 33rd International Conference on Data Engineering(ICDE). IEEE, 497–508.
[6] George Christodoulou, Panagiotis Bouros, and Nikos Mamoulis. 2023. HINT:
a hierarchical interval index for Allen relationships. The VLDB Journal (2023),
1–28.
[7] James F Allen. 1983. Maintaining knowledge about temporal intervals. Commun.
ACM 26, 11 (1983), 832–843.
[8] Gutierrez, Claudio, Hurtado, A. Carlos, Vaisman, and Alejandro. 2007. Introducing
Time into RDF. IEEE Transactions on Knowledge & Data Engineering (2007).
[9] Konstantina Bereta, Panayiotis Smeros, and Manolis Koubarakis. 2013. Representation and querying of valid time of triples in linked geospatial data. In The
Semantic Web: Semantics and Big Data: 10th International Conference, ESWC 2013,
Montpellier, France, May 26-30, 2013. Proceedings 10. Springer, 259–274.
[10] Jakob Huber. 2014. Temporal reasoning for RDF (S): A Markov logic based
approach. (2014).
[11] Melisachew Wudage Chekol, Giuseppe Pirrò, and Heiner Stuckenschmidt. 2019.
Fast interval joins for temporal SPARQL queries. In Companion Proceedings of
The 2019 World Wide Web Conference. 1148–1154.
[12] Melisachew Chekol, Giuseppe Pirrò, Joerg Schoenfisch, and Heiner Stuckenschmidt. 2017. Marrying uncertainty and time in knowledge graphs. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 31.

Yan Wu and Yu Liu, et al.

[13] Boris Motik. 2012. Representing and querying validity time in RDF and OWL: A
logic-based approach. Journal of Web Semantics 12 (2012), 3–21.
[14] Thomas Neumann and Guido Moerkotte. 2011. Characteristic sets: Accurate
cardinality estimation for RDF queries with multiple joins. In 2011 IEEE 27th
International Conference on Data Engineering. IEEE, 984–994.
[15] J-P Dittrich and Bernhard Seeger. 2000. Data redundancy and duplicate detectionin spatial join processing. In Proceedings of 16th International Conference on Data
Engineering (Cat. No. 00CB37073). IEEE, 535–546.
[16] Andreas Behrend, Anton Dignös, Johann Gamper, Philip Schmiegelt, Hannes
Voigt, Matthias Rottmann, and Karsten Kahl. 2019. Period index: A learned 2d
hash index for range and duration queries. In Proceedings of the 16th International
Symposium on Spatial and Temporal Databases. 100–109.
[17] H. Edelsbrunner. 1980. Dynamic Rectangle Intersection Searching. Inst. https://books.google.com/books?id=OGmkPgAACAAJ[18] Martin Kaufmann, Amin Amiri Manjili, Panagiotis Vagenas, Peter Michael Fischer,
Donald Kossmann, Franz Färber, and Norman May. 2013. Timeline index: aunified data structure for processing queries on temporal data in SAP HANA. In
Proceedings of the 2013 ACM SIGMOD International Conference on Management ofData. 1173–1184.
[19] Yuanbo, Guo, , , Zhengxiang, Pan, , , Jeff, and Heflin. 2005. LUBM: A benchmark
for OWL knowledge base systems. Web Semantics Science Services & Agents on
the World Wide Web (2005).
[20] Johannes Hoffart, Fabian M. Suchanek, Klaus Berberich, and Gerhard Weikum.
2013. YAGO2: A spatially and temporally enhanced knowledge base from
Wikipedia. Elsevier (2013).