Title: S S XML
1???????? ???????S? S? ???????? XML
S??F???S S???????S
2???????? ???????S? S? ???????? XML
?
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
3Difficulties on Querying XML Data
Creta
4Difficulties on Querying XML Data
Search problem Name Xiaoying Wu Place Athens
Center, Heraklio Purpose Sightseeing Problem
? structural difference
Parthenon (438 BC)
Phaistos Disk (1700 BC)
Creta
5Difficulties on Querying XML Data
Search problem Name Theodore Dalamagas Place
Islands Purpose Sea sports Problem ?
structural inconsistency
Windsurf
Jet ski
Creta
6Difficulties on Querying XML Data
Search problem Name Dimitri Theodoratos Place
Heraklio Purpose HDMS Conference Problem ?
unknown structure
HDMS 2008
Creta
7Difficulties on Querying XML Data
Search problem Name Stefanos Souldatos Place
Any island Purpose Escape from PhD! Problem ?
multiple sources
Creta
?
theHotel.gr
1400 islands
hotels.gr
holidays.gr
8Difficulties on Querying XML Data
Can we use existing query languages (XPath,
XQuery) to express our queries?
Can we use existing techniques to evaluate our
queries?
Creta
9Partial Queries in XPath
Path queries
Tree-pattern queries
1. //Hotelsdescendant-or-selfancestor-or-self
Cityancestor-or-selfAthens 2.
//Hotels/Citydescendant-or-selfancestor-or-s
elfAthens 3. //Hotels/City//Athens 4.
//Hotels/Citydescendant-or-selfancestor-or-s
elfAthens//City descendant-or-selfances
tor-or-selfIsland 5. //Hotels/City//Athens
/City//Island
10Partial Queries
root node (optional) query node labelled by
a child relationship descendant relationship
r
a
11Conclusions (up to now)
- Need for queries with partial structure
- We introduce partial queries
- Partial queries can be expressed in XPath
12???????? ???????S? S? ???????? XML
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
?
13Query Processing
QUERY PROCESSING
QUERY EVALUATION
partial path query
partial path query in canonical form
14Query Processing
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
15Query Processing
INFERENCE RULES (IR1) - r//ai (IR2) x/y - x//y
(IR3) x//y, y//z - x//z (IR4) x/ai, x//bj -
ai//bj (IR5) ai/x, bj//x - bj//ai (IR6) x/y,
y/w, x//z, z//w - x/z (IR7) x/y, x//z, w/z, w//y
- x/z (IR8) x/y, y/w, x/z - z/w (IR9) x//y,
y//w, x/z - z//w (IR10) x/y, w/y, w/z -
x/z (IR11) x//y, w/y, w//z - x//z (IR12) x/y,
y/w, z/w - x/z (IR13) x//y, y//w, z/w -
x//z x,y,z,w query nodes ai/bj nodes labelled
by a/b
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
16Query Processing
INFERENCE RULES (IR1) - r//ai (IR2) x/y - x//y
(IR3) x//y, y//z - x//z (IR4) x/ai, x//bj -
ai//bj (IR5) ai/x, bj//x - bj//ai (IR6) x/y,
y/w, x//z, z//w - x/z (IR7) x/y, x//z, w/z, w//y
- x/z (IR8) x/y, y/w, x/z - z/w (IR9) x//y,
y//w, x/z - z//w (IR10) x/y, w/y, w/z -
x/z (IR11) x//y, w/y, w//z - x//z (IR12) x/y,
y/w, z/w - x/z (IR13) x//y, y//w, z/w -
x//z x,y,z,w query nodes ai/bj nodes labelled
by a/b
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
17Query Processing
INFERENCE RULES (IR1) - r//ai (IR2) x/y - x//y
(IR3) x//y, y//z - x//z (IR4) x/ai, x//bj -
ai//bj (IR5) ai/x, bj//x - bj//ai (IR6) x/y,
y/w, x//z, z//w - x/z (IR7) x/y, x//z, w/z, w//y
- x/z (IR8) x/y, y/w, x/z - z/w (IR9) x//y,
y//w, x/z - z//w (IR10) x/y, w/y, w/z -
x/z (IR11) x//y, w/y, w//z - x//z (IR12) x/y,
y/w, z/w - x/z (IR13) x//y, y//w, z/w -
x//z x,y,z,w query nodes ai/bj nodes labelled
by a/b
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
18Query Processing
INFERENCE RULES (IR1) - r//ai (IR2) x/y - x//y
(IR3) x//y, y//z - x//z (IR4) x/ai, x//bj -
ai//bj (IR5) ai/x, bj//x - bj//ai (IR6) x/y,
y/w, x//z, z//w - x/z (IR7) x/y, x//z, w/z, w//y
- x/z (IR8) x/y, y/w, x/z - z/w (IR9) x//y,
y//w, x/z - z//w (IR10) x/y, w/y, w/z -
x/z (IR11) x//y, w/y, w//z - x//z (IR12) x/y,
y/w, z/w - x/z (IR13) x//y, y//w, z/w -
x//z x,y,z,w query nodes ai/bj nodes labelled
by a/b
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
19Query Processing
INFERENCE RULES (IR1) - r//ai (IR2) x/y - x//y
(IR3) x//y, y//z - x//z (IR4) x/ai, x//bj -
ai//bj (IR5) ai/x, bj//x - bj//ai (IR6) x/y,
y/w, x//z, z//w - x/z (IR7) x/y, x//z, w/z, w//y
- x/z (IR8) x/y, y/w, x/z - z/w (IR9) x//y,
y//w, x/z - z//w (IR10) x/y, w/y, w/z -
x/z (IR11) x//y, w/y, w//z - x//z (IR12) x/y,
y/w, z/w - x/z (IR13) x//y, y//w, z/w -
x//z x,y,z,w query nodes ai/bj nodes labelled
by a/b
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
20Query Processing
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
A query is unsatisfiable if its full form
contains a trivial cycle
21Query Processing
A node y is redundant if one of the following
patterns occur
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
a)
c)
c
b)
22Query Processing
- Full form
- Satisfiability
- Redundant nodes
- Canonical form
canonical form of satisfiable query full form
IR2 IR3 redundant nodes
23Canonical Form
partial path query directed acyclic graph with
same-path constraint
partial tree-pattern query directed acyclic graph
with same-path constraints
24Conclusions (up to now)
- Need for queries with partial structure
- We introduce partial queries
- Partial queries can be expressed in XPath
- We can process any partial query ? dag
25???????? ???????S? S? ???????? XML
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
?
26Evaluation Algorithms
- Partial Path Queries
- PQGen Produce path queries
- PathJoin Decompose into paths
- PartialMJ Dec. into spanning tree paths
- PartialPathStack novel holistic
Partial Tree-Pattern Queries TPQGen Produce
TPQs PPJoin Decompose into PPs PartialTreeStack
novel holistic
27Partial Path Queries PQGen
Producing all possible path queries
?
1. Produce all possible path queries 2. Evaluate
paths using existing algorithms 3. Keep all
results
28Partial Path Queries PQGen
Producing all possible path queries
?
1. Produce all possible path queries 2. Evaluate
paths using existing algorithms 3. Keep all
results
29Partial Path Queries PQGen
Producing all possible path queries
?
1. Produce all possible path queries 2. Evaluate
paths using existing algorithms 3. Keep all
results
30Partial Path Queries PathJoin
Decomposing into root-to-leaf paths
?
1. Decompose into root-to-leaf paths 2. Evaluate
paths using existing algorithms 3. Join
conditions (identity , path )
31Partial Path Queries PathJoin
Decomposing into root-to-leaf paths
?
1. Decompose into root-to-leaf paths 2. Evaluate
paths using existing algorithms 3. Join
conditions (identity , path )
32Partial Path Queries PathJoin
Decomposing into root-to-leaf paths
?
1. Decompose into root-to-leaf paths 2. Evaluate
paths using existing algorithms 3. Join
conditions (identity , path )
33Partial Path Queries PartialMJ
Using a spanning tree
r
?
?
d
b
c
e
1. Create a spanning tree of the query 2.
Decompose into root-to-leaf paths 3. Evaluate
paths using an extension of PathStack 4. Join
conditions (identity , structural , path
)
34Partial Path Queries PartialMJ
Using a spanning tree
r
?
?
d
b
c
e
1. Create a spanning tree of the query 2.
Decompose into root-to-leaf paths 3. Evaluate
paths using an extension of PathStack 4. Join
conditions (identity , structural , path
)
35Partial Path Queries PartialMJ
Using a spanning tree
r
?
?
d
b
c
e
1. Create a spanning tree of the query 2.
Decompose into root-to-leaf paths 3. Evaluate
paths using an extension of PathStack 4. Join
conditions (identity , structural , path
)
36Partial Path Queries PartialMJ
Using a spanning tree
r
?
?
d
b
c
e
1. Create a spanning tree of the query 2.
Decompose into root-to-leaf paths 3. Evaluate
paths using an extension of PathStack 4. Join
conditions (identity , structural , path
)
37Partial Path Queries PartialPathStack
leaf node
tree
PathStack
r
b1
d1
Results
leaf nodes
PartialPathStack
c1
e1
d2
c2
e2
Results
38Partial Path Queries PartialPathStack
leaf node
tree
PathStack
r
r
b1
d1
Results
leaf nodes
PartialPathStack
c1
e1
r
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results
39Partial Path Queries PartialPathStack
leaf node
tree
PathStack
r
r
b1
b1
d1
Results
leaf nodes
PartialPathStack
c1
e1
r
b1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results
40Partial Path Queries PartialPathStack
leaf node
tree
PathStack
r
r
b1
d1
b1
d1
Results
leaf nodes
PartialPathStack
c1
e1
d1
r
b1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results
41Partial Path Queries PartialPathStack
leaf node
PathStack
tree
r
c1
r
b1
d1
b1
d1
Results
leaf nodes
PartialPathStack
c1
e1
d1
r
b1
c1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results
42Partial Path Queries PartialPathStack
leaf node
PathStack
tree
r
c1
e1
r
b1
d1
b1
d1
Results ra1b1d1c1e1
leaf nodes
PartialPathStack
c1
e1
d1
r
b1
c1
e1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results ra1b1d1c1e1
43Partial Path Queries PartialPathStack
leaf node
tree
PathStack
d2
r
c1
r
b1
d1
b1
d1
Results ra1b1d1c1e1
leaf nodes
PartialPathStack
c1
e1
d2
d1
r
b1
c1
e1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results ra1b1d1c1e1
44Partial Path Queries PartialPathStack
leaf node
PathStack
tree
d2
c2
r
c1
r
b1
d1
b1
d1
Results ra1b1d1c1e1
leaf nodes
PartialPathStack
c1
e1
d2
c2
d1
r
b1
c1
e1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results ra1b1d1c1e1, ra1b1d1c2e1
45Partial Path Queries PartialPathStack
leaf node
tree
PathStack
d2
c2
r
c1
r
b1
d1
e2
b1
d1
Results ra1b1d1c1e1, ra1b1d1c1e2
leaf nodes
PartialPathStack
c1
e1
d2
c2
e2
d1
r
b1
c1
e1
d2
Sr
Sb
Sd
Sc
Se
c2
e2
Results ra1b1d1c1e1, ra1b1d1c2e1, ra1b1d1c1e2
46Partial Path Queries PartialPathStack
tree
PathStack
Bruno et al, 2002
r
Optimal for path queries O(input output)
b1
d1
Souldatos et al, 2007
PartialPathStack
c1
e1
Optimal for partial path queries O(inputindegree
outputoutdegree)
d2
c2
e2
47Partial Path Queries Comparison
48Evaluation Algorithms
- Partial Path Queries
- PQGen Produce path queries
- PathJoin Decompose into paths
- PartialMJ Dec. into spanning tree paths
- PartialPathStack novel holistic
Partial Tree-Pattern Queries TPQGen Produce
TPQs PartialPathJoin Decompose into
PPs PartialTreeStack novel holistic
49Partial Tree-Pattern Queries TPQGen
Producing all possible tree-pattern queries
?
1. Produce all possible tree-pattern queries 2.
Evaluate queries using existing algorithms 3.
Keep all results
50Partial Tree-Pattern Queries TPQGen
Producing all possible tree-pattern queries
?
1. Produce all possible tree-pattern queries 2.
Evaluate queries using existing algorithms 3.
Keep all results
51Partial Tree-Pattern Queries TPQGen
Producing all possible tree-pattern queries
?
1. Produce all possible tree-pattern queries 2.
Evaluate queries using existing algorithms 3.
Keep all results
52Partial Tree-Pattern Queries PartialPathJoin
Decomposing into partial paths
?
1. Decompose into partial paths 2. Evaluate
partial paths using PartialPathStack 3. Join
conditions (identity )
53Partial Tree-Pattern Queries PartialPathJoin
Decomposing into partial paths
?
1. Decompose into partial paths 2. Evaluate
partial paths using PartialPathStack 3. Join
conditions (identity )
54Partial Tree-Pattern Queries PartialPathJoin
Decomposing into partial paths
?
1. Decompose into partial paths 2. Evaluate
partial paths using PartialPathStack 3. Join
conditions (identity )
55Partial Tree-Pattern Queries PartialTreeStack
tree
56Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
b1
d1
c1
e1
d2
c2
e2
57Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
b1
b1
b1
d1
c1
e1
d2
c2
e2
58Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d1
d1
d1
c1
e1
d2
c2
e2
59Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d1
d1
d1
c1
c1
c1
e1
rb1d1c1
rd1b1c1
d2
c2
e2
60Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d1
d1
d1
c1
c1
e1
e1
e1
rb1d1c1
rd1b1c1
rb1d1e1
rd1e1
d2
c2
e2
61Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d2
d2
d1
d1
d1
c1
c1
e1
e1
rb1d1c1
rd1b1c1
rb1d1e1
rd1e1
d2
c2
e2
62Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d2
d2
d1
d1
d1
c2
c1
c1
e1
c2
e1
rb1d1c1 rb1d1c2 rb1d2c2
rd1b1c1 rd1b1c2 rd2b1c2
rb1d1e1
rd1e1
d2
c2
e2
63Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d2
d2
d1
d1
d1
c2
e2
c1
c1
e1
e2
e1
rb1d1c1 rb1d1c2 rb1d2c2
rd1b1c1 rd1b1c2 rd2b1c2
rb1d1e1 rb1d1e2 rb1d2e2
rd1e1 rd1e2 rd2e2
d2
c2
e2
64Partial Tree-Pattern Queries PartialTreeStack
tree
r
r
r
r
r
b1
b1
b1
d2
d2
d1
d1
d1
c2
e2
c1
c1
e1
e1
rb1d1c1 rb1d1c2 rb1d2c2
rd1b1c1 rd1b1c2 rd2b1c2
rb1d1e1 rb1d1e2 rb1d2e2
rd1e1 rd1e2 rd2e2
d2
c2
e2
rb1d1c1e1, rb1d1c1e2, rb1d1c2e1, rb1d1c2e2,
rb1d2c2e2
65Partial Tree-Pattern Queries PartialTreeStack
TwigStack
PartialTreeStack
tree
r
b1
d1
O(inputQPPoutputN) Optimal for small
partial tree-pattern queries
c1
O(input output) Optimal for tree-pattern
queries
e1
d2
c2
e2
Qnodesedges PPNo of PPs Nnodes
66Partial Tree-Pattern Queries Comparison
67Conclusions (up to now)
- Need for queries with partial structure
- We introduce partial queries
- Partial queries can be expressed in XPath
- We can process any partial query ? dag
- We proposed algorithms for their evaluation
68???????? ???????S? S? ???????? XML
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
?
69Absolute Query Containment
Each result of Q1 is a result of Q2.
?
Q1 ? Q2
Q1
Q2
r
r
a
?
a
b
b
c
c
70Absolute Query Containment
Each result of Q1 is a result of Q2.
?
Q1 ? Q2
homomorphism from Q2 to the full form of Q1
Q1
Q2
r
r
a
?
a
b
b
c
c
71Absolute Query Containment
Each result of Q1 is a result of Q2.
?
Q1 ? Q2
homomorphism from Q2 to the full form of Q1
Q1
Q2
r
r
a
?
a
b
b
c
c
72Absolute Query Containment
Each result of Q1 is a result of Q2.
?
Q1 ? Q2
homomorphism from Q2 to the full form of Q1
Q1
Q2
r
r
a
?
gt Checking absolute query containment is very
fast (homomorphism)
a
b
b
c
c
73Relative Query Containment
- Some important stuff first
1. Dimension graphs summarize the structure of
an XML tree
XML Tree
Dimension graph
74Relative Query Containment
- Some important stuff first
2. Dimension trees equivalent to a query in a
specific dimension graph
DT1.1
Q1
Dimension graph
75Relative Query Containment
- Some important stuff first
2. Dimension trees equivalent to a query in a
specific dimension graph
DT2.2
DT2.1
Dimension graph
Q2
76Relative Query Containment
Each result of Q1 in G is a result of Q2 in G.
?
Q1 ?G Q2
Q1
Q2
Dimension graph
?G
77Relative Query Containment
Each result of Q1 in G is a result of Q2 in G.
?
Q1 ?G Q2
homomorphism from the Dimension Trees of Q2 to
the Dimension Trees of Q1
Q1
Q2
Dimension graph
?G
78Relative Query Containment
Each result of Q1 in G is a result of Q2 in G.
?
Q1 ?G Q2
DT2.2
DT1.1
homomorphism from the Dimension Trees of Q2 to
the Dimension Trees of Q1
DT2.1
?G
79Relative Query Containment
Each result of Q1 in G is a result of Q2 in G.
?
Q1 ?G Q2
DT2.2
DT1.1
homomorphism from the Dimension Trees of Q2 to
the Dimension Trees of Q1
DT2.1
gt Checking relative query containment can be
very slow (dimension trees)
?G
80Heuristic for Relative Cont.
1. Extract info from the dimension graph
2. Add it to Q1
Q1
3. Check Q1? Q2
Q2
Dimension graph
? ?G
81Heuristic for Relative Cont.
1. Extract info from the dimension graph
2. Add it to Q1
Q1
3. Check Q1? Q2
Q2
Dimension graph
? ?G
82Heuristic for Relative Cont.
1. Extract info from the dimension graph
2. Add it to Q1
Q1
3. Check Q1? Q2
Q2
Dimension graph
? ?G
83Heuristic for Relative Cont.
1. Extract info from the dimension graph
2. Add it to Q1
Q1
3. Check Q1? Q2
OK
Q2
Dimension graph
? ?G
84???????? ???????S? S? ???????? XML
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
?
85Queries Used in the Experiments
Q1/Q5
Q2/Q6
Q3/Q7
Q4/Q8
86Query Evaluation
Execution time on Treebank
2.5 million nodes
87Query Evaluation
Execution time on Treebank
2.5 million nodes
path queries
88Query Evaluation
Execution time on Treebank
2.5 million nodes
too many results
89Query Evaluation
Execution time on Synthetic data
2.5 million nodes (IBM AlphaWorks XML generator)
90Query Evaluation
Q2
Execution time varying the size of the XML tree
PartialMJ
PartialPathStack
Q3
Q7
PartialMJ
PartialMJ
PartialPathStack
PartialPathStack
91Query Containment
Execution time varying the graph size
Relative Containment
Heuristic accuracy gt 98 gt 90 gt 78 gt 60
On-The-Fly Heuristic
Time (sec)
Precomputed Heuristics
Number of Graph Paths
92Query Containment
Execution time varying the query size
Relative Containment
Heuristic accuracy gt 98 gt 79 gt 39 gt 32
On-The-Fly Heuristic
Time (sec)
Precomputed Heuristics
Number of Nodes per Query Path
93Conclusions (up to now)
- Need for queries with partial structure
- We introduce partial queries
- Partial queries can be expressed in XPath
- We can process any partial query ? dag
- We proposed algorithms for their evaluation
- We showed that our algorithms for evaluation and
containment outperform other techniques
94???????? ???????S? S? ???????? XML
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion
?
95Conclusions
- Need for queries with partial structure
- We introduce partial queries
- Partial queries can be expressed in XPath
- We can process any partial query ? dag
- We proposed algorithms for their evaluation
- We showed that our algorithms for evaluation and
containment outperform other techniques
96Contribution
97Publications
- QUERY EVALUATION
- Stefanos Souldatos, Xiaoying Wu, Dimitri
Theodoratos, Theodore Dalamagas, Timos Sellis.
Evaluation of Partial Path Queries on XML Data.
16th CIKM Conference, Lisboa, Portugal, 2007. - Xiaoying Wu, Stefanos Souldatos, Dimitri
Theodoratos, Theodore Dalamagas, Timos Sellis.
Efficient Evaluation of Generalized Path Pattern
Queries on XML Data. 17th WWW Conference,
Beijing, China, 2008.
98Publications
- QUERY CONTAINMENT
- Dimitri Theodoratos, Theodore Dalamagas, Pawel
Placek, Stefanos Souldatos, Timos Sellis.
Containment of Partially Specified Tree-Pattern
Queries. 18th SSDBM Conference, Vienna, Austria,
2006. - Dimitri Theodoratos, Pawel Placek, Theodore
Dalamagas, Stefanos Souldatos, Timos Sellis.
Containment of Partially Specified Tree-Pattern
Queries in the Presence of Dimension Graphs. VLDB
Journal, 2008.
99Publications
- HEURISTICS FOR CONTAINMENT
- Dimitri Theodoratos, Stefanos Souldatos,
Theodore Dalamagas, Pawel Placek, Timos Sellis.
Heuristic Containment Check of Partial
Tree-Pattern Queries in the Presence of Index
Graphs. 15th CIKM Conference, Arlington, USA,
2006. - Pawel Placek, Dimitri Theodoratos, Stefanos
Souldatos, Theodore Dalamagas, Timos Sellis.
Heuristic Approaches for Checking Containment of
Generalized Tree-Pattern Queries. 17th CIKM
Conference, Napa Valley, California, USA, 2008.
100Publications
- WEB SEARCH PERSONALIZATION
- Stefanos Souldatos, Theodore Dalamagas, Timos
Sellis. Sailing the Web with Captain Nemo a
Personalized Metasearch Engine. Learning in Web
Search Workshop, 22nd ICML Conference, Bonn,
Germany, 2005. - Stefanos Souldatos, Theodore Dalamagas, Timos
Sellis. Captain Nemo A Metasearch Engine with
Personalized Hierarchical Search Space.
Informatica Journal, 2006. - Stefanos Souldatos, Theodore Dalamagas, Timos
Sellis. Sailing the Web with Captain Nemo a
Personalized Metasearch Engine. Internet Search
Engines (book), ICFAI University (Institute of
Chartered Financial Analysts of India). Reprint
of the publication in Learning in Web Search
Workshop, 2007.
101Questions?
- Partial queries
- Query processing
- Query evaluation
- Query containment
- Experiments
- Conclusion