Presentation is loading. Please wait.

Presentation is loading. Please wait.

Abelisaurus Abrictosaurus Abrosaurus Achelosaurus Achillobator Acrocanthosaurus Adasaurus Aegyptosaurus Aeolosaurus Afrovenator Agilisaurus Agnostiphys.

Similar presentations


Presentation on theme: "Abelisaurus Abrictosaurus Abrosaurus Achelosaurus Achillobator Acrocanthosaurus Adasaurus Aegyptosaurus Aeolosaurus Afrovenator Agilisaurus Agnostiphys."— Presentation transcript:

1 Abelisaurus Abrictosaurus Abrosaurus Achelosaurus Achillobator Acrocanthosaurus Adasaurus Aegyptosaurus Aeolosaurus Afrovenator Agilisaurus Agnostiphys Agustinia Alamosaurus Albertosaurus Alectrosaurus Aletopelta Algoasaurus Alioramus Aliwalia Allosaurus Alocodon Altirhinus Alvarezsaurus Alxasaurus Amargasaurus Ammosaurus Ampelosaurus Amphicoelias Amtosaurus Amurosaurus Amygdalodon Anabisetia Anatotitan Anchiceratops Anchisaurus Andesaurus Animantarx Ankylosaurus Anoplosaurus Anserimimus Antarctosaurus Apatosaurus Aragosaurus Aralosaurus Archaeoceratops Archaeornithoides Archaeornithomimus Argentinosaurus Argyrosaurus Aristosuchus Arrhinoceratops Arstanosaurus Asiamericana Atlasaurus Atlascopcosaurus Aucasaurus Austrosaurus Avaceratops Avimimus Bactrosaurus Bagaceratops Bagaraatan Bahariasaurus Bambiraptor Barapasaurus Barosaurus Barsboldia Baryonyx Becklespinax Beipiaosaurus Bellusaurus Bienosaurus Bihariosaurus Blikanasaurus Borogovia Bothriospondylus Brachiosaurus Brachylophosaurus Bradycneme Bruhathkayosaurus Bugenasaura Byronosaurus Caenagnathasia Calamospondylus Camarasaurus Camelotia Camptosaurus Campylodoniscus Carcharodontosaurus Carnotaurus Caseosaurus Caudipteryx Cedarosaurus Cedarpelta Centrosaurus Ceratops Ceratosaurus Cetiosauriscus Cetiosaurus Chaoyangosaurus Charonosaurus Chasmosaurus Chialingosaurus Chilantaisaurus Chindesaurus Chingkankousaurus Chirostenotes Chondrosteosaurus Chuanjiesaurus Chubutisaurus Chungkingosaurus Citipati Claosaurus Coelophysis Coelurus Coloradisaurus Compsognathus Conchoraptor Corythosaurus Crichtonsaurus Cryolophosaurus Cryptovolans Dacentrurus Daspletosaurus Datousaurus Deinocheirus Deinonychus Deltadromeus Diceratops Dicraeosaurus Dilophosaurus Dinheirosaurus Diplodocus Dolichosuchus Draconyx Dracopelta Drinker Dromaeosaurus Dromiceiomimus Dryosaurus Dryptosaurus Dyslocosaurus Dystrophaeus Echinodon Edmarka Edmontonia Edmontosaurus Einiosaurus Elaphrosaurus Elmisaurus Elopteryx Emausaurus Enigmosaurus Eobrontosaurus Eolambia Eoraptor Eotyrannus Epachthosaurus Equijubus Erectopus Erliansaurus Erlikosaurus Eshanosaurus Eucoelophysis Euhelopus Euoplocephalus Euronychodon Euskelosaurus Eustreptospondylus Ferganasaurus Fukuiraptor Fulgurotherium Gallimimus Galtonia Gargoyleosaurus Garudimimus Gasosaurus Gasparinisaura Gastonia Genusaurus Genyodectes Giganotosaurus Gilmoreosaurus Gobisaurus Gobititan Gojirasaurus Gongxianosaurus Gorgosaurus Goyocephale Graciliceratops Gryposaurus Guaibasaurus Hadrosaurus Haplocanthosaurus Harpymimus Herrerasaurus Hesperosaurus Heterodontosaurus Heyuannia Histriasaurus Homalocephale Hoplitosaurus Huabeisaurus Huayangosaurus Hudiesaurus Hulsanpes Hylaeosaurus Hypacrosaurus Hypsibema Hypsilophodon Iguanodon Iliosuchus Ilokelesia Incisivosaurus Indosaurus Indosuchus Ingenia Irritator Isanosaurus Itemirus Iuticosaurus Jainosaurus Janenschia Jeholosaurus Jiangshanosaurus Jingshanosaurus Jinzhousaurus Jobaria Kaijiangosaurus Kakuru Kentrosaurus Khaan Klamelisaurus Koparion Kotasaurus Kritosaurus Kulceratops Labocania Lambeosaurus Lanasaurus Lapparentosaurus Leaellynasaura Leptoceratops Lesothosaurus Lessemsaurus Lexovisaurus Liaoceratops Liaoningosaurus Ligabueino Liliensternus Lirainosaurus Lophorhothon Loricosaurus A CQL extension for sorting Mike Taylor Index Data –

