Difference between revisions of "SA-REST"

From Knoesis wiki
Jump to: navigation, search
(AUmkYeuUFOaTQMq)
(Changed the top to reflect the latest version)
 
(53 intermediate revisions by 5 users not shown)
Line 1: Line 1:
/home/user/public_html/rb/ftp///mushroom-soup-recipe.html mushroom soup recipe;cream of mushroom soup recipe;mushroom cream soup recipe;of mushroom soup recipe;cream of mushroom soup recipes;chicken mushroom soup recipe;mushroom soup and recipe;recipe for mushroom soup;rice mushroom soup recipe;chicken and mushroom soup recipe;recipe wild mushroom soup;beef mushroom soup recipe;mushroom soup receipe;mushroom soup casserole recipe;of mushroom soup recipe for;golden mushroom soup recipe;recipe for cream of mushroom soup;chop mushroom soup recipe;hungarian mushroom soup recipe;potato mushroom soup recipe;rice and mushroom soup recipe;broccoli mushroom soup recipe;easy mushroom soup recipe;fat mushroom soup recipe;onion mushroom soup recipe;& mushroom soup recipe;cheese mushroom soup recipe;homemade mushroom soup recipe;low fat mushroom soup recipe;of mushroom soup rice recipe
+
<span style="color:red">Note : This is a draft version of SA-REST. The latest (and active) version is the [http://www.w3.org/Submission/SA-REST/ W3C Member Submission] </span>
/home/user/public_html/rb/ftp/htdocs/tuna-casserole-recipe.html tuna casserole recipe;breakfast casserole recipe;broccoli casserole recipe;casserole and recipe;corn casserole recipe;rice casserole recipe;sweet potato casserole recipe;breakfast casserole recipes;casseroles recipes;egg casserole recipe;potato casserole recipes;easy casserole recipes;tater tot casserole recipe;tuna casserole recipes;broccoli casserole recipes;easy casserole recipe;recipes for casseroles;rice casserole recipes;beef casserole recipe;beef casserole recipes;corn casserole recipes;recipe for potato casserole;sausage casserole recipe;ham casserole recipe;mexican casserole recipe;squash casserole recipes;hamburger casserole recipes;turkey casserole recipe;best casserole recipe;casseroles recipe
+
 
/home/user/public_html/rb/ftp///hot-water-pressure.html hot water pressure;pressure of water;water high pressure;pressure in water;water pressure regulator;water pressure tank;water vapor pressure;water pressure valve;water pump pressure;water pressure home;well water pressure;pressure for water;water pressure tanks;cold water pressure;pressure and water;water pressure gauge;hot water pressure washer;how water pressure;increase water pressure;shower water pressure;water pressure booster;water pressure switch;house water pressure;water air pressure;water pressure pumps;hot water pressure washers;water pressure system;water temperature pressure;no water pressure;residential water pressure
+
----
/home/user/public_html/rb/ftp///chocolate-chip-cake-recipe.html chocolate chip cake recipe;fish cake recipe;plain cake recipe;lemon pound cake recipe;zucchini cake recipe;recipe for banana cake;moist chocolate cake recipe;diabetic cake recipe;peanut butter cake recipe;flourless chocolate cake recipe;chiffon cake recipe;cinnamon cake recipe;gooey butter cake recipe;applesauce cake recipe;recipe for fruit cake;key lime cake recipe;cake mix cookie recipe;italian cream cake recipe;recipe for apple cake;buttermilk cake recipe;recipe chocolate zucchini cake;tiramisu cake recipe;recipe for cake icing;recipe for pineapple upside down cake;best crab cake recipe;moist carrot cake recipe;banana split cake recipe;russian cake recipe;dairy free cake recipe;recipe for cake frosting
+
 
/home/user/public_html/rb/ftp///to-kill-a-mockingbird-analysis.html to kill a mockingbird analysis;to kill a mockingbird chapters;to kill a mockingbird free;to kill a mockingbird prejudice;to kill a mockingbird setting;to kill a mockingbird study guide;to kill a mockingbird lesson plans;to kill a mockingbird maycomb map;to kill a mockingbird quote;to kill a mockingbird test;to kill a mockingbird theme;to kill a mockingbird tom;books to kill a mockingbird;to kill a mockingbird boo;to kill a mockingbird courage;to kill a mockingbird jem;to kill a mockingbird racism;finch to kill a mockingbird;the movie to kill a mockingbird;to kill a mockingbird boo radley;to kill a mockingbird download;to kill a mockingbird essays;to kill a mockingbird film;to kill a mockingbird reviews;to kill a mockingbird symbolism;to kill a mockingbird character analysis;to kill a mockingbird play;to kill a mockingbird plot;to kill a mockingbird symbols;to kill a mockingbird page
+
 
/home/user/public_html/rb/ftp///rapidshare-dvd.html rapidshare dvd;music dvd rapidshare;cloverfield dvd rapidshare;rapidshare com dvd;hancock dvd rapidshare;i am legend dvd rapidshare;vantage point dvd rapidshare;1408 dvd rapidshare;pq dvd rapidshare;21 dvd rapidshare;fitness dvd rapidshare;next dvd rapidshare;wanted dvd rapidshare;cars dvd rapidshare;shooter dvd rapidshare;untraceable dvd rapidshare;1408 dvd rapidshare com;cloverfield dvd rapidshare com;dan in real life dvd rapidshare;photography dvd rapidshare;planet earth dvd rapidshare;war dvd rapidshare;awake dvd rapidshare;deal or no deal dvd rapidshare;dvd a rapidshare;first sunday dvd rapidshare;21 dvd rapidshare com;departed dvd rapidshare;dvd rapidshare forum;evolution dvd rapidshare
+
SA-REST is a simple and open microformat for enhancing Web resources with additional semantic information.
/home/user/public_html/rb/ftp///and.html and;&;kc & jojo;k ci & jojo;rakim & ken y;pon & zi;kuehne & nagel;peter bjorn & john;aly & aj lyrics;brick & lace;command & conquer 3 tiberium wars;mario & sonic;me & you;gabriel & dresden;me & u;suite life of zack & cody;tag & rename;famous stars & straps;hall & oats;kc & the sunshine band;blu & exile;g love & special sauce;salt & pepper;bain & co;crosby stills nash & young;h & m stores;israel & new breed;k & n filters;law & order ci;merck & co inc
+
In addition to HTML and XHTML, the SA-REST approach can also be used to enrich Atom, RSS, and arbitrary XML. SA-REST is one of several open microformat standards.
/home/user/public_html/rb/ftp///vegetarian-mushroom-soup-recipe.html vegetarian mushroom soup recipe;mushroom soup meatloaf recipe;recipe using mushroom soup;in mushroom soup recipe;japanese mushroom soup recipe;mushroom brie soup recipe;healthy mushroom soup recipe;mushroom soup gravy recipe;recipe ground beef mushroom soup;stuffing mushroom soup recipe;tomato mushroom soup recipe;cream mushroom recipe;cream of mushroom recipe;stuffed mushroom recipe;recipe for mushroom;recipe of mushroom;stuffed mushrooms recipe;recipe for mushrooms;mushroom sauce recipe;portobello mushroom recipes;mushroom pie recipe;mushroom rice recipe;mushrooms and recipe;stuffed mushrooms recipes;beef mushroom recipe;mushroom cheese recipe;recipe for stuffed mushrooms;spinach mushroom recipe;chicken and mushroom recipes;pasta mushroom recipe
+
 
/home/user/public_html/rb/ftp/htdocs/chicken-rice-casserole-recipes.html chicken rice casserole recipes;ham casserole recipes;hamburger casserole recipe;mexican casserole recipes;mushroom casserole recipe;recipe for tuna casserole;spinach casserole recipe;taco casserole recipe;vegetable casserole recipe;recipe for corn casserole;soup casserole recipe;zucchini casserole recipe;cornbread casserole recipe;healthy casserole recipes;macaroni casserole recipe;pineapple casserole recipe;pork casserole recipe;stuffing casserole recipe;tuna noodle casserole recipes;bacon casserole recipe;chili casserole recipe;easy chicken casserole recipe;ground beef casserole recipe;low fat casserole recipe;onion casserole recipe;recipe for squash casserole;free casserole recipe;pasta casserole recipes;pizza casserole recipe;tortilla casserole recipe
+
==People==
/home/user/public_html/rb/ftp///boiler-water-pressure.html boiler water pressure;booster pump water pressure;low pressure hot water;pressure on water;water pipe pressure;water pressure flow;water pressure head;water pressure hose;water pressure psi;water pressure regulators;water under pressure;high pressure water pump;low water pressure shower;plumbing water pressure;water pressure problems;water pressure valves;water well pressure tank;high pressure water pumps;water pressure systems;water pressure table;calculate water pressure;city water pressure;household water pressure;pressure from water;water line pressure;water pressure calculation;water pressure control;water pressures;adjust water pressure;home water pressure regulator
+
Collaborators in the SA-REST initiative are listed by their affiliations.
/home/user/public_html/rb/ftp///chocolate-coffee-cake-recipe.html chocolate coffee cake recipe;filled cake recipe;basic sponge cake recipe;easy coffee cake recipe;easy banana cake recipe;7up cake recipe;lemon bundt cake recipe;raisin cake recipe;krispie cake recipe;eggless chocolate cake recipe;raspberry cake filling recipe;lemon pudding cake recipe;coffee and walnut cake recipe;recipe for eggless cake;chocolate mayonnaise cake recipe;easy pound cake recipe;jello poke cake recipe;old fashioned pound cake recipe;swirl cake recipe;malteser cake recipe;dense cake recipe;easy sponge cake recipe;spice cake mix recipe;strawberry cake filling recipe;free pound cake recipe;easy quick cake recipe;almond pound cake recipe;greek cake recipe;breakfast cake recipe;buttermilk pound cake recipe
+
* '''kno.e.sis center, Wright State University, Dayton, OH'''
/home/user/public_html/rb/ftp///to-kill-a-mockingbird-quizzes.html to kill a mockingbird quizzes;watch to kill a mockingbird;pictures of to kill a mockingbird;to kill a mockingbird book review;to kill a mockingbird study questions;to kill a mockingbird book summary;to kill a mockingbird character list;to kill a mockingbird dvd;to kill a mockingbird events;to kill a mockingbird pdf;to kill a mockingbird quotations;to kill a mockingbird synopsis;to kill a mockingbird video;to kill a mockingbird wiki;to kill a mockingbird wikipedia;to kill a mockingbird family;to kill a mockingbird house;to kill a mockingbird information;to kill a mockingbird project;notes on to kill a mockingbird;to kill a mockingbird com;to kill a mockingbird court;to kill a mockingbird cover;to kill a mockingbird dog;to kill a mockingbird facts;to kill a mockingbird info;to kill a mockingbird photos;characters of to kill a mockingbird;to kill a mockingbird articles;to kill a mockingbird date
+
** Amit P. Sheth.
/home/user/public_html/rb/ftp///race-dvd-rapidshare.html race dvd rapidshare;rock dvd rapidshare;the come up dvd rapidshare;the rock dvd rapidshare;training dvd rapidshare;vantage point dvd rapidshare com;0 dvd rapidshare;1 dvd rapidshare;1 dvd rapidshare com;rapidshare de dvd;10 dvd rapidshare;12 dvd rapidshare;13 dvd rapidshare;1992 dvd rapidshare;1994 dvd rapidshare;1995 dvd rapidshare;1997 dvd rapidshare;1998 dvd rapidshare;2 dvd rapidshare;2 dvd rapidshare com;2000 dvd rapidshare;2001 dvd rapidshare;2002 dvd rapidshare;2003 dvd rapidshare;2004 dvd rapidshare;2005 dvd rapidshare;2006 dvd rapidshare;2007 dvd rapidshare;2007 dvd rapidshare com;2008 dvd rapidshare com
+
** Karthik Gomadam.
/home/user/public_html/rb/ftp///sly--the-family-stone.html sly & the family stone;sonny & cher;stop & stare;the suite life of zack & cody;emerson lake & palmer;fitz & floyd;goldman sachs & co;hide friends & comments;k & n air filters;kleiner perkins caufield & byers;m & m candy;michaels arts & crafts;starsky & hutch;abercombie & fitch;ben & jerrys ice cream;bernie & phyls;brigham & womens hospital;carter & burgess;crowell & moring;drum & bass;florida a & m university;h & m store;harold & kumar go to white castle;k & l gates;knape & vogt;laverne & shirley;san diego gas & electric;watters & watters;abbott & costello;bits & pieces
+
** Ajith Ranabahu
/home/user/public_html/rb/ftp///pork-mushroom-recipe.html pork mushroom recipe;recipe for mushroom soup;garlic mushroom recipe;mushroom casserole recipe;mushroom risotto recipe;recipes for mushroom;crab mushroom recipe;grilled mushroom recipe;indian mushroom recipe;mushroom barley recipe;mushroom onion recipe;wine mushroom recipe;broccoli mushroom recipe;easy mushroom recipe;fried mushroom recipe;mushroom recipe vegetarian;potato mushroom recipe;tomato mushroom recipe;baked mushroom recipe;mushroom quiche recipe;sausage mushroom recipe;best mushroom recipe;mushroom pizza recipe;mushrooms spinach recipe;oyster mushroom recipe;pepper mushroom recipe;pork chop mushroom recipe;recipes for stuffed mushrooms;rice and mushroom recipe;shrimp mushroom recipe
+
 
/home/user/public_html/rb/ftp/htdocs/vegetarian-casserole-recipe.html vegetarian casserole recipe;vegetarian casserole recipes;bread casserole recipe;chop casserole recipes;easy chicken casserole recipes;potatoes casserole recipe;recipe for a casserole;recipe for broccoli rice casserole;recipe for tater tot casserole;spinach casserole recipes;cabbage casserole recipes;grits casserole recipe;pierogi casserole recipe;recipe for casseroles;seafood casserole recipes;shrimp casserole recipes;sour cream casserole recipe;apple casserole recipe;asparagus casserole recipes;carrot casserole recipe;recipe for sausage casserole;reuben casserole recipe;salmon casserole recipe;low carb casserole recipe;meat casserole recipe;quick casserole recipe;vegan casserole recipe;casserole dish recipe;cheeseburger casserole recipe;chicken potato casserole recipe
+
==Introduction==
/home/user/public_html/rb/ftp///increasing-water-pressure.html increasing water pressure;tap water pressure;water filter pressure;water pressure calculator;water pressure chart;water pressure meter;water pressure shower head;water pressure volume;water well pressure tanks;well low water pressure;constant water pressure;more water pressure;standard water pressure;static water pressure;water atmospheric pressure;water density pressure;water supply pressure;calculating water pressure;gravity water pressure;minimum water pressure;poor water pressure;water pressure flow rate;water pressure formula;water pressure sensor;water pressure tester;air pressure and water;air pressure water pressure;hydrostatic water pressure;square d water pressure;the pressure of water
+
<!-- Replace this with a need for additional semantic annotation for Web resources. Highlight Web APIs as an example, not the only effect. -->
/home/user/public_html/rb/ftp///lemon-cake-filling-recipe.html lemon cake filling recipe;easy pineapple upside down cake recipe;recipe for flourless chocolate cake;recipe for applesauce cake;moist lemon cake recipe;decadent cake recipe;jamaican fruit cake recipe;gluten free carrot cake recipe;chinese moon cake recipe;angelfood cake recipe;nutella cake recipe;cake recipe with buttermilk;molton cake recipe;moist vanilla cake recipe;gumdrop cake recipe;funfetti cake recipe;blackforest cake recipe;decadent chocolate cake recipe;pandan chiffon cake recipe;dense chocolate cake recipe;battenburg cake recipe;mincemeat cake recipe;old fashioned chocolate cake recipe;orange cake mix recipe;easiest cake recipe;pineapple pound cake recipe;moist sponge cake recipe;carvel ice cream cake recipe;recipe for eclair cake;recipe for jello poke cake
+
 
/home/user/public_html/rb/ftp///to-kill-a-mockingbird-help.html to kill a mockingbird help;to kill a mockingbird history;to kill a mockingbird images;to kill a mockingbird journal;to kill a mockingbird mockingbird;to kill a mockingbird music;to kill a mockingbird picture;to kill a mockingbird research;to kill a mockingbird summery;to kill a mockingbird article;to kill a mockingbird book report;to kill a mockingbird flash;to kill a mockingbird mp3;to kill a mockingbird school;to kill a mockingbird set;characters from to kill a mockingbird;to kill a mockingbird final;to kill a mockingbird gregory peck;to kill a mockingbird introduction;to kill a mockingbird neighborhood;to kill a mockingbird pics;to kill a mockingbird web;watch to kill a mockingbird online;essays on to kill a mockingbird;to kill a mockingbird 1997;to kill a mockingbird citation;to kill a mockingbird game;to kill a mockingbird settings;to kill a mockingbird year;pictures from to kill a mockingbird
+
===Current mashup tools and technologies===
/home/user/public_html/rb/ftp///2009-dvd-rapidshare.html 2009 dvd rapidshare;3 dvd rapidshare;3 dvd rapidshare com;4 dvd rapidshare;4 dvd rapidshare com;4 tutorial dvd rapidshare;40d dvd rapidshare;5 dvd rapidshare;6 dvd rapidshare;7 dvd rapidshare;8 dvd rapidshare;9 dvd rapidshare;a light dvd rapidshare;america dvd rapidshare;and dvd rapidshare;avi dvd rapidshare;back down dvd rapidshare;back dvd rapidshare;band dvd rapidshare;basics dvd rapidshare;bay dvd rapidshare;black dvd rapidshare;blood dvd rapidshare;blood dvd rapidshare com;body dvd rapidshare;book dvd rapidshare;breach dvd rapidshare;bucket list dvd rapidshare;call dvd rapidshare;caspian dvd rapidshare
+
<!-- This section changes as well to talk about limitation in APIs and how SA-REST can address this. Add a blog example.-->
/home/user/public_html/rb/ftp///buy--sell.html buy & sell;chip & pepper;coffee bean & tea leaf;country inns & suites;cravath swaine & moore;de shaw & co;hancock & moore;health & wellness;hennes & mauritz;herald & review;international academy of design & technology;johnson & murphy;jon & kate 8;kirkpatrick & lockhart;kum & go;laurel & hardy;mergers & acquisitions;moet & chandon;museum of science & industry;penn & teller bullshit;phineas & ferb;potter & brumfield;praise & worship;quaker steak & lube;quarles & brady;the bold & the beautiful;williams & connolly;air & space;ann & hope;at & t internet
+
Although mashups fully embrace the idea of customization on the Web, read-write is another story. The complexity of application development using javascript makes it hard for average developers to create new mashups and to customize the existing ones. To solve this problem, several companies are developing tools for mashup creation that require little or no programming knowledge. These tools, exemplified by Yahoo! pipes, IBM's QEDwiki and Google's Mashup Editor, facilitate the selection of some number of RESTful Web services or other Web resources and chain them together by piping one service's output into the next service's input while filtering content and making slight format changes.
/home/user/public_html/rb/ftp///spinach-and-mushroom-recipe.html spinach and mushroom recipe;spinach mushroom recipes;mushroom curry recipe;mushroom salad recipe;mushroom sandwich recipe;vegan mushroom recipe;white mushroom recipe;asparagus mushroom recipe;cheese stuffed mushroom recipe;cheese stuffed mushrooms recipe;mushroom omelette recipe;oyster mushroom recipes;recipe for cream of mushroom;tofu mushroom recipe;wild rice mushroom recipe;zucchini mushroom recipe;dried mushroom recipe;golden mushroom recipe;mushroom bake recipe;mushroom casserole recipes;mushroom meatloaf recipe;pork and mushroom recipe;recipe for stuffed mushroom;salmon mushroom recipe;baked mushroom recipes;eggplant mushroom recipe;fresh mushroom recipe;mushroom alfredo recipe;mushroom and onion recipe;mushroom bread recipe
+
====Limitations====
/home/user/public_html/rb/ftp/htdocs/lentil-casserole-recipe.html lentil casserole recipe;pepper casserole recipe;recipe for ham casserole;recipe for mexican casserole;ground turkey casserole recipe;hot dog casserole recipe;hot dog casserole recipes;lasagna casserole recipe;meatball casserole recipe;onion casserole recipes;pineapple casserole recipes;recipe for hamburger casserole;recipe for vegetable casserole;recipe for zucchini casserole;biscuit casserole recipe;hasbrown casserole recipe;pizza casserole recipes;recipe for pineapple casserole;recipe for seafood casserole;recipe for spaghetti casserole;recipe for spinach casserole;recipe for turkey casserole;veg all casserole recipe;veggie casserole recipe;baked bean casserole recipe;barley casserole recipe;chicken cordon bleu casserole recipe;tofu casserole recipe;easy squash casserole recipe;grits casserole recipes
+
One of the main drawbacks of the current state of the art is the lack of support for interoperability, especially that of data. Since most of the existing tools limit their support to services internal to the specific vendor that created them (for example, Google Mashup Editor has a complete abstraction of Google Maps service) or to services that have standard types of outputs such as RSS or Atom (Yahoo! Pipes), the problem of interop is not highlighted.
/home/user/public_html/rb/ftp///water-pressure-equation.html water pressure equation;water pressure guage;water steam pressure;air pressure in water;improve water pressure;maximum water pressure;reduce water pressure;typical water pressure;water pressure adjustment;water pressure change;water pressure measurement;water pressure reduction;about water pressure;causes of low water pressure;deep water pressure;inch water pressure;recommended water pressure;using water pressure;water back pressure;water pressure boosters;water pressure gage;bad water pressure;best water pressure;lost water pressure;water pressure test gauge;fresh water pressure;pressure over water;reduced water pressure;water pressure booster system;water pressure transducer
+
 
/home/user/public_html/rb/ftp///casava-cake-recipe.html casava cake recipe;moist orange cake recipe;chocolate swirl cake recipe;parkin cake recipe;pareve cake recipe;chocolate krispie cake recipe;maida cake recipe;caraway seed cake recipe;profiterole cake recipe;fatless cake recipe;red velet cake recipe;parve cake recipe;velet cake recipe;recipe for poppyseed cake;applesauce coffee cake recipe;genoese cake recipe;cake recipe sweetened condensed milk;cocoanut cake recipe;fudgy chocolate cake recipe;eclaire cake recipe;dense white cake recipe;pistacio cake recipe;pandan layer cake recipe;chocolate cake recipe unsweetened;pandan sponge cake recipe;cornflour cake recipe;cake recipe nigela;recipe for pandan cake;barm cake recipe;dutch funnel cake recipe
+
Another drawback of the current approach to mashups is the complexity of their development itself. Frameworks like Pipes that do not require any programming have limited capabilities. Google
/home/user/public_html/rb/ftp///review-of-to-kill-a-mockingbird.html review of to kill a mockingbird;study guide for to kill a mockingbird;the novel to kill a mockingbird;to kill a mockingbird courthouse;to kill a mockingbird food;to kill a mockingbird games;to kill a mockingbird maps;to kill a mockingbird youtube;to kill a mockingbird copyright;to kill a mockingbird the play;to kill a mockingbird website;information on to kill a mockingbird;reviews of to kill a mockingbird;reviews on to kill a mockingbird;review on to kill a mockingbird;test on to kill a mockingbird;to kill a mockingbird free online;test for to kill a mockingbird;chapters of to kill a mockingbird;the characters in to kill a mockingbird;to kill a mockingbird part one;to kill a mockingbird tucson;reviews for to kill a mockingbird;chapters in to kill a mockingbird;mockingbird in to kill a mockingbird;review for to kill a mockingbird;copy of to kill a mockingbird;dog in to kill a mockingbird;to kill a mockingbird page number;the mockingbird in to kill a mockingbird
+
Mashup Editor has a steeper learning curve and can do much more than Yahoo! Pipes. However the need to be proficient in languages such as javascript is mandatory to create more complex mashups.
/home/user/public_html/rb/ftp///city-dvd-rapidshare.html city dvd rapidshare;clayton dvd rapidshare;clone dvd rapidshare com files megaupload;clone dvd rapidshare com files megaupload com;close dvd rapidshare;club dvd rapidshare;come close dvd rapidshare;come up dvd rapidshare;country for old men dvd rapidshare;cs3 dvd rapidshare;days dvd rapidshare;dead dvd rapidshare;deal dvd rapidshare;death dvd rapidshare;don t mess with the zohan dvd rapidshare;door dvd rapidshare;down dvd rapidshare;dvd -t rapidshare;dvd 2008 rapidshare;dvd and rapidshare com;dvd at rapidshare;dvd bie rapidshare;dvd from rapidshare;dvd fua_int rapidshare;dvd image rapidshare;dvd in rapidshare;dvd megaupload rapidshare;dvd on rapidshare;dvd on rapidshare com;dvd rapidshare com files megaupload
+
We identify two aspects of this complexity
/home/user/public_html/rb/ftp///beyond-good--evil.html beyond good & evil;dumb & dumber;harney & sons;hart & huntington;hellman & friedman;herzog & de meuron;immigration & naturalization;mary kate & ashley;p & h;paper denim & cloth;paul & joe;sass & bide;simon & simon;star & tribune;sugar & spice;viktor & rolf;wallace & gromit;akin gump strauss hauer & feld;alliance & leicester;b & q;c & o canal;community bank & trust;ernest & young;g & s;heat & glo;hilb rogal & hobbs;hollywood & highland;k & n filter;latitude & longitude;o & a  
+
* Visual: Complexity arising out of the need to create intuitive visual elements and handle various events relating to them
/home/user/public_html/rb/ftp///mushroom-peas-recipe.html mushroom peas recipe;spinach and mushroom recipes;deep fried mushroom recipe;easy stuffed mushroom recipe;ground beef mushroom recipe;mushroom crepe recipe;roasted mushroom recipe;saute mushroom recipe;best mushroom soup recipe;mushroom frittata recipe;mushroom polenta recipe;mushroom swiss burger recipe;outback mushroom recipe;easy stuffed mushrooms recipe;mushroom and swiss recipe;mushroom crepes recipe;mushroom enchilada recipe;mushroom omelet recipe;mushroom side dish recipe;steakhouse mushroom recipe;baby bella mushroom recipes;italian stuffed mushroom recipe;mushroom pizza recipes;mushroom quesadilla recipe;baby bella mushroom recipe;mushroom recipes uk;sliced mushroom recipe;baby bella mushrooms recipe;baked stuffed mushrooms recipe;outback steakhouse mushroom recipe
+
* Data: Complexity arising due to heterogeneity in data schemas and formats.
/home/user/public_html/rb/ftp/htdocs/hamburger-potato-casserole-recipe.html hamburger potato casserole recipe;pineapple cheese casserole recipe;tatertot casserole recipe;vidalia onion casserole recipe;cheese grits casserole recipe;company casserole recipe;freezer casserole recipe;hominy casserole recipe;polenta casserole recipe;recipe for pizza casserole;runza casserole recipe;stuffed pepper casserole recipe;frito casserole recipe;recipe for asparagus casserole;recipe for grits casserole;recipe for reuben casserole;tamale casserole recipes;ruben casserole recipe;rueben casserole recipe;chicken pot pie casserole recipe;pierogie casserole recipe;recipes for taco casserole;french fry casserole recipe;chicken casserole recipes;chicken rice casserole recipe;and chicken casserole recipe;recipe for chicken casserole;chicken and rice casserole recipe;chicken broccoli casserole recipe;chicken rice casserole recipes
+
 
/home/user/public_html/rb/ftp///water-pressure-units.html water pressure units;weak water pressure;yamaha water pressure;correct water pressure;pressure waters;water pressure drops;better water pressure;how to improve water pressure;ideal water pressure;water pressure solutions;water pressure wikipedia;good water pressure;how to fix low water pressure;not enough water pressure;proper water pressure;residual water pressure;water pressure in homes;water pressure sensors;water pressure wiki;adjust home water pressure;water pressure issues;lose water pressure;air pressure and water pressure;get more water pressure;how to get more water pressure;typical home water pressure;how to get better water pressure;pressure of water at 80;water line pressure regulator;water pressure regulator adjust
+
The primary objective of SA-REST is to address the ''data complexity issue''.
/home/user/public_html/rb/ftp///funel-cake-recipe.html funel cake recipe;fatless sponge cake recipe;goey cake recipe;babana cake recipe;funfetti cake mix recipe;pineapple angelfood cake recipe;cake recipe creaming;poppyseed bundt cake recipe;recipe for sugarless cake;genoese sponge cake recipe;bruce bogtrotter cake recipe;easy eggless cake recipe;bogtrotter cake recipe;mochiko cake recipe;wallnut cake recipe;recipe for angelfood cake;recipe for battenburg cake;recipe for blackforest cake;canolli cake recipe;hazlenut cake recipe;marsbar cake recipe;chocoholic cake recipe;applesause cake recipe;mealie cake recipe;medeira cake recipe;cornflour sponge cake recipe;recipe for keylime cake;gooy butter cake recipe;gooie cake recipe;ameretto cake recipe
+
===SA-REST in a nutshell===
/home/user/public_html/rb/ftp///house-in-to-kill-a-mockingbird.html house in to kill a mockingbird;to kill a mockingbird book reviews;to kill a mockingbird book report;to kill a mockingbird book cover;to kill a mockingbird movie vs book;book review of to kill a mockingbird;to kill a mockingbird book download;to kill a mockingbird book quotes;to kill a mockingbird full book;book review on to kill a mockingbird;book report on to kill a mockingbird;quotes from to kill a mockingbird book;book notes on to kill a mockingbird;book reviews on to kill a mockingbird;to kill a mockingbird free book;to kill a mockingbird movie and book;book review for to kill a mockingbird;book reviews for to kill a mockingbird;information on the book to kill a mockingbird;to kill a mockingbird abc book;to kill a mockingbird movie book;to kill a mockingbird whole book;characters in the book to kill a mockingbird;notes on the book to kill a mockingbird;pictures of the book to kill a mockingbird;summary on the book to kill a mockingbird;book reviews of to kill a mockingbird;pictures from the book to kill a mockingbird;read the book to kill a mockingbird;to kill a mockingbird book characters
+
<!-- Change this. We can remove this completely, if we can capture a very good description at the beginning. -->
/home/user/public_html/rb/ftp///dvd-rapidshare-com-files-megaupload-com.html dvd rapidshare com files megaupload com;dvd rapidshare com files megaupload com badongo;dvd rapidshare com files megaupload com badongo com;dvd rapidshare com files megaupload com badongo com file;dvd rapidshare com files megaupload com badongo com file 4filehosting;dvd rapidshare com files megaupload com d;dvd rapidshare com files megaupload com d badongo;dvd rapidshare com files megaupload com d badongo com;dvd rapidshare com files megaupload com d badongo com file;english dvd rapidshare;gamyam dvd rapidshare;guru dvd rapidshare;house dvd rapidshare;jalsa dvd rapidshare;kids dvd rapidshare;mist dvd rapidshare;mixing dvd rapidshare;one two three dvd rapidshare;r5 dvd rapidshare;show dvd rapidshare;sunday dvd rapidshare;tashan dvd rapidshare;the happening dvd rapidshare;untraceable dvd rapidshare com;wall e dvd rapidshare;wall e dvd rapidshare com;wanted 2008 dvd rapidshare;wanted dvd rapidshare com;zohan dvd rapidshare;zohan dvd rapidshare com
+
 
/home/user/public_html/rb/ftp///oppenheimer--co.html oppenheimer & co;robert half finance & accounting;rohde & schwarz;rowman & littlefield;sea & sea;texas land & cattle;tony & guy;weights & measures;wheels & tires;williams & williams;b & e;betsy & adam;black & blue;castle & cooke;eve & a;head & shoulders;joan & david;k & w;pb & j;pc power & cooling;s & b;sense & sensibility;arts & letters;bait & tackle;c & r;cats & dogs;d&g dolce & gabbana;day & night;e & e;hit & run
+
SA-REST is a microformat to add additional meta-data to (but not limited to) REST API descriptions in HTML and XHTML. Developers can directly embed meta-data from various models such an ontology, taxonomy or a tag cloud into their API descriptions. The embedded meta-data can be used to improve search (for example: perform faceted search for APIs), data mediation (in conjunction with XML annotation) as well as help in easier integration of services to create mashups.
/home/user/public_html/rb/ftp/htdocs/chicken-noodle-casserole-recipe.html chicken noodle casserole recipe;easy chicken casserole recipe;chicken cheese casserole recipe;chicken stuffing casserole recipe;easy chicken casserole recipes;mexican chicken casserole recipe;chicken soup casserole recipe;recipes for chicken casserole;chicken mushroom casserole recipe;& chicken casserole recipe;chicken casserole receipe;chicken breast casserole recipe;chicken potato casserole recipe;of chicken casserole recipe;best chicken casserole recipe;chicken and stuffing casserole recipe;chicken casseroles recipe;chicken dressing casserole recipe;chicken spaghetti casserole recipe;chicken vegetable casserole recipe;fat chicken casserole recipe;healthy chicken casserole recipe;low fat chicken casserole recipe;seed chicken casserole recipe;chicken artichoke casserole recipe;baked chicken casserole recipe;chicken and dressing casserole recipe;chicken spinach casserole recipe;free chicken casserole recipe;top chicken casserole recipe
+
 
/home/user/public_html/rb/ftp///3-4-water-pressure-regulator.html 3 4 water pressure regulator;adjusting water pressure regulator;water pressure regulator 1;water pressure regulator 3;water pressure regulator in;pressure regulator for water;in line water pressure regulator;plumbing water pressure regulator;water pressure regulator and;high water pressure regulator;to adjust water pressure regulator;water pressure regulator adjustment;water supply pressure regulator;2 water pressure regulator;adjustable water pressure regulator;does water pressure regulator;low water pressure regulator;psi water pressure regulator;water pressure regulator repair;water pressure regulator valves;water pressure regulator work;water pump pressure regulator;hot water pressure regulator;water hose pressure regulator;water pressure regulator gauge;water pressure regulator water;a water pressure regulator work;brass water pressure regulator;does a water pressure regulator;household water pressure regulator
+
===Background===
/home/user/public_html/rb/ftp///flowerless-cake-recipe.html flowerless cake recipe;goey butter cake recipe;pareve chocolate cake recipe;parve chocolate cake recipe;chocolatey cake recipe;chocolate eclaire cake recipe;madira cake recipe;drizzel cake recipe;walbanger cake recipe;cheerwine cake recipe;harvey walbanger cake recipe;poppyseed coffee cake recipe;casaba cake recipe;pillsbury funfetti cake recipe;strawberry angelfood cake recipe;caroot cake recipe;lazy dazy cake recipe;jell o poke cake recipe;lemon drizzel cake recipe;recipe for caraway seed cake;recipe for funfetti cake;recipe for red velet cake;spoge cake recipe;funfetti cake cookie recipe;baccardi rum cake recipe;red velvit cake recipe;recipe for pandan chiffon cake;recipe for casava cake;marjolaine cake recipe;chocolate angelfood cake recipe
+
Rather than talking only about SWS (not relevant), we should instead talk about other microformats and the synergy therein with SA-REST.
/home/user/public_html/rb/ftp///homes--land.html homes & land;phil & teds;php &;rio mar beach resort & spa;tim & eric;washington & jefferson;winsor & newton;a & m university;allen & associates;before & after;foley & corinna;hard rock hotel & casino;html &;kath & kim;mccormick & schmicks seafood;r & s;rack & pinion;us fish & wildlife;a & d;auto & rv;black & tan;briggs & stratton engine;brown & co;cap & gown;labor & industries;t & t;thomas & mack;b & i;c & g;e & o
+
 
 +
Researchers in the area of Semantic Web Services have proposed various specifications, the prominent of which are
 +
* OWL-S
 +
*WSDL-S
 +
*WSMO
 +
In 2005, the W3C initiated a charter to create a standard for adding semantics to WSDL descriptions. The WSDL-S specification (submitted by Services Research Lab at kno.e.sis from LSDIS Lab in GA along with IBM) was taken as the primary input for the charter. This led to the standardization of SAWSDL (Semantic Annotation of WSDL and XML Schema). SAWSDL has had a significant
 +
impact in the evolution of SA-REST. However, the adoption of a microformat based approach is a key difference between the SAWSDL and SA-REST frameworks. However, it must be noted here that the principles of Schema annotation, lifting and lowering can be directly used from SAWSDL for XML data objects in the RESTful environment.
 +
 
 +
==Usage Scenarios==
 +
 
 +
<!-- Need to write this along the style of microformats.org wiki. -->
 +
 
 +
===Faceted Search===
 +
 
 +
The number of available APIs are growing fast. In April 2008, we found that there were about 700 APIs added to ProgrammableWeb. In September, that number is over 900. Currently, general
 +
purpose search engines like Google are largely used to find these APIs. However, these treat API documents like any other in indexing and ranking APIs. As a result, search for APIs (even when specific queries like "Maps API") results in API resources being scattered all over the result set. Web API directories like programmableWeb do present a more domain-specific solution. However, they largely rely on user tags for classification and searching.
 +
 
 +
Addition of meta-data to capture the various facets of APIs (their functionality, the message types they support, clientside bindings, protocol) can allow for better searching. The results of
 +
one such framework [http://knoesis.wright.edu/research/srl/projects/apihut/ APIHut] is presented in [http://knoesis.wright.edu/library/download/GRNVS-facetedAPISearch-ICWS08.pdf Faceted Search for APIs]. We also present
 +
our initial evaluation of precision and recall metrics. SA-REST can improve faceted search in a significant manner. Using known techniques of GRDDL and XSLT, one can extract RDF representations of APIs. This can then be indexed and searched upon.
 +
 
 +
===Data Mediation and Mediatability===
 +
The importance of enabling easier approaches to data mediation has been well understood. In the context of mashups this is even more important, largely due to the fact that often developers are faced with the burden of handling data at the client side. SA-REST will address this issue in two ways
 +
*'''Adopting XML annotation from SAWSDL''': This will allow us to add the lifting and lowering transformations to data elements as a part of the API description. Information about SAWSDL lifting and lowering can be found in the [http://www.w3.org/TR/sawsdl/#annotateXSD SAWSDL spec on schema annotations]. There is a small catch that we have to address here. In the WSDL world, data exchange was XML de-facto. However, in the RESTful environment, developers can use many formats such as JSON, GData, RSS. It will be interesting to investigate this as a part of the SA-REST effort.  
 +
 
 +
*'''Mediatability''': [http://knoesis.wright.edu/students/gomadam/publications/GRRVS--ICSC08.pdf Mediatability] is a measure of the estimated human effort for performing data mediation manually. Having additional annotations can significantly help us in computing the mediatability. Even when automatic mediation is not possible, knowing how hard or easy the mediation between two services can definitely help developers in choosing services for their mashups.
 +
 
 +
===Smart Mashups===
 +
Smart mashups are those that allow the end user more flexibility to change certain services in a mashup. For example, in the popular [http://housingmaps.com Housing Maps] mashup, if the quality of Yahoo! maps in a certain area is better than that of Google, the user must have the flexibility to change it. To realize this, we are pursuing on a meta based approach for mashup creation. In this approach, the developer creates the mashup application at a meta level and services are added to them at the run time. In this context, there needs to be a way for the developer to specify the requirements for a service and the system to check if the user preference meets the requirement. Having annotations can help accomplish this task with lesser difficulty.
 +
 
 +
===Automatic Annotation===
 +
Semi-automatic text annotation is a significant research area, primarily due to the large volume of text data that becomes available everyday. It is not viable to annotate such volumes of data purely by human effort and one needs to employ text processing techniques to provide automatic markup. One major challenge in text processing is disambiguation, selecting the correct semantics of a word that may be used across domains to represent different concepts.
 +
 
 +
The ''domain-rel'' property acts as a guide to describe the domain(s) a certain text snippet describes and hence provides a means for the text processing / automatic annotation engines to perform effective disambiguation.
 +
 
 +
== Design principles and methods ==
 +
 
 +
===XHTML Design principles===
 +
 
 +
Due to the specific nature of this type of annotations, there are several design principles that are usually followed when designing XHTML based microformats. These patterns are well documented in the [http://microformats.org/wiki/hcalendar hcalendar microformat specification]. However we outline the most important design principles that were followed during this microformat design.
 +
 
 +
# Reuse the schema (names, objects, properties, values, types, hierarchies, constraints) as much as possible from pre-existing, established, well-supported standards by reference. This introduces minimum or no disruption to the regular machinery that interacts with this markup.
 +
# Use a generic structural element (e.g. <nowiki><span></nowiki> or <nowiki><div></nowiki> ), or the appropriate contextual element (e.g. an <nowiki><li></nowiki> inside a <nowiki><ul></nowiki> or <nowiki><ol></nowiki>).
 +
# if the format of the data according to the original schema is too long and/or not human-friendly,place the literal data into the 'title' attribute leaving the human readable text inside the element. This is extensively used in the hcalendar format with the <nowiki><abbr></nowiki> element where literal text is wrapped with <nowiki><abbr></nowiki> elements to provide the machine-friendly annotation. The specific design decision in hcalendar is detailed out by the author [http://tantek.com/log/2005/01.html#d26t0100 here].
 +
 
 +
===Annotation styles===
 +
Now we provide two styles of applying the microformat. These styles can be used interchangeably depending on readability and convenience considerations.
 +
 
 +
====Class and Title Style====
 +
Guided by the first design principle, the class and title attributes are used to provide a name-value relationship for the text content. For example marking up the word map with a specific class reference would appear in XHTML as follows
 +
<pre><nowiki><span class="sem-class" title="http://apihut.com/schema/apihut-taxonomy#Map">Maps</span></nowiki></pre>
 +
 
 +
==== Class Only Style====
 +
This is a convenient way of achieving the same objective of attaching a name-value pair to text content. The class attribute contains the name and value separated by a space and the first section is considered to be the name and the other, the value. Class only style has the additional benefit of
 +
not having an undesired ''tooltip effect'' on the text, but gives up the neat separation and hence sacrifices the readability.
 +
<pre><nowiki><span class="sem-class http://apihut.com/schema/apihut-taxonomy#Map">Maps</span></nowiki></pre>
 +
 
 +
=== Property Types ===
 +
 
 +
The microformat properties can be categorized into two major types.
 +
 +
====Block markup====
 +
Markups that pertain to a block like div, body etc.  Such markup applies to a larger portion of text that may or may not contain other markups.
 +
<pre><nowiki> <body class="domain-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#maps"> ... </body></nowiki></pre>
 +
In this example, the domain-rel property is added to the body and hence covers the complete text content encapsulated by the <nowiki><body></nowiki> element. This particular property indicates that API descriptions inside the body belong to the maps domain as described in the domain model.
 +
 
 +
====Element markup====
 +
Markup on a single element like a span which wraps a word,phrase or a single resource. Element markup should not contain other markup.
 +
 
 +
=== Multivalued Properties ===
 +
Often it is necessary to associate multiple values with a single property. For example one might need to indicate that a certain text content as a whole is relevant to both mathematics and biology domains. In such situations SA-REST allows enumerations to be included as the value for a property. Enumerations are a white space separated list of references. The following example illustrates the use of enumerations as a property value.
 +
 
 +
<pre><nowiki> <body class="domain-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#mathematics
 +
http://apihut.com/taxonomies/domainClassification.rdf#biology"> ... </body>  </nowiki></pre>
 +
 
 +
When using the class only style, the list of values ''after'' the name are considered to be the value. The previous markup, when made with
 +
class only style, would appear as follows.
 +
 
 +
<pre><nowiki> <body class="domain-rel http://apihut.com/taxonomies/domainClassification.rdf#mathematics
 +
http://apihut.com/taxonomies/domainClassification.rdf#biology"> ... </body>  </nowiki></pre>
 +
 
 +
==Basic SA-REST properties==
 +
 
 +
SA-REST has three basic properties discussed below. These properties provide for mechanisms to add richer semantic information for any Web resource. However, one can extend SA-REST
 +
to capture resource specific semantics. Examples of these include SA-REST extensions for Web APIs and SA-REST extensions for social networking profiles. An author desiring to create a new
 +
microformat, however is strongly urged to consider reuse for a resource type before attempting an extension.
 +
 
 +
===domain-rel===
 +
 
 +
The domain-rel property allows description of domain information for an entire resource. If a given resource (such as blog posts) has content spanning multiple domains, it is desired to add
 +
multiple domain-rel elements, each surrounding a section of the resource. If such a separation cannot be made, the title attribute should be an enumeration of the domains.
 +
 
 +
'''Simple domain-rel example'''
 +
<pre><nowiki><span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks> The growing trend of "liking" has recently caught a lot of attention of both network
 +
users as well as developers.</span></nowiki></pre>
 +
 
 +
The example below illustrates a multi-domain scenario where the domain contexts can be separated in the content. This annotation is desirable when a resources (such as integrated feeds) that draw content from multiple sources are created.
 +
 
 +
'''Multi-domain domain-rel example 1'''
 +
<pre><nowiki><span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks> The growing trend of "liking" has recently caught a lot of attention of both network
 +
users as well as developers...</span>
 +
 
 +
<span class="domain-rel" title="http://apihut.com/schemas/economy#banking"> I also came across this interesting discussion on bailout that talked about nationalization of banks</span>
 +
</nowiki></pre>
 +
 
 +
A very frequent scenario is one where a resource content spans multiple domains and the content is not contextualized.
 +
 
 +
'''Multi-domain domain-rel example 2'''
 +
<pre><nowiki><span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks http://apihut.com/schemas/economy#recession"> One often wonders the future of  
 +
advertisement driven Web applications in the current economic scenario. For example, social networking applications such as...</span></nowiki></pre>
 +
 
 +
===sem-rel===
 +
 
 +
The sem-rel property will capture the semantics of a link. This evolves from the popular rel tag. An application of sem-rel would be to describe
 +
a data model that is captured in a XSD. The primary purpose of the sem-rel tag is to allow developers to add "top level annotation" to schemas that are third party.
 +
The sem-rel property also allows enumeration within the title attribute. It is used in conjunction with the a attribute.
 +
 
 +
<pre><nowiki> <a href="http://foo.xsd" sem-rel="http://taxonomy.org/computerscience#firstname"> This is the input schema</a> </nowiki></pre>
 +
 
 +
<pre><nowiki> <a href="www.teachmegooglemaps.com" class="sem-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#maps"> Learn Google Maps</nowiki></pre>
 +
 
 +
===sem-class===
 +
sem-class is an element markup property. sem-class can be used to markup a single entity within a resource. Like the domain-rel tag, the sem-rel tag can be an enumeration.
 +
For example, in a blog, sem-class can be used to markup single words, while in a  
 +
page (such as YouTube), sem-class mark up an video object. Both scenarios are exemplified below.
 +
 
 +
<pre><nowiki> One striking observation in evolution of <span class="sem-class" title="http://tap.stanford.edu/#computer"> Computers </span> is the relationship between speed and size.</nowiki></pre>.
 +
 
 +
The example below illustrates the markup of a flash media object. The markup describes the actual video that is embedded therein. In this case, the video is from [http://www.hulu.com/watch/49927/american-dad-i-cant-stan-you American Dad episode from hulu.com (may not be active all the time)]
 +
 
 +
'''sem-class on non-textual content'''
 +
<pre><nowiki> <span class="sem-class" title="http://entertainment.org/schemas/tv#american_dad"><div id="player-container" style="text-align: center;">
 +
<embed id="player" height="368" width="790" flashvars="stage_width=790&stage_height=368&content_id=m1ppkqeh&bitrate=700000&user_id=-1" bgcolor="#000000"
 +
allowfullscreen="true" allowscriptaccess="sameDomain" quality="high" name="player" style="z-index: 10;" src="/player.swf" type="application/x-shockwave-flash"/>
 +
</div></span></nowiki></pre>.
 +
 
 +
==Processing SA-REST==
 +
The most straight forward way to process the documents is to use [http://www.w3.org/TR/xslt.html XSLT] along with [http://www.w3.org/TR/grddl/ GRDDL]. XSLT is a well supported and a flexible way to transform XML documents from one form to another, typically the target form being XML or any other text format. GRDDL specification describes how the XSLT transformation can be used to convert annotated XHTML/HTML documents to RDF. The following snippet shows a specification of the transformation stylesheet according to GRDDL.
 +
 
 +
<pre><nowiki> <html xmlns="http://www.w3.org/1999/xhtml"
 +
      xmlns:grddl='http://www.w3.org/2003/g/data-view#'
 +
      grddl:transformation="glean_title.xsl
 +
http://www.w3.org/2001/sw/grddl-wg/td/getAuthor.xsl"
 +
>
 +
  </nowiki></pre>
 +
 
 +
The subsequent processing can be done using the RDF representation.
 +
 
 +
== Related Documents ==
 +
 
 +
* [http://knoesis.wright.edu/library/resource.php?id=00162 SA-REST publication in IEEE Internet Computing Journal]
 +
* [http://knoesis.wright.edu/research/srl/standards/sa-rest/ SA-REST initial discussion draft]

Latest revision as of 15:12, 20 April 2011

Note : This is a draft version of SA-REST. The latest (and active) version is the W3C Member Submission



SA-REST is a simple and open microformat for enhancing Web resources with additional semantic information. In addition to HTML and XHTML, the SA-REST approach can also be used to enrich Atom, RSS, and arbitrary XML. SA-REST is one of several open microformat standards.

People

Collaborators in the SA-REST initiative are listed by their affiliations.

  • kno.e.sis center, Wright State University, Dayton, OH
    • Amit P. Sheth.
    • Karthik Gomadam.
    • Ajith Ranabahu

Introduction

Current mashup tools and technologies

Although mashups fully embrace the idea of customization on the Web, read-write is another story. The complexity of application development using javascript makes it hard for average developers to create new mashups and to customize the existing ones. To solve this problem, several companies are developing tools for mashup creation that require little or no programming knowledge. These tools, exemplified by Yahoo! pipes, IBM's QEDwiki and Google's Mashup Editor, facilitate the selection of some number of RESTful Web services or other Web resources and chain them together by piping one service's output into the next service's input while filtering content and making slight format changes.

Limitations

One of the main drawbacks of the current state of the art is the lack of support for interoperability, especially that of data. Since most of the existing tools limit their support to services internal to the specific vendor that created them (for example, Google Mashup Editor has a complete abstraction of Google Maps service) or to services that have standard types of outputs such as RSS or Atom (Yahoo! Pipes), the problem of interop is not highlighted.

Another drawback of the current approach to mashups is the complexity of their development itself. Frameworks like Pipes that do not require any programming have limited capabilities. Google Mashup Editor has a steeper learning curve and can do much more than Yahoo! Pipes. However the need to be proficient in languages such as javascript is mandatory to create more complex mashups. We identify two aspects of this complexity

  • Visual: Complexity arising out of the need to create intuitive visual elements and handle various events relating to them
  • Data: Complexity arising due to heterogeneity in data schemas and formats.

The primary objective of SA-REST is to address the data complexity issue.

SA-REST in a nutshell

SA-REST is a microformat to add additional meta-data to (but not limited to) REST API descriptions in HTML and XHTML. Developers can directly embed meta-data from various models such an ontology, taxonomy or a tag cloud into their API descriptions. The embedded meta-data can be used to improve search (for example: perform faceted search for APIs), data mediation (in conjunction with XML annotation) as well as help in easier integration of services to create mashups.

Background

Rather than talking only about SWS (not relevant), we should instead talk about other microformats and the synergy therein with SA-REST.

Researchers in the area of Semantic Web Services have proposed various specifications, the prominent of which are

  • OWL-S
  • WSDL-S
  • WSMO

In 2005, the W3C initiated a charter to create a standard for adding semantics to WSDL descriptions. The WSDL-S specification (submitted by Services Research Lab at kno.e.sis from LSDIS Lab in GA along with IBM) was taken as the primary input for the charter. This led to the standardization of SAWSDL (Semantic Annotation of WSDL and XML Schema). SAWSDL has had a significant impact in the evolution of SA-REST. However, the adoption of a microformat based approach is a key difference between the SAWSDL and SA-REST frameworks. However, it must be noted here that the principles of Schema annotation, lifting and lowering can be directly used from SAWSDL for XML data objects in the RESTful environment.

Usage Scenarios

Faceted Search

The number of available APIs are growing fast. In April 2008, we found that there were about 700 APIs added to ProgrammableWeb. In September, that number is over 900. Currently, general purpose search engines like Google are largely used to find these APIs. However, these treat API documents like any other in indexing and ranking APIs. As a result, search for APIs (even when specific queries like "Maps API") results in API resources being scattered all over the result set. Web API directories like programmableWeb do present a more domain-specific solution. However, they largely rely on user tags for classification and searching.

Addition of meta-data to capture the various facets of APIs (their functionality, the message types they support, clientside bindings, protocol) can allow for better searching. The results of one such framework APIHut is presented in Faceted Search for APIs. We also present our initial evaluation of precision and recall metrics. SA-REST can improve faceted search in a significant manner. Using known techniques of GRDDL and XSLT, one can extract RDF representations of APIs. This can then be indexed and searched upon.

Data Mediation and Mediatability

The importance of enabling easier approaches to data mediation has been well understood. In the context of mashups this is even more important, largely due to the fact that often developers are faced with the burden of handling data at the client side. SA-REST will address this issue in two ways

  • Adopting XML annotation from SAWSDL: This will allow us to add the lifting and lowering transformations to data elements as a part of the API description. Information about SAWSDL lifting and lowering can be found in the SAWSDL spec on schema annotations. There is a small catch that we have to address here. In the WSDL world, data exchange was XML de-facto. However, in the RESTful environment, developers can use many formats such as JSON, GData, RSS. It will be interesting to investigate this as a part of the SA-REST effort.
  • Mediatability: Mediatability is a measure of the estimated human effort for performing data mediation manually. Having additional annotations can significantly help us in computing the mediatability. Even when automatic mediation is not possible, knowing how hard or easy the mediation between two services can definitely help developers in choosing services for their mashups.

Smart Mashups

Smart mashups are those that allow the end user more flexibility to change certain services in a mashup. For example, in the popular Housing Maps mashup, if the quality of Yahoo! maps in a certain area is better than that of Google, the user must have the flexibility to change it. To realize this, we are pursuing on a meta based approach for mashup creation. In this approach, the developer creates the mashup application at a meta level and services are added to them at the run time. In this context, there needs to be a way for the developer to specify the requirements for a service and the system to check if the user preference meets the requirement. Having annotations can help accomplish this task with lesser difficulty.

Automatic Annotation

Semi-automatic text annotation is a significant research area, primarily due to the large volume of text data that becomes available everyday. It is not viable to annotate such volumes of data purely by human effort and one needs to employ text processing techniques to provide automatic markup. One major challenge in text processing is disambiguation, selecting the correct semantics of a word that may be used across domains to represent different concepts.

The domain-rel property acts as a guide to describe the domain(s) a certain text snippet describes and hence provides a means for the text processing / automatic annotation engines to perform effective disambiguation.

Design principles and methods

XHTML Design principles

Due to the specific nature of this type of annotations, there are several design principles that are usually followed when designing XHTML based microformats. These patterns are well documented in the hcalendar microformat specification. However we outline the most important design principles that were followed during this microformat design.

  1. Reuse the schema (names, objects, properties, values, types, hierarchies, constraints) as much as possible from pre-existing, established, well-supported standards by reference. This introduces minimum or no disruption to the regular machinery that interacts with this markup.
  2. Use a generic structural element (e.g. <span> or <div> ), or the appropriate contextual element (e.g. an <li> inside a <ul> or <ol>).
  3. if the format of the data according to the original schema is too long and/or not human-friendly,place the literal data into the 'title' attribute leaving the human readable text inside the element. This is extensively used in the hcalendar format with the <abbr> element where literal text is wrapped with <abbr> elements to provide the machine-friendly annotation. The specific design decision in hcalendar is detailed out by the author here.

Annotation styles

Now we provide two styles of applying the microformat. These styles can be used interchangeably depending on readability and convenience considerations.

Class and Title Style

Guided by the first design principle, the class and title attributes are used to provide a name-value relationship for the text content. For example marking up the word map with a specific class reference would appear in XHTML as follows

<span class="sem-class" title="http://apihut.com/schema/apihut-taxonomy#Map">Maps</span>

Class Only Style

This is a convenient way of achieving the same objective of attaching a name-value pair to text content. The class attribute contains the name and value separated by a space and the first section is considered to be the name and the other, the value. Class only style has the additional benefit of not having an undesired tooltip effect on the text, but gives up the neat separation and hence sacrifices the readability.

<span class="sem-class http://apihut.com/schema/apihut-taxonomy#Map">Maps</span>

Property Types

The microformat properties can be categorized into two major types.

Block markup

Markups that pertain to a block like div, body etc. Such markup applies to a larger portion of text that may or may not contain other markups.

 <body class="domain-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#maps"> ... </body>

In this example, the domain-rel property is added to the body and hence covers the complete text content encapsulated by the <body> element. This particular property indicates that API descriptions inside the body belong to the maps domain as described in the domain model.

Element markup

Markup on a single element like a span which wraps a word,phrase or a single resource. Element markup should not contain other markup.

Multivalued Properties

Often it is necessary to associate multiple values with a single property. For example one might need to indicate that a certain text content as a whole is relevant to both mathematics and biology domains. In such situations SA-REST allows enumerations to be included as the value for a property. Enumerations are a white space separated list of references. The following example illustrates the use of enumerations as a property value.

 <body class="domain-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#mathematics 
http://apihut.com/taxonomies/domainClassification.rdf#biology"> ... </body>  

When using the class only style, the list of values after the name are considered to be the value. The previous markup, when made with class only style, would appear as follows.

 <body class="domain-rel http://apihut.com/taxonomies/domainClassification.rdf#mathematics 
http://apihut.com/taxonomies/domainClassification.rdf#biology"> ... </body>  

Basic SA-REST properties

SA-REST has three basic properties discussed below. These properties provide for mechanisms to add richer semantic information for any Web resource. However, one can extend SA-REST to capture resource specific semantics. Examples of these include SA-REST extensions for Web APIs and SA-REST extensions for social networking profiles. An author desiring to create a new microformat, however is strongly urged to consider reuse for a resource type before attempting an extension.

domain-rel

The domain-rel property allows description of domain information for an entire resource. If a given resource (such as blog posts) has content spanning multiple domains, it is desired to add multiple domain-rel elements, each surrounding a section of the resource. If such a separation cannot be made, the title attribute should be an enumeration of the domains.

Simple domain-rel example

<span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks> The growing trend of "liking" has recently caught a lot of attention of both network 
users as well as developers.</span>

The example below illustrates a multi-domain scenario where the domain contexts can be separated in the content. This annotation is desirable when a resources (such as integrated feeds) that draw content from multiple sources are created.

Multi-domain domain-rel example 1

<span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks> The growing trend of "liking" has recently caught a lot of attention of both network 
users as well as developers...</span>

<span class="domain-rel" title="http://apihut.com/schemas/economy#banking"> I also came across this interesting discussion on bailout that talked about nationalization of banks</span>

A very frequent scenario is one where a resource content spans multiple domains and the content is not contextualized.

Multi-domain domain-rel example 2

<span class="domain-rel" title="http://apihut.com/schemas/socialnetworking#socialnetworks http://apihut.com/schemas/economy#recession"> One often wonders the future of 
advertisement driven Web applications in the current economic scenario. For example, social networking applications such as...</span>

sem-rel

The sem-rel property will capture the semantics of a link. This evolves from the popular rel tag. An application of sem-rel would be to describe a data model that is captured in a XSD. The primary purpose of the sem-rel tag is to allow developers to add "top level annotation" to schemas that are third party. The sem-rel property also allows enumeration within the title attribute. It is used in conjunction with the a attribute.

 <a href="http://foo.xsd" sem-rel="http://taxonomy.org/computerscience#firstname"> This is the input schema</a> 
 <a href="www.teachmegooglemaps.com" class="sem-rel" title="http://apihut.com/taxonomies/domainClassification.rdf#maps"> Learn Google Maps

sem-class

sem-class is an element markup property. sem-class can be used to markup a single entity within a resource. Like the domain-rel tag, the sem-rel tag can be an enumeration. For example, in a blog, sem-class can be used to markup single words, while in a page (such as YouTube), sem-class mark up an video object. Both scenarios are exemplified below.

 One striking observation in evolution of <span class="sem-class" title="http://tap.stanford.edu/#computer"> Computers </span> is the relationship between speed and size.
.

The example below illustrates the markup of a flash media object. The markup describes the actual video that is embedded therein. In this case, the video is from American Dad episode from hulu.com (may not be active all the time)

sem-class on non-textual content

 <span class="sem-class" title="http://entertainment.org/schemas/tv#american_dad"><div id="player-container" style="text-align: center;">
<embed id="player" height="368" width="790" flashvars="stage_width=790&stage_height=368&content_id=m1ppkqeh&bitrate=700000&user_id=-1" bgcolor="#000000" 
allowfullscreen="true" allowscriptaccess="sameDomain" quality="high" name="player" style="z-index: 10;" src="/player.swf" type="application/x-shockwave-flash"/>
</div></span>
.

Processing SA-REST

The most straight forward way to process the documents is to use XSLT along with GRDDL. XSLT is a well supported and a flexible way to transform XML documents from one form to another, typically the target form being XML or any other text format. GRDDL specification describes how the XSLT transformation can be used to convert annotated XHTML/HTML documents to RDF. The following snippet shows a specification of the transformation stylesheet according to GRDDL.

 <html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:grddl='http://www.w3.org/2003/g/data-view#'
      grddl:transformation="glean_title.xsl
			http://www.w3.org/2001/sw/grddl-wg/td/getAuthor.xsl"
 >
  

The subsequent processing can be done using the RDF representation.

Related Documents