让我们考虑Events
。
< Event, rdf:type, owl:Thing >
< Event, follow, Event >
< Event, precede, Event >
< Event, hasRank, integer^^sxd:integer >
如果r2 = r1 + 1,则等级为r1 precede
的事件e1为等级r2的事件e2。我们还说e2 follow
e1。
属性RDFS
和follow
的{{1}}语义是使用下面的SPARQL查询在三元组商店中实现的
precede
现在让我们考虑添加CONSTRUCT {
<?e1, precede, ?e2> .
<?e2, follow, ?e1> .
}
WHERE {
<?e1, hasRank, ?r1> .
<?e2, hasRank, ?r2> .
FILTER (?r2 = ?r1+1)
}
的概念。
模式可以是项集(即事件集)或序列(有序事件集)
Pattern
如何在序列中表示顺序约束的语义,以便将其与an itemset is a set of events
P = {e1,...,eN}
a sequence is an itemset with a constraint in order
P = {e1, ..., eN} + \forall e_i, e_{i+1} < e_i, precede, e_i+1 > and < e_{i+1}, follow , e_i >
< Pattern, rdf:type, owl:Thing >
< Itemset, rdfs:subClassOf, Pattern >
< Sequence, rdfs:subClassOf, Pattern >
< Pattern, contains, Event >
中的项目集明确区分开来?