2 A CQL extension for sortingMike Taylor, Index Data Overview Where we're headed: The problem: sorting in SRU 1.1 The solution: a CQL extension for sorting Examples Description The sorting context set BNF grammar XCQL representation Explain (ZeeRex elements)

3 A CQL extension for sortingMike Taylor, Index Data The problem: sorting in SRU 1.1 The sorting mechanism in SRU 1.1 is inadequate: It requires its own parser. It uses XPath, a format- and schema-specific solution, It is incapable of expressing namespaces in the XPath. It requires its own parameter in the request. It is not extensible (e.g. Unicode sort) or profilable. It is tied directly to the SRU version. Sort criteria are not part of the query language, (as is common in other query languages such as SQL.)

4 A CQL extension for sortingMike Taylor, Index Data The solution: a CQL extension The best solution is to add sorting support to the SRU's query language, CQL: Existing CQL indexes can be used in sort specifications (i.e. abstract access points). Sorting indexes and their modifiers can be profiled in the same way as the core of CQL. Only a single language parser is required in CQL, with minimal changes required to existing CQL parsers Fringe benefit: applications of CQL other than SRU/W will benefit from the new capabilities.

5 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title

6 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title

7 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title

8 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number

9 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase

10 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase dc.title=fish sortby dc.title/sort.respectCase/sort.descending

11 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase dc.title=fish sortby dc.title/sort.respectCase/sort.descending dc.title=fish sortby dc.date dc.creator dc.title

12 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase dc.title=fish sortby dc.title/sort.respectCase/sort.descending dc.title=fish sortby dc.date dc.creator dc.title dc.title=fish sortby dc.date/sort.missingOmit

13 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase dc.title=fish sortby dc.title/sort.respectCase/sort.descending dc.title=fish sortby dc.date dc.creator dc.title dc.title=fish sortby dc.date/sort.missingOmit dc.title=fish sortby dc.date/sort.missingValue=1970

14 A CQL extension for sortingMike Taylor, Index Data An ounce of example is worth a ton of exposition fish sortby title fish and frog sortby title dc.title=fish sortby dc.title dc.title=fish sortby numberOfLegs/cql.number dc.title=fish sortby dc.title/sort.respectCase dc.title=fish sortby dc.title/sort.respectCase/sort.descending dc.title=fish sortby dc.date dc.creator dc.title dc.title=fish sortby dc.date/sort.missingOmit dc.title=fish sortby dc.date/sort.missingValue=1970 >dc="http://deepcustard.org/1.0" fish sortby dc.custardDepth

