Hlavní navigace

Akta X 0605

Petr Cimprich

XPath 2.0 a XQuery 1.0 budou mít velmi užitečné rozšíření pro fulltextové hledání v XML. Web 2.0 už není jen tak obyčejný buzzword, ale registrovaný buzzword. Zacházejte s ním hodně opatrně, ať nenarušíte něčí práva, jako se to podařilo jednomu sdružení IT profesionálů z irského Corku.

Fulltextové hledání v XML

Začátkem května pracovní skupiny XML Query a XSL uveřejnily novou verzi své společné specifikace XQuery 1.0 and XPath 2.0 Full-Text. Tento pracovní dokument definuje rozšíření jazyků XPath 2.0 a XQuery 1.0, které umožňuje fulltextové prohledávání dokumentů XML. Současně byl také aktulizován doplňkový dokument s příklady využití fulltextového hledání v XML.

XQuery, případně XPath, jsou dostatečně mocné nástroje pro prohledávání pravidelně strukturovaných dokumentů XML, ale to bohužel nestačí. Obrovské množství obsahu v XML tvoří textově orientované dokumenty s méně pravidelnou strukturou. Sem patří například dokumenty XHTML, DocBook nebo OpenDocument, tedy velmi důležité a rozšířené formáty. V textových dokumentech se nejlépe vyhledává pomocí fulltextového hledání, což je poněkud jiná úloha než prosté hledání podřetězce. Fulltext nepracuje s pouhou posloupností znaků, ale předpokládá její členění do slov a vět, poradí si s formátovacími značkami a v ideálním případě i se specifickými vlastnostmi jazyka textu.

Fulltextové rozšíření jazyků XPath 2.0 a XQuery 1.0 zavádí několik nových syntaktických konstruktů. Základním rozšířením je operátor ftcontains, který lze ve výrazech použít podobně jako běžné porovnávací operátory. Ve výrazu XPath 2.0 může být použit takto:

/chapter/section[title ftcontains "XML"]/@ID 

To stejné v XQuery vypadá takto:

for $a in /chapter/section
where $a/title ftcontains "XML"
return $a/@ID 

Operátor ftcontains může být doplněn celou řadou modifikátorů upřesňujících způsob hledání s ohledem na velká a malá písmena, diakritiku, jazyk, shodu slovního základu, použití slovníku synonym či nevýznamová slova.

/chapter/section[title ftcontains "transform" insensitive with stemming ]/@ID 

Pro fulltext je typické, že výsledkem není pouze informace o nalezení či nenalezení shody, ale také ohodnocení přesnosti shody. Za tímto účelem fulltextové rozšíření jazyků XPath/XQuery zavádí další klíčové slovo score deklarující proměnnou, jež bude pro každý nalezený výskyt naplněna hodnotou z intervalu [0,1]. Vyšší hodnota znamená vyšší relevanci. Příklad v XQuery:

for $a score $s in /chapter/section
where $a/title ftcontains "XML"
return <result ID={$a/@ID} score="{$s}"/> 

XPath 2.0 také obsahuje klauzuli for, byť o něco jednodušší, než jsou výrazy FLWOR používané v XQuery. Toto je příklad použití skóre v XPath 2.0:

for $a score $s in /chapter/section[$a/title ftcontains "XML"] return $s 

Poslední možnost rozšíření se už týká pouze XQuery. Výše zmíněné modifikátory způsobu hledání mohou být uvedeny také v prologu dotazu jako statický kontext. Modifikátory uvedené přímo u operátoru ftcontains pak mají vyšší prioritu.

Implementace fulltextového rozšíření pro XPath 2.0 a XQuery 1.0 nevystačí s datovým modelem pro XPath/XQuery. Všechny textové řetězce bude navíc nutné „tokenizovat“, tj. rozdělit na slova a věty. Tokenizace, podpora modifikátorů, výpočet skóre – to vše bude silně závislé na implementaci. Proto se musíme smířit s tím, že od různých implementací fulltextu pro XPath/Xquery pro stejný dotaz ve stejném kontextu budeme dostávat různé výsledky.

Web 2.0 ochrannou známkou?

it@cork, sdružení IT profesionálů z irského Corku se rozhodlo uspořádat maloukonferenci o Webu 2.0. Jaké muselo být jejich překvapení, když jim dva týdny před konferencí přišel dopis od právníků zastupujících firmu CMP, která společně s nakladatelstvím O'Reilly pořádá velkou konferenci o Webu 2.0. Právníci oznámili, že pojem Web 2.0 je chráněnou servisní známkou (service mark) společnosti CMP, a požádali o jejího odstranění z názvu konference.

Skutečnost, že se O'Reilly, přední propagátor open source, otevřených standardů a odpůrce softwarových patentů, podílí na registraci pojmu, který se jeho přičiněním stal běžnou součástí IT slovníku, je přinejmenším zajímavá. O'Reillyho lidé se sice snažili vysvětlovat, že ochrana platí pouze pro názvy akcí, a nakonec se s organizátory z Corku domluvili na kompromisu („Web 2.0 Conference“ vadí, „Web 2.0 Half Day Conference“ nikoli), ale stejně se nemůžu zbavit divného pocitu. Pochopím, když si někdo chrání přesný název akce, kterou pořádá, přestože u obecných názvů typu „Web 2.0 Conference“ nebo „Perl Conference“ to může být problematické. Ale registrovat si užití obecného pojmu v názvu akce je něco jiného. Co až si někdo zaregistruje termín „Conference“? CMP a O'Reilly tentokrát šlápli hodně vedle.

Našli jste v článku chybu?

12. 6. 2006 20:35

laoce (neregistrovaný)
to s nakladatelstvom O'Reily. To je presne ten princip vodu kaze vino pije .....teda ak tento clanok nebol vytrhnuty z kontextu celeho problemu okolo Web 2.0
120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

Lupa.cz: Obchod budoucnosti je bez front, košíků i pokladen

Obchod budoucnosti je bez front, košíků i pokladen

Lupa.cz: Levný tarif pro Brno nebude, je to kartel

Levný tarif pro Brno nebude, je to kartel

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Vitalia.cz: Test na HIV je zdarma i za pět set

Test na HIV je zdarma i za pět set

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

DigiZone.cz: Ohrozí Freedom TV přechodové sítě?

Ohrozí Freedom TV přechodové sítě?

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá