• No results found

Example Subscription Classes

The definition of characteristic subscriptions for an application scenario is more challenging than the analysis of typical event patterns. The general problem is that an envisaged application does not exist yet and real-world subscriptions cannot be obtained. The random creation of subscriptions is an approach that has mostly been taken to date. We, on the other hand, take a different approach by using predefined classes of subscriptions that are still flexible enough to create a range of settings, for example, involving differing degrees of cover.

We identified three typical classes of subscriptions that would be used in on- line auctioning systems. We present these classes in this section. Subscription classes define the general structure of subscriptions. This structure is repre- sented by the Boolean combination of predicates (see Section 2.1.1, page 12). Predicates are either defined as fixed predicates, that is, all subscriptions con- forming to a particular class contain these predicates; or they are variable predicates, that is, subscriptions of a class get assigned a random predicate value. To represent real world subscriptions, we restrict this randomness of variable predicates to always result in reasonable subscriptions. (We further describe the assumptions we make later on if this is required.)

3.3.1

Definition of Subscription Classes

We depict the structure of Subscription Class 1 in Figure 3.1. All subscription classes that are presented in the following are represented by what we call a subscription tree. We properly define subscription trees in Section 4.1.2. In this chapter, we need to notice that the Boolean operators of subscriptions are represented by the inner nodes of these trees. Leaf nodes contain the predicates p of subscriptions; we named these predicates in the figures. Above the root node, we also show the type of the subscription that is represented by the

Price < B

OR Ending < 1 day

AND (book)

Title ~ A

Condition = new Price < C Condition = used

AND AND

p2

p1

p4

p3 p5 p6

Figure 3.1: Subscription Class 1 including three variable predicates (p1, p4,

and p5).

respective subscription tree. This type, though, does not belong to the tree structure.

Definition of Subscription Class 1

Subscription Class 1 (see Figure 3.1), representing an exemplary, typical in- terest of subscribers, is described as follows:

Subscription Class 1 Users are interested in certain book titles. Accord- ing to the condition of the copy of the book (either a new or a used copy), they want to pay a different maximal price. To avoid unnecessary notifications, users want to be notified one day before the end of the auction.

In Figure 3.1 the variable predicates of Subscription Class 1 are p1, p4, and p5.

Instances of Subscription Class 1 (i.e., actual subscriptions) define particular values for these predicates, for example, Title ∼ “Harry Potter” for p1,

Price < NZ$15.00for p4, and Price < NZ$12.00 for p5 (example subscription

s1). The subscriber would thus like to get notified if a book is on offer whose

title contains the phrase “Harry Potter”, and which costs less than NZ$15.00 for a new copy and less than NZ$12.00 for a used one. The other predicates shown in Figure 3.1 are fixed predicates of this subscription class.

Definition of Subscription Class 2

We illustrate our second class of subscriptions, Subscription Class 2, in Fig- ure 3.2. It is an extension of Subscription Class 1 and its description is as follows:

Subscription Class 2 Again, users are interested in certain book titles and want to be notified one day before an auction ends. The difference to

OR Format = softcover

AND

Price < E Condition = used Price < D Condition = new OR AND Format = hardcover Price < C

Condition = new Condition = used

OR Ending < 1 day AND (book) Title ~ A AND Price < B

AND AND AND

p12 p4 p3 p2 p1 p6 p5 p7 p8 p9 p10 p11

Figure 3.2: Subscription Class 2 including five variable predicates (p1, p6, p7,

p10, and p11).

Subscription Class 1 is that users further distinguish between different formats, that is, between hardcover and softcover books.

Subscription Class 2 contains five variable predicates: p1, p6, p7, p10, and p11.

An exemplary assignment of values to these predicates is: Title ∼ “Harry Potter” for p1, Price < 25.00 for p6, Price < 20.00 for p7, Price < 15.00

for p10, and Price < 10.00 for p11 (example subscription s2). Using these

predicates again describes an interest in books whose title contains the phrase “Harry Potter”. Additionally, the price specifications now further depend on the book format. For hardcover books, the subscriber wants to pay at most NZ$25.00 for a new copy and NZ$15.00 for a used book copy. If the book is a softcover, she only wants to pay less than NZ$20.00 for a new and less than NZ$10.00 for a used copy. Subscriptions of this class are thus more restrictive than subscriptions of Subscription Class 1 (assuming the subscription of Sub- scription Class 2 specifies lower prices for softcovers than for hardcovers, and the subscription of Subscription Class 1 states the same title and the same prices as for hardcovers in the subscription of Class 2).

Definition of Subscription Class 3

The structure of our last class of subscriptions is shown in Figure 3.3. Sub- scribers specifying a subscription of this class can be characterized as follows:

Subscription Class 3 A collector is interested in books of a certain category but also in books of a particular author. He wants to be notified one hour

Ending < 1 hour OR OR AND Category = A (book) Author ~ B AND OR Attribute = signed Bids = 0

Buy It Now = yes AND Attribute = signed p1 p2 p3 p6 p5 p4 p7

Figure 3.3: Subscription Class 3 including two variable predicates (p1 and

p2).

before the end of an auction offering a signed book copy without any bids. Furthermore, he wants notifications about signed books conforming to his interests if the copies can be bought for a fixed price.

This class of subscriptions contains only two variable predicates, p1 and p2.

These predicates specify the category and the author that are of interest to the collector. An example is Category = Ancient Literature for p1 and

Author ∼ “JK Rowling” for p2 (example subscription s3). These assignments

of predicates restrict the author’s interests to the two stated values11.

3.3.2

Properties of Subscription Classes

We give an overview of the properties of our three subscription classes in Ta- ble 3.2. This table contains different properties for the three subscription classes in its rows. We show two kinds of properties. The first three rows describe properties of the subscriptions classes in their Boolean form, as de- picted in Figures 3.1 to 3.3. We illustrate the number of Boolean operators, the overall number of predicates (fixed plus variable predicates), and the number of variable predicates. The last two rows, however, consider the conversion of these subscription classes to disjunctive normal form (see Section 2.6, page 58). The two properties shown are the number of conjunctive subscriptions that are created out of one Boolean subscription by the conversion and the overall num- ber of predicates in these converted conjunctive subscriptions. The overview 11Note that this subscription class is an example showing that a conjunction in natural language (interest in “Ancient Literature” and “JK Rowling”) cannot be directly translated into a conjunction in the subscription language. This is a common problem when formulating queries in query languages [YS93].

Table 3.2: Overview of selected properties of our three example subscription classes.

Property Class 1 Class 2 Class 3

Boolean operators 4 10 6

Overall original predicates 6 12 7

Variable predicates 3 5 2

Converted conjunctions 2 4 6

Overall converted predicates 8 20 18

in this table should give an idea of the increasing complexity of our example subscriptions due to canonical conversion. The following example illustrates this conversion:

Example 3.1 (Conversion of example subscription) Let us consider ex- ample subscription s1, which was given in Section 3.3.1.

The conversion to disjunctive normal form results in two conjunctive sub- scriptions (Row 4 in Table 3.2): Subscription s1a contains predicates p1, p2,

p3, and p4; subscription s1b contains predicates p1, p2, p5, and p6. Summed

up, both conjunctive subscriptions thus contain eight predicates (Row 5 in Ta- ble 3.2).

Our subscription classes only describe a selection of the typical interests of subscribers (when populating the variable predicates). However, these classes are sufficient for our purposes of evaluation and are considered as representative within this dissertation.

Even though subscriptions created from these classes inherently contain commonalities, our focus on general-purpose filtering solutions is not impacted upon by this effect: The analyzed filtering algorithms work independently of the commonality pattern. As we describe later on, our subscriptions classes are still flexible enough to create workloads involving, for example, differ- ent degrees of cover. We use instances of the presented subscription classes throughout to illustrate our algorithms and approaches, but also within our practical evaluation.

Next to exemplary subscriptions, we define representative advertisement classes. We introduce and describe them in the next section.

BuyItNow = yes OR Category = A AND (book) Attribute = signed Price > C AND AND Price > B p1 p3 p2 p4 p5

Figure 3.4: Advertisement Class 1 including three variable predicates (p1, p3,

and p4).