Compute a listing of the papers’ publication data grouped by title. Select [x.Title / Select [z.Publication] from y in csPapers, z in y’ Where x.title = y.title ] From w in csPapers, x in w’
Schema – a distinguished hypertree Browsing function – maps strings (URLs) to hypertree, it defines a graph where the nodes are pages and there is an arc between node a and b if the content of the page at node a contains an external arc whose url attribute is the url of the page at node b.
Analogy with Relational database Hypertree > Relations Webs > databases Schema of a web >catalog of a database
Select [x.Tag] From x in browse( [Tag :head] Tag : body]
SFW creates a web Select [y.Title, y’.URL] as schema From x in csPapers, y in x’ Where y.authors ~”smith” Create a web page with URL “Group Names” whose content is the list of group names (assume that there is no such page in the current web) Select [x.Group] as “Group Names” from x in csPapers
Create several pages ; one for each research group (using the group name as URL). Each page contains the publications of the corresponding group Select x’ as x.Group from x in csPapers
Select q1 as s1, q2 as s2, q3 as s3, ….qm as sm where qi’s are queries and si is either a string query or keyworld Schema. Generate a web consisting of a page for each research group containing a title and author of all its publications, and an index web page, that lists all the groups and provides links to their pages newWeb Select unique [Name : x.Group, url : x.Group] as schema [y.Title, y.Authors ] as x.Group From x in csPapers, y in x’
NewerWeb < newWeb select [ Tag: “H3”, Text: y.Title ] + [ Tag: “BR”, Text: y.Publication ] + [ Tag: “BR”, Text: y.Authors ] + [ Tag: “P” ] as x.Name from x in schema, y in x.Name | select [ Tag: “H2”, Text: “Publications of the” * x.Name * “ Group” ] + x.Name + [ Tag: “A”, Label: “To Index”, Url: “ of Projects.html” ] as “ * x.Name * “.html” from x in schema
| select [ Url: “ of Projects.html” ] as schema, [ Tag: “H2”, Text: “Index of Projects” ] + [ Tag: “UL” / select [ Tag: “LI” / [Tag: “A”, Label: x.Name, Url: “ * x.Url * “.html” ] from x in schema ] as “ of Projects.html