µÚ3Õ Index Lookup EagerËã·¨ÔÀíÓëʵÏÖ
³É£ºÉùÃ÷¡¢ÔªËØ¡¢×¢ÊÍ¡¢×Ö·ûÒýÓúʹ¦ÀíÖ¸Áͼ3£®1¼´ÎªÒ»¸öʵ¼ÊµÄXMLÎĵµµÄʾÀý
11
Ñàɽ´óѧ±¾¿ÆÉú±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
ͼ3£®1 XMLÎĵµ¾ÙÀý
ÔÚʵ¼Ê´¦ÀíXMLÊý¾Ýʱ£¬¸üΪ³£¼ûµÄÊÇXML±êÇ©ÓÐÏòͼģÐÍ£¬ÓÉXPath ¹æ·¶ÃèÊö¡£Í¨³£¼ò»¯ÎªXML±êÇ©ÓÐÏòÊ÷Ä£ÐÍ£¬G=(V£¬E£¬r£¬A)£¬ÆäÖеÄV±íʾGÖÐËùÓнڵãµÄ¼¯ºÏ£¬E±íʾGÖÐËùÓбߵļ¯ºÏ£¬r±íʾGµÄ¸ù½Úµã£¬AÊÇËùÓнڵãËù´ø±êÇ©µÄ¼¯ºÏ¡£Í¼2£®2¼´ÎªÍ¼2£®1ÖÐXMLÎĵµ¶ÔÓ¦µÄXMLÎĵµÊ÷¡£
Root Element Attribute Text String value proceedings
publisher issue article title authors year title authors title author 2003 Bibliography author face author On data recognition design
Karen position Cola position Botnich Cohen
ͼ3.2XMLÎĵµÊ÷
address country Germary
3.1.2×î½ôÖÂÆ¬¶ÎÏà¹Ø¸ÅÄî
ÔÚXML¹Ø¼ü×Ö²éѯÖУ¬Óû§Ö»ÐèÊäÈë²éѯ¹Ø¼ü×Ö±ãÄܵõ½ÆÚÍûµÄ½á¹û£¬
12
µÚ3Õ Index Lookup EagerËã·¨ÔÀíÓëʵÏÖ
Õâ¾ÍÉæ¼°Ò»¸öÖØÒªµÄÎÊÌ⣺ÈçºÎ¸ù¾Ý²éѯ¹Ø¼ü×Ö¶¨Òå²éѯ½á¹û¡£Îª´Ë£¬Ìá³ö×î½ôÖÂÆ¬¶ÎµÄ¸ÅÄ×î½ôÖÂÆ¬¶ÎÖ¸ÔÚXMLÎĵµÊ÷ÖУ¬Âú×ãËùÓвéѯ¹Ø¼ü×Ö×éºÏÓïÒåµÄ×îСÊ÷Ƭ¶Î£¬ÕâÑù£¬XML¹Ø¼ü×Ö²éѯÎÊÌâ±ãת»¯Îª²éÕÒËùÓÐ×î½ôÖÂÆ¬¶ÎµÄÎÊÌâ¡£
×îÔçµÄ×î½ôÖÂÆ¬¶Î¶¨ÒåÊÇLCA(Lowest Common Ancestor)¡£LCAÊÇͼÂÛÖо³£Ê¹ÓõÄÒ»¸ö¸ÅÄָÔÚÓÐÏòͼÖУ¬Á½¸ö½ÚµãµÄ×î½ü¹«¹²×æÏȽڵ㡣ÔÚ½«LCAµÄ¸ÅÄîÒýÈëXML¹Ø¼ü×Ö²éѯÖÐʱ£¬LCAÖ¸ËùÓаüº¬²éѯ¹Ø¼ü×ֵĽڵãµÄ×î½ü¹«¹²×æÏÈ¡£Îª¸ø³öLCAµÄ׼ȷ¶¨Ò壬Ê×ÏÈÃ÷È·XMLÊ÷ÖеÄһЩ¸ÅÄî¡£
ÔÚXMLÊ÷ÖУ¬ÎÒÃÇÓÃv±íʾһ¸ö½Úµã¡£¶ÔÓÚÈÎÒâ½Úµãv£¬ÓÃl(v)±íʾ¸Ã½Úµã µÄ±êÇ©ÐÅÏ¢¡£¶ÔÓÚÈÎÒâ½Úµãu¡¢v£¬u?v(u?v)±íʾuÊÇvµÄ׿ÏÈ(ºó´ú)£¬u?v±íʾu?v»òÕßu=v¡£u
ÏÂÃæ£¬¸ø³öLCAµÄ׼ȷ¶¨Ò壺
¸ø¶¨²éѯ¹Ø¼ü×Ö¼¯ºÏK={k1,k2,£®£®£®km }¼°´ý²éѯ¹Ø¼ü×ÖÎĵµD£¬L1±íʾDÖÐÖ±½Ó°üº¬¹Ø¼ü×ÖµºµÄ½Úµã¼¯ºÏ¡£
¶¨Òå3.1£ºLCA£¬ÔÚXMLÎĵµDÖУ¬¸ø¶¨m¸ö½Úµãn1£¬n2£¬£®£®£®£¬nmÈç
¹û¶ÔÓÚ?1¡Üi¡Üm£¬½ÚµãvÊÇniµÄ׿ÏÈ£¬ÇÒ²»´æÔÚ½Úµãu£¬v?u£¬uÒ²ÊÇËùÓÐniµÄ׿ÏÈ£¬ÔòÎÒÃdzÆvÊÇÕâÀú¸ö½ÚµãµÄÒ»¸öLCA£¬¼Ç×ö V=LCA(n1£¬n2£¬£®£®£®£¬nm)¡£
¶¨Òå3.2£ºLCASet£¬¸ø¶¨²éѯ¹Ø¼ü×Ö¼¯ºÏK={k1,k2,£®£®£®km }¼°´ý²éѯ
XMLÎĵµD£¬ÔÚDÉϹØÓÚKµÄLCASet¶¨ÒåΪ LCASet=LCA(L1£¬£¬vi¡ÊLi (1¡Üi¡Üm)}¡£ L2£¬?Lm)={ v|v=LCA£¨v1,v2,?vm£©
ÀýÈ磬ÔÚͼ2£®3ÖУ¬Óû§Ï£Íû²éѯÌâÄ¿Öаüº¬¡°IR¡±²¢ÇÒ×÷ÕßÖÐÓС°John¡±µÄÎÄÕ£¬ÔòÊäÈëµÄ¹Ø¼ü×Ö¼¯ºÏΪ{¡°IR¡±£¬¡°John¡±}£¬¸ù¾ÝLCAµÄ¶¨Ò壬½Úµãpaper(15) ÊÇÕâÁ½¸ö¹Ø¼ü×ÖµÄÒ»¸öLCA£¬ËùÒÔpaper(15)ÊDzéѯµÄÒ»¸öÊä³ö¡£
LCAÊÇXML¹Ø¼ü×Ö²éѯÖÐ×î½ôÖÂÆ¬¶ÎµÄ»ù´¡¶¨Ò壬ÔÚLCAµÄ»ù´¡ÉÏ£¬
13
Ñàɽ´óѧ±¾¿ÆÉú±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
Ïà¼ÌÓÖÌá³öÁËSmallest LCA£¨SLCA£©¡¢Valuable LCA(VLCA)¡¢Meaningful LCA MLCA)µÈ¸ÅÄîÀ´Ìá¸ßXML¹Ø¼ü×Ö²éѯµÄÐÔÄܺÍ׼ȷÂÊ¡£ÆäÖУ¬¶ÔSLCAµÄÑо¿Ïà¶Ô½Ï¶à£¬SLCAµÄ·¢Õ¹Ò²½ÏΪ³ÉÊ죬±»ÈÏΪÊÇĿǰ×îºÃµÄ×î½ôÖÂÆ¬¶ÎµÄ¶¨Òå¡£
3.1.3 SLCA¸ÅÄîÏêÊö
LCA¸ø³öÁËXML¹Ø¼ü×Ö²éѯÖÐ×î½ôÖÂÆ¬¶ÎµÄ¶¨Ò壬µ«ÊÇLCAµÄ¸ÅÄî¹ýÓÚ
¼òµ¥£¬²éѯ׼ȷÂʽϵ͡£
²úÉú¸ÃÎÊÌâµÄÔÒòÔÚÓÚ½á¹û¼¯ÖеÄijЩLCA½ÚµãÊÇÁíһЩLCA½ÚµãµÄ׿ÏȽڵ㣬ÕâÐ©×æÏȽڵãÓë²éѯ¹Ø¼ü×ÖÖ®¼äµÄÏà¹Ø¶ÈÃ÷ÏԽϵ͡£ÎªÁ˽â¾öÕâÒ»ÎÊÌ⣬ÎÄÏ×Ìá³öÁËSLCA(Smallest¡ªLCA)µÄ¸ÅÄî¡£
SLCAµÄ»ù±¾Ë¼ÏëÊÇ£ºÈç¹ûXMLÎĵµÊ÷ÖнڵãvÒѰüº¬ËùÓеIJéѯ¹Ø¼ü×Ö£¬ÄÇôvµÄ׿ÏȽڵãµÄÏà¹Ø¶È¿Ï¶¨Êǽϵ͵ġ£¼´£¬SLCA¸ø³öÒ»¸ö×îСÊ÷£¬¸ÃÊ÷°üº¬ÁËËùÓеĹؼü×Ö£¬ÇÒ¸ÃÊ÷µÄÈÎÒ»×ÓÊ÷¶¼²»ÍêÈ«°üº¬ËùÓйؼü×Ö¡£Òò´Ë£¬SLCAµÄÎÊÌâ¾ÍÊÇÇó½âXMLÎĵµÊ÷ÖÐËùÓÐÂú×ãÈçÏÂÌõ¼þµÄ×ÓÊ÷µÄ¸ù½Úµã£º(1)×ÓÊ÷±ØÐë°üº¬ËùÓйؼü×ÖÐòÁУ¬¹Ø¼ü×ÖÐòÁÐÖеÄÈÎÒ»¹Ø¼ü×Ö±ØÈ»·Ö²¼ÓÚ¸Ã×ÓÊ÷µÄÒ¶½Úµã£»(2)×ÓÊ÷Öв»´æÔÚ¸üСµÄ×ÓÊ÷ͬÑù°üº¬ËùÓеĹؼü×Ö¡£ÏÂÃæ£¬¸ø³öSLCAµÄ׼ȷ¶¨Ò壺
¶¨Òå3£®3£ºSLCA£¬ÔÚXMLÎĵµDÖУ¬¸ø¶¨²éѯ¹Ø¼ü×Ö¼¯ºÏ
K={k1,k2,£®£®£®km }£¬ ½Úµãy¡ÊLCASet¡£Èç¹û£¬²»´æÔÚ½Úµãu£¬v?u£¬u¡ÊLCASet£¬Ôò³ÆvÊǹØÓÚ²éѯ¹Ø¼ü×Ö¼¯ºÏµÄÒ»¸öSLCA¡£ ¶¨Òå3£®4£ºSLCASet£¬¸ø¶¨²éѯ¹Ø¼ü×Ö¼¯ºÏK={k1,k2,£®£®£®km}¼°´ý²é
ѯXMLÎĵµD£¬ÔÚDÉϹØÓÚKµÄSLCASet¶¨ÒåΪ£ºSLCASet=SLCA(L1£¬L2£¬?Lm)={v|v=LCA£¨L1£¬L2£¬?Lm£©£¬
??u |v?u£¬u¡ÊLCA£¨L1£¬L2£¬?Lm£©}
ÀýÈçÔÚͼ2£®3ÖУ¬¾¡¹ÜÔÚ²éѯ¹Ø¼ü×Ö¼¯ºÏ{¡°John¡±£¬¡°Ben¡±}ÏÂconf(2) ¡ÊLCASet£¬µ«conf(2)²¢²»ÔÚSLCASetÖУ¬ÒòΪpaper(15) ¡ÊLCASet²¢ÇÒconf(2) ?paper(15)¡£Òò´Ë£¬¸Ã²éѯµÄÊä³öΪSLCASet=-{paper(12)£¬
14

