WAQL-PP: Preprocessor for a Data Aggregation Query Language

This week I started to design and implement a preprocessor for the Web-service Aggregation Query Language (WAQL) which is an extension of XQuery. This language is used as part of the WS-Aggregation framework developed at the Distributed Systems Group of the Vienna University of Technology. With this text I want to explain the motivation behind WAQL and how the preprocessor will be designed. The motivation is nicely stated as part of my task description.

The key idea of WAQL is that it provides a convenience syntax for XQuery, which otherwise tends to become complex and hardly comprehensible in bigger scenarios. WAQL queries are transformed into valid XQuery expressions, which are finally executed by a (third-party) XQuery engine.

First of all we need to get a grasp of what the WAQL extensions to the XQuery language are. Since WAQL is still in its experimental stages, there is no exact specification of the language and it may change or grow over time. At the moment WAQL consists of two language constructs:

  • Template Lists: This extension tries to simplify the specification of generated inputs. It basically is syntactical sugar representing a XQuery for-loop construct and as such can be transformed easily.
  • Data Dependencies: This second extension is the interesting one, it can express dependencies between several different queries. The framework has to identify these dependencies and execute the queries in a valid order, so that all dependencies can be resolved.

The above two constructs should explain why the actual transformation has to be split into several phases which can be triggered by the framework at different points in time. The separate steps the preprocessor has to perform are as follows:

  1. Parsing: The textual WAQL query is parsed and an intermediate representation is constructed. Since WAQL is an extension which enhances the set of expressions for the XQuery language, the actual parser has to understand the full XQuery grammar. This may sound like a lot of work, but the XQuery specification provides a detailed description of the grammar in about 140 EBNF rules. So defining a valid parser is a doable job.
  2. Resolving of data dependencies: At this point the preprocessor has generated a list of all unresolved data dependencies. However the preprocessor has no idea which other queries are linked to the one currently being processed. So the actual resolving has to be done by the framework, the preprocessor just adapts the intermediate representation to the data provided by the framework.
  3. Transformation: Once all dependencies have been resolved the intermediate representation can be transformed back into a textual XQuery (without any WAQL extensions), which can then be passed on to a third-party XQuery engine.

Now that the basic operations are defined, we are able to give a rough description of the WAQL preprocessor and how it can be embedded into the existing framework. The two basic modules are a generated parser (obviously performing the parsing step) and a driving engine (performing the resolving and transformation steps). The parser will most certainly be generated using the JavaCC parser generator. The below graphic should explain the architecture.

Architecture of the WAQL preprocessor

Note that the above explanation is written from the compiler-constructor point of view, it just covers the preprocessor as part of the framework. All the other nasty details of WS-Aggregation are beyond the scope of this text. If you are interested you should read the paper or contact Waldemar Hummer who was kind enough to explain it to me. Also I will continue to write about the ongoing development of the preprocessor, so stay tuned.

Update: This text was crossposted to the DSG Praktika Blog as well.

I got this web site from my

I got this web site from my buddy who shared with me
on the topic of this web site and at the moment this time I am visiting this site and reading very informative articles at this time.

Everything is very open with

Everything is very open with a precise description of the issues.
It was really informative. Your website is extremely helpful.
Many thanks for sharing!

That is a great tip

That is a great tip especially to those new to the blogosphere.
Short but very precise info… Many thanks for sharing this one.
A must read article!

I do accept as true with all

I do accept as true with all of the ideas you have presented for your post.
They are really convincing and can certainly work. Nonetheless,
the posts are too brief for newbies. Could you please lengthen them a bit from subsequent time?

Thank you for the post.

Asking questions are

Asking questions are genuinely pleasant thing if you are not understanding anything entirely, except this article presents nice understanding yet.

Doskonały post, w sumie masz

Doskonały post, w sumie masz racje, jednak w kilku aspektach bym się kłóciła.
Z pewnością Twój blog zasługuje na uznanie.
Z pewnością tu jeszcze wpadnę.

Hi, I think your site might

Hi, I think your site might be having browser compatibility
issues. When I look at your blog site in Chrome, it looks
fine but when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up! Other then that, fantastic blog!

When I initially left a

When I initially left a comment I seem to have clicked the -Notify me when new comments are added- checkbox and now every time a comment is added I recieve
4 emails with the exact same comment. There has to be a means you
can remove me from that service? Kudos!

Asking questions are

Asking questions are genuinely fastidious thing if you are not understanding something completely,
but this paragraph offers pleasant understanding yet.

This piece of writing will

This piece of writing will help the internet people
for building up new blog or even a blog from start to end.

It's remarkable in support of

It's remarkable in support of me to have a
website, which is good in support of my experience.

thanks admin

Hi, of course this paragraph

Hi, of course this paragraph is actually nice and I have learned lot of things from it about blogging.
thanks.

Wonderful article! We will be

Wonderful article! We will be linking to this particularly great post on our site.
Keep up the good writing.

you are really a excellent

you are really a excellent webmaster. The site loading velocity is amazing.
It kind of feels that you are doing any distinctive trick.
Furthermore, The contents are masterwork. you've done a wonderful job on this matter!

Asking questions are really

Asking questions are really good thing if you are not understanding something entirely,
however this post gives pleasant understanding yet.

Hiya very cool website!! Guy

Hiya very cool website!! Guy .. Excellent .. Wonderful ..
I will bookmark your website and take the feeds additionally?
I'm happy to find so many helpful info here in the publish, we want develop extra
techniques in this regard, thank you for sharing.
. . . . .

Piece of writing writing is

Piece of writing writing is also a excitement, if you know afterward
you can write if not it is complicated to
write.

Thanks for sharing your

Thanks for sharing your thoughts on 안전사이트.
Regards

Hi, I think your website

Hi, I think your website might be having browser compatibility
issues. When I look at your blog site in Chrome, it looks fine but when opening in Internet Explorer, it has some overlapping.

I just wanted to give you a quick heads up! Other
then that, amazing blog!

Hello There. I found your

Hello There. I found your blog the use of msn. This is a
really smartly written article. I'll make sure to bookmark it and return to read more of your
helpful info. Thank you for the post. I'll certainly return.

It's truly a great and

It's truly a great and helpful piece of info. I am satisfied that you just shared this useful info with
us. Please stay us up to date like this. Thanks for sharing.

whoah this blog is

whoah this blog is magnificent i like studying your posts.

Keep up the great work! You recognize, a lot of persons are hunting around for this information,
you could aid them greatly.

Excellent article. Keep

Excellent article. Keep writing such kind of
info on your site. Im really impressed by your site.
Hi there, You have performed a great job. I will definitely
digg it and in my view recommend to my friends. I am sure they'll be
benefited from this website.

Hi to every single one, it's

Hi to every single one, it's truly a fastidious for me to pay a quick visit this
web page, it consists of valuable Information.

Hi, its good paragraph about

Hi, its good paragraph about media print, we all understand media is a
impressive source of information.

Good way of explaining, and

Good way of explaining, and nice post to get information concerning my presentation subject, which i am going to convey in institution of higher
education.

Every weekend i used to pay a

Every weekend i used to pay a quick visit this web site,
as i wish for enjoyment, for the reason that
this this website conations truly nice funny stuff too.

Very good blog you have here

Very good blog you have here but I was curious if you knew of any discussion boards that cover the same topics talked about
here? I'd really like to be a part of group where I can get responses
from other knowledgeable individuals that share the same interest.
If you have any suggestions, please let me know. Many thanks!

Have you ever considered

Have you ever considered writing an e-book or guest authoring on other websites?
I have a blog based on the same subjects you discuss and would love to
have you share some stories/information. I know my viewers would appreciate your work.
If you're even remotely interested, feel free to send me an e-mail.

Awesome post.

Awesome post.

For only 50 employees, that's

For only 50 employees, that's another $100 per month.

Hello there I am so glad I

Hello there I am so glad I found your blog, I really found you by error, while I
was browsing on Bing for something else, Anyways I am here now and would just like to
say many thanks for a remarkable post and a all round exciting
blog (I also love the theme/design), I don’t have time to read through it all at
the moment but I have bookmarked it and also included your RSS
feeds, so when I have time I will be back to read a
great deal more, Please do keep up the fantastic work.

I got this website from my

I got this website from my pal who shared with me concerning this website and at the moment this
time I am browsing this site and reading very informative articles or reviews here.

I know this site gives

I know this site gives quality based articles and other information, is there any other web page which gives these things in quality?

Hurrah! Finally I got a blog

Hurrah! Finally I got a blog from where I be capable of truly take useful information regarding my study and knowledge.

I do not even know the way I

I do not even know the way I stopped up right here,
but I believed this submit was great. I don't recognize who you're however definitely you are
going to a well-known blogger should you aren't already.
Cheers!

Anyone who says that

Anyone who says that Facebook, Twitter, My - Space, and stuff like that are a 'trend' that will soon pass isn't steering you within the
right direction. Tell any visitors with plenty of forethought
where your next art show, craft market or gallery showing will be.

Keeping track of how customers view your business, and reacting for it in time, is sometimes not enough.

I do not know whether it's

I do not know whether it's just me or if everyone else experiencing problems
with your site. It looks like some of the written text in your content are running off
the screen. Can somebody else please comment and let me know if this
is happening to them as well? This might be a problem with my browser
because I've had this happen previously. Kudos

I don’t want to

I don’t want to Claremont
Well I always get hurt
Be an angle of open graves
Fumble through this year
If it back to your voice
Your

It's amazing to pay a visit

It's amazing to pay a visit this web site and reading the views of all friends about this article, while I am also zealous
of getting experience.

Hi mates, fastidious

Hi mates, fastidious paragraph and nice arguments commented here,
I am actually enjoying by these.

I read this post fully

I read this post fully regarding the difference of most recent and previous technologies, it's amazing article.

Please let me know if you're

Please let me know if you're looking for a article author for your site.
You have some really great posts and I feel I would be a good
asset. If you ever want to take some of the load off,
I'd absolutely love to write some articles for your blog in exchange for a link
back to mine. Please blast me an e-mail if interested.
Cheers!

Hi there to all, how is the

Hi there to all, how is the whole thing, I think every one is getting more from this web page, and your views are pleasant in favor of new
users.

I am no longer positive the

I am no longer positive the place you're getting your info, but good topic.
I needs to spend a while learning much more or understanding more.
Thank you for fantastic info I was in search of this info for my mission.

Hi everyone, it's my first

Hi everyone, it's my first pay a visit at this web site, and post is
genuinely fruitful in favor of me, keep up posting such
articles.

If you desire to obtain a

If you desire to obtain a good deal from this paragraph then you have to
apply these strategies to your won webpage.

is a relied on QQ Texas

is a relied on QQ Texas hold'em Online and also Bandar Ceme Online wagering website that supplies online
card video games such as Online Texas Hold'em, DominoQQ, Capsa Online, Ceme Online, Ceme99,
Online Gaming Online Online Poker Sites. QQ Poker Ceme,
the most effective and also safest on the internet poker agent site with 24-hour IDN Online
Texas hold'em solution. For those of you Lovers of the video game Online Online
and also that intend to play gambling Online Online poker, Online Ceme, Domino QQ, City Ceme, Online
Gambling, Bandar Capsa Online in 1 ID

I'm gone to inform my little

I'm gone to inform my little brother, that he should also visit this blog on regular basis to get updated from latest information.

ประวัติทีมบราซิล

ประวัติทีมบราซิล เราคงเป็นที่รู้จักกันดี กับ เจ้าของสถิติทีมชาติที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์ ทั้งหมด ห้า สมัย
Seleção Brasileira de Futebolนั้น พวกเราคงเป็นที่รู้จักกันดีกับเจ้าของสถิติทีมชาติที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์ ซึ่งพวกเขานั้นได้เคยคว้าแชมป์ฟุตบอลโลกมาเเล้วทั้งหมด ห้า สมัย และCanarinhoยังเป็นทีมเดียวที่เข้าร่วมแข่งFIFA World Cupทุกเมื่อตั้งแต่นัดแรกใน FIFA World Cupปี 1930 จนถึงปัจจุบัน
รายชื่อนักเตะทั้ง ยี่สิบสาม คน กันว่าจะโหด ดุ ดัน กันมากแค่ไหน ซึ่งรายชื่อนักฟุตบอลมีดังนี้
ผู้รักษาประตู : อาลีซง รังเซส แบเกร์, เอแดร์สัน , กัสซิโอ้
กองหลัง : Danilo Luiz da Silva , Marcelo Vieira da Silva Júnior , ฟีลีปี
ลูอีช กัสมีร์สกี , João Miranda de Souza Filho, Marquinhos
, Thiago Emiliano da Silva , เกโรเมล
กองกลาง : Casemiro , Fernandinho, Paulinho
, Renato Soares de Oliveira Augusto , เฟร็ด , ฟีลีปี โกชิญญู
โกเรย์ยา, วิลเลียน
FWกองหน้า : เนย์มาร์ ดา ซิลวา ซังตุส ฌูนีโยร์ ,
กาบรีแยล เฟร์นังดู จี เฌซุส, โรแบร์ตู ฟีร์มีนู บาร์โบซา จี โอลีเวย์รา
, โดกลัส กอสตา จี โซซา ,
Taison Barcellos Freda
เป็นยังไงกันบ้างครับ รายชื่อผู้เล่นแต่ละคน ไม่เบากันเลยทีเดียวใช่ไหมครับ ต่อไปเรามาทำความรู้จักกับนักแข่งที่ค่าตัวแพงที่สุดในโลกคนปัจจุบัน Neymar da Silva Santos Júnior แน่นอนว่า หัวใจหลักของฟุตบอลทีมชาติ บราซิล
Brazilชุดนี้ยังคงอยู่ที่ปีกยอดฝีเท้าคนนี้ และ แฟนๆก็ต่างรอดูกันว่า Neymar จะพาSeleção Brasileira de Futebolไปได้ไกลสักแค่ไหนในฟุตบอลโลกครั้งนี้
บราซิล ถือเป็นหนึ่งทีมที่ทำผลงานน่าผิดหวังในศึกFIFA World
Cup 2018 เมื่อพวกเขาถูกยกให้เป็นเต็ง 1 ของการแข่งขัน
แต่กลับจอดป้ายเพียงแค่รอบ 8 ทีมสุดท้ายเท่านั้น จากการพ่ายแพ้ให้กับ Diables Rougesด้วยคะแนน 1-2 ในทัวร์นาเมนต์ที่รัสเซีย
นั่นทำให้ ฟุตบอลทีมชาติ บราซิล Brazil ตกรอบน็อกเอาต์ ฟุตบอลโลก 4 ครั้งติดต่อกัน 2018 - พ่ายแพ้ เบลเยียม 1 ต่อ 2 (รอบก่อนรองชนะเลิศ),
2014 - พ่ายแพ้ เยอรมนี 1 ต่อ
7 (รอบรองชนะเลิศ), 2010 - พ่ายแพ้ ฮอลแลนด์ 1 ต่อ
2 (รอบก่อนรองชนะเลิศ) และ 2006 - ไม่ชนะ ฝรั่งเศส 0-1 (รอบก่อนรองชนะเลิศ) หลังจากครองแชมป์โลกในปี
2002
Canarinho โฉมใหม่
ไม่เพียงแต่ในเรื่องเทคนิคการเล่นเท่านั้นที่ถูกวิพากษ์วิจารณ์ แต่พฤติกรรมของ Neymar ที่ถูกยกให้เป็นซูเปอร์สตาร์ของทีม ก็โดนว่ากล่าวไม่น้อยเมื่อเขาพยายามสำออยแกล้งเจ็บดีดดิ้นเกินควรทุกครั้งที่โดนทำฟาวล์ จนถูกนำไปล้อเลียนกลายเป็นตัวตลกของคนทั่วโลกไปแล้ว
อย่างไรก็ตาม ตีเต้ เทรนเนอร์ทีมชาติบราซิล ก็ยังคงได้รับความไว้เนื้อเชื่อใจให้ดำรงในตำแหน่งเดิมต่อไป เมื่อสหพันธ์ลูกหนังแซมบ้าประกาศชัดเจนว่ามีการต่อสัญญาคุมทีมยาวออกไปจนถึงศึกเวิร์ล คัพ 2022 ที่ประเทศกาตาร์แล้ว
โรเจริโอ กาบ็อคโล่ ประธานบริหาร Seleção Brasileira de Futebol เผยว่า "ฟุตบอลทีมชาติ บราซิล Brazil กำลังลงทุนในโครงการระยะยาวด้วยการรับประกันว่าทีมงานด้านเทคนิคจะได้ทำทีมชาติเป็นระยะเวลา 6 ปีครึ่ง (หมายถึงนับตั้งแต่ที่ ตีเต้ เข้ามาคุมทีม ไปจนถึงศึก เวิร์ล คัพ 2022) เราเชื่อว่าการวางแผนอย่างรอบคอบ และการลงมือทำอย่างสุขุมจะทำให้วงการO Scratchได้ผลลัพธ์ตามที่เราคาดหวังไว้"
ขณะที่ ตีเต้ กล่าวว่า "ประสบการณ์ในการคุมทีมช่วงแรกมันทำให้เกิดความไว้เนื้อเชื่อใจกัน ซึ่งมันจะถูกสะท้อนให้เห็นในขั้นต่อไป ในมุมมองของผมนั้น Seleção Brasileira de Futebol ได้มอบเงื่อนไขให้เราว่าต้องสร้างบรรยากาศของความสามัคคีและความเป็นอันหนึ่งอันเดียวกันให้ได้ ซึ่งเราจะทำอย่างนั้นต่อไป มันเป็นความท้าทายครั้งใหญ่ และเราก็รู้สึกดีใจที่ได้เผชิญหน้ากับความท้าทายนั้น เราจะให้ความสำคัญกับการแข่งและทัวร์นาเมนต์ต่างๆ ที่รออยู่"
แม้จะได้รับความไว้วางใจจากผู้บริหารสมาคม แต่แน่นอนว่า ตีเต้ ต้องรีบกอบกู้ศรัทธากลับมาจากเหล่าแฟนบอลให้ได้โดยเร็วที่สุด และโอกาสแรกของเขาก็มาถึงเมื่อขุนพล "เซเลเซา"
มีโปแกรมอุ่นเครื่องกับ ฟุตบอลชายทีมชาติสหรัฐ และ El Salvador ในช่วงเดือนกันยายนนี้ และได้มีการประกาศรายชื่อนักแข่งออกมาเป็นที่เรียบร้อยแล้ว
ฟุตบอลทีมชาติ บราซิล
Brazil มีคิวฟาดแข้งกับ ฟุตบอลชายทีมชาติสหรัฐ ที่นิวเจอร์ซีย์ วันที่ 7 กันยายน ก่อนเจอกับ United States men's national soccer team ที่วอชิงตัน ในอีก 4 วันถัดมา โดย เปเรยร่า
ถูกเรียกตัวเป็นครั้งแรก หลังจากแหล่งข่าวออกมาเผยเมื่อวันพฤหัสบดีว่า โรเบร์โต้ มาร์ติเนซ
กุนซือทีมชาติเบลเยียม สนใจที่จะดึงตัวดาวเตะ แมนฯยูไนเต็ด ไปเล่นให้ "ฟุตบอลทีมชาติเบลเยียม" เช่นกัน
เปเรยร่า เป็น 1 ใน 2 แข้ง ปีศาจแดง ร่วมกับ เฟรเดรีกู โรดรีกิส จี เปาลา ซังตุส ที่ถูก "เซเลเซา" เรียกตัว แต่ทว่าไม่มีชื่อของดาวเตะจากเพื่อนร่วมเมืองอย่าง สโมสรฟุตบอลแมนเชสเตอร์ซิตี อยู่ในทีมชุดนี้เลย เมื่อทั้ง แฟร์นานดินโญ่