のこの単純なオントロジーを考えてみましょうEvents
。
< Event, rdf:type, owl:Thing >
< Event, follow, Event >
< Event, precede, Event >
< Event, hasRank, integer^^sxd:integer >
ランク r1precede
のイベント e1 r2 = r1 + 1 の場合、ランク r2 のイベント e2。e2 e1 とも言いますfollow
。
プロパティのRDFS
セマンティックは、次の SPARQL クエリを使用してトリプル ストアに実装されますfollow
。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 >
順序制約のセマンティックをシーケンスで表現して、アイテムセットと明確に区別するにはどうすればよいRDFS
ですか?