15 A CQL extension for sortingMike Taylor, Index Data Description of the sorting extension Sort-specifications introduced by new "sortby" operator "sortby" may only occur at the top level of a query LHS of the "sortby" operator is a classic CQL query RHS is an ordered list of sort keys, most significant first Sort key is an index name, with optional modifiers Indexes and modifiers may be from any context set Unqualified indexes drawn from the prevailing context-set Unqualified modifiers drawn from the CQL context set (The concept of an index modifier is new with this proposal.)

16 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers.

17 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default)

18 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting

19 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents

20 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents ascending – sort in ascending order (usually default)

21 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents ascending – sort in ascending order (usually default) descending – sort in descending order

22 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents ascending – sort in ascending order (usually default) descending – sort in descending order missingOmit / missingFail / missingLow / missingHigh

23 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents ascending – sort in ascending order (usually default) descending – sort in descending order missingOmit / missingFail / missingLow / missingHigh missingValue=val – how to sort records lacking key data

24 A CQL extension for sortingMike Taylor, Index Data The sorting context-set No indexes, relations, etc. Only index modifiers. ignoreCase – case-insensitive (usually default) respectCase – case-sensitive sorting ignoreAccents / respectAccents ascending – sort in ascending order (usually default) descending – sort in descending order missingOmit / missingFail / missingLow / missingHigh missingValue=val – how to sort records lacking key data locale=val – locale-specific sorting rules (accents, etc.)

25 cqlQuery ::= prefixAssignment cqlQuery | scopedClause [sortSpec] prefixAssignment ::= '>' prefix '=' uri | '>' uri scopedClause ::= scopedClause booleanGroup searchClause | searchClause booleanGroup ::= boolean [modifierList] boolean ::= 'and' | 'or' | 'not' | 'prox' searchClause ::= '(' cqlQuery ')' | index relation searchTerm | searchTerm relation ::= comparitor [modifierList] comparitor ::= comparitorSymbol | namedComparitor comparitorSymbol ::= '=' | '>' | ' =' | ' ' namedComparitor ::= identifier modifierList ::= modifierList modifier | modifier modifier ::= '/' modifierName [comparitorSymbol modifierValue] prefix ::= term uri ::= term modifierName ::= term modifierValue ::= term searchTerm ::= term index ::= term term ::= identifier | 'and' | 'or' | 'not' | 'prox' | 'sortby' identifier ::= charString1 | charString2 sortSpec ::= sortSpec singleSpec | singleSpec singleSpec ::= index [modifierList] A CQL extension for sortingMike Taylor, Index Data Zzzzzzz... You can switch off now if you like. The rest is boringly technical.

26 A CQL extension for sortingMike Taylor, Index Data BNF grammar Two existing rules need to change: cqlQuery ::= prefixAssignment cqlQuery | scopedClause [sortSpec] term ::= identifier | 'and' | 'or' | 'not' | 'prox' | 'sortby' And two new rules are needed: sortSpec ::= sortSpec singleSpec | singleSpec singleSpec ::= index [modifierList]

27 A CQL extension for sortingMike Taylor, Index Data XCQL representation dc.creator sort.missingValue frog sort.descending

28 A CQL extension for sortingMike Taylor, Index Data Explain (ZeeRex elements) Dublin Core Creator (Author) creator 3 respectCase descending

29 Abelisaurus Abrictosaurus Abrosaurus Achelosaurus Achillobator Acrocanthosaurus Adasaurus Aegyptosaurus Aeolosaurus Afrovenator Agilisaurus Agnostiphys Agustinia Alamosaurus Albertosaurus Alectrosaurus Aletopelta Algoasaurus Alioramus Aliwalia Allosaurus Alocodon Altirhinus Alvarezsaurus Alxasaurus Amargasaurus Ammosaurus Ampelosaurus Amphicoelias Amtosaurus Amurosaurus Amygdalodon Anabisetia Anatotitan Anchiceratops Anchisaurus Andesaurus Animantarx Ankylosaurus Anoplosaurus Anserimimus Antarctosaurus Apatosaurus Aragosaurus Aralosaurus Archaeoceratops Archaeornithoides Archaeornithomimus Argentinosaurus Argyrosaurus Aristosuchus Arrhinoceratops Arstanosaurus Asiamericana Atlasaurus Atlascopcosaurus Aucasaurus Austrosaurus Avaceratops Avimimus Bactrosaurus Bagaceratops Bagaraatan Bahariasaurus Bambiraptor Barapasaurus Barosaurus Barsboldia Baryonyx Becklespinax Beipiaosaurus Bellusaurus Bienosaurus Bihariosaurus Blikanasaurus Borogovia Bothriospondylus Brachiosaurus Brachylophosaurus Bradycneme Bruhathkayosaurus Bugenasaura Byronosaurus Caenagnathasia Calamospondylus Camarasaurus Camelotia Camptosaurus Campylodoniscus Carcharodontosaurus Carnotaurus Caseosaurus Caudipteryx Cedarosaurus Cedarpelta Centrosaurus Ceratops Ceratosaurus Cetiosauriscus Cetiosaurus Chaoyangosaurus Charonosaurus Chasmosaurus Chialingosaurus Chilantaisaurus Chindesaurus Chingkankousaurus Chirostenotes Chondrosteosaurus Chuanjiesaurus Chubutisaurus Chungkingosaurus Citipati Claosaurus Coelophysis Coelurus Coloradisaurus Compsognathus Conchoraptor Corythosaurus Crichtonsaurus Cryolophosaurus Cryptovolans Dacentrurus Daspletosaurus Datousaurus Deinocheirus Deinonychus Deltadromeus Diceratops Dicraeosaurus Dilophosaurus Dinheirosaurus Diplodocus Dolichosuchus Draconyx Dracopelta Drinker Dromaeosaurus Dromiceiomimus Dryosaurus Dryptosaurus Dyslocosaurus Dystrophaeus Echinodon Edmarka Edmontonia Edmontosaurus Einiosaurus Elaphrosaurus Elmisaurus Elopteryx Emausaurus Enigmosaurus Eobrontosaurus Eolambia Eoraptor Eotyrannus Epachthosaurus Equijubus Erectopus Erliansaurus Erlikosaurus Eshanosaurus Eucoelophysis Euhelopus Euoplocephalus Euronychodon Euskelosaurus Eustreptospondylus Ferganasaurus Fukuiraptor Fulgurotherium Gallimimus Galtonia Gargoyleosaurus Garudimimus Gasosaurus Gasparinisaura Gastonia Genusaurus Genyodectes Giganotosaurus Gilmoreosaurus Gobisaurus Gobititan Gojirasaurus Gongxianosaurus Gorgosaurus Goyocephale Graciliceratops Gryposaurus Guaibasaurus Hadrosaurus Haplocanthosaurus Harpymimus Herrerasaurus Hesperosaurus Heterodontosaurus Heyuannia Histriasaurus Homalocephale Hoplitosaurus Huabeisaurus Huayangosaurus Hudiesaurus Hulsanpes Hylaeosaurus Hypacrosaurus Hypsibema Hypsilophodon Iguanodon Iliosuchus Ilokelesia Incisivosaurus Indosaurus Indosuchus Ingenia Irritator Isanosaurus Itemirus Iuticosaurus Jainosaurus Janenschia Jeholosaurus Jiangshanosaurus Jingshanosaurus Jinzhousaurus Jobaria Kaijiangosaurus Kakuru Kentrosaurus Khaan Klamelisaurus Koparion Kotasaurus Kritosaurus Kulceratops Labocania Lambeosaurus Lanasaurus Lapparentosaurus Leaellynasaura Leptoceratops Lesothosaurus Lessemsaurus Lexovisaurus Liaoceratops Liaoningosaurus Ligabueino Liliensternus Lirainosaurus Lophorhothon Loricosaurus A CQL extension for sorting Mike Taylor Index Data –


Download ppt "Abelisaurus Abrictosaurus Abrosaurus Achelosaurus Achillobator Acrocanthosaurus Adasaurus Aegyptosaurus Aeolosaurus Afrovenator Agilisaurus Agnostiphys."

Similar presentations


Ads by Google