Re: Faceted Search
Sebastian Samaruga <[email protected]> Sun, 27 Dec 2015 21:40:11 -0300
| Newsgroups | gmane.org.w3c.semantic-web,gmane.text.xml.xtm.general |
|---|---|
| Message-ID | <CAFnmbpUtEfGJjHsp5KTBh8qYq4zbhmt=cbdE6YAb_qKj_CikZw@mail.gmail.com> |
--001a113a033c35dac80527ea8ceb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Martynas, Following your advice I'm trying to get rid the most possible of a custom object model and try to build something with XSL/XSLT. I've posted in my blog the last comments regarding this issue: http://cognescent.blogspot.com.ar/2015/12/cognescents-architectural-refacto= rings.html The source repository is not updated with this current changes. It's only analysis work. I'd like to use some kind of functional programming for a declarative service/interface model. My approach currently attempts to return triples, wrappers between. But with a working metamodel behind them the declarative part should work fine. On Sun, Dec 6, 2015 at 10:59 AM, Martynas Jusevi=C4=8Dius <martynas@graphit= y.org> wrote: > Sebastian, > > I've looked at the code on Git. I think we've gone through this design > phase as well: a custom object model. > > If you constrain yourself only to the standard RDF model and > manipulate it using SPARQL (or an RDF API such as Jena or Sesame), > then you can map the rest of data models into it using vocabularies. > > These class names look like they're taken from the Jena's codebase, > just oversimplified and with much poorer functionality: > > http://sourceforge.net/p/cognescent/repository/ci/master/tree/src/net/jav= a/cognescent/sbi/model/onto/ > > In other words, domain model at the object layer is not necessary at > all if you use RDF. And custom APIs are not necessary as you can reuse > generic open-source libraries. Constraint fosters creativity :) > > They say Linked Data should not be treated as a hammer for which every > problem appears as a nail. But it's the first hammer which includes a > manual on how to turn problems into nails -- and them you hammer them > down with ease :) > > > Martynas > graphityhq.com > > On Fri, Dec 4, 2015 at 5:55 PM, Sebastian Samaruga <[email protected]> > wrote: > > Martynas, > > > > The sources are in the Git repository of the Sourceforge project. They > are > > in the form of an importable Eclipse project, it is not yet a Maven > project. > > Once you import the project in Eclipse from the repository (from the > > repository browser of Eclipse put "Import as a project in the workspace= ") > > you must set some library paths to make it work in your environment. > > > > I'm not using the relational model, it is just an analogy. > > > > Sebastian. > > > > > > > > > > On Fri, Dec 4, 2015 at 5:30 AM, Martynas Jusevi=C4=8Dius < > [email protected]> > > wrote: > >> > >> Sebastian, > >> > >> as I mentioned before, a .war file is a poor channel of distribution > these > >> days. Please show us your source code and/or deployed application. > >> > >> Are you using the relational model or your own metamodel for data > >> integration? This paper explains the advantage of RDF and triples as t= he > >> canonical model: > >> > >> > http://www.topquadrant.com/docs/whitepapers/information-enlightenment-2.0= -final.pdf > >> > >> By putting RDF at the center, you could reuse the RESTful Linked Data > >> processing from Graphity and focus on BI which can be implemented with > >> SPARQL. > >> > >> > >> Martynas > >> graphityhq.com > >> > >> On Wed, 2 Dec 2015 at 20:20, Sebastian Samaruga <[email protected]> > >> wrote: > >>> > >>> Martynas, > >>> > >>> Happy you replied my message. I've been watching Graphity and it is > >>> awesome. But, although our scopes seems to be similar I think there > are huge > >>> differences at implementation level and at presentation level. > >>> > >>> What I would like to have built is a 'semantic' browser focused in > >>> analysis and mining for business intelligence and for building indexe= s > and > >>> process flows definitions. I use forms for that and I also use XSL bu= t > for > >>> data coming from my metamodel, serialized from JAXB beans. My > metamodel is a > >>> completely normalized scheme in which 'tables', 'columns' and 'values= ' > are > >>> interchangeable entities aggregated into 'rows' (Mappings). It comes > from a > >>> variety of sources, including but not just RDF. The metamodel has a > notion > >>> of triples regarding the application state and I use them when triple > >>> exchange is needed. > >>> > >>> I'm aiming to be able, for example, to build queries with analysis > >>> metadata from the URIs given to a REST service. Being this service a > HATEOAS > >>> service, a client could browse through the use cases / contexts only > with > >>> metadata. Loaders from multiple sources (JDBC, RDF, XML, JSON, CSV, > SPARQL, > >>> etc) exist to populate the mappings layer. The browser UI aggregates > >>> 'tables' (metaclasses), once a metaclass is selected it shows its > 'columns' > >>> (roles) and selecting a 'column' shows the column values. If I select > one > >>> 'row' while navigating (instances) the values shown will be only the > ones of > >>> that instance (Mapping). > >>> > >>> You can check it in Sourceforge > >>> http://sourceforge.net/projects/cognescent/ > >>> > >>> The WAR file downloadable there shows examples with a sample load dat= a > >>> form. Modify datasources.xml in the src root to test other > datasources. The > >>> XSL templates (Resumen button in the browser) only outputs the raw > XML. Once > >>> the stylesheets are developed they'll bring a cleaner knowledge view. > >>> > >>> A sample URI to check in the REST interface would be like (dummy): > >>> > >>> > http://localhost:8080/CognescentSBI/resources/data/metaId:instId[predAxis= Id]/instId:instId[predAxisId]/instId:instId[predAxisId] > >>> > >>> To test the REST service go to: > >>> [your_server:your:port]/CognescentSBI/resources/sbi/data > >>> > >>> The predicate axis IDs (predAxisId) will be for the implementation of > the > >>> Analyzer component so it can aggregate instances due to this predicat= es > >>> values. The URI is parsed to build the faceted queries. > >>> > >>> Best, > >>> Sebastian. > >>> > >>> > >>> On Wed, Nov 18, 2015 at 1:29 PM, Martynas Jusevi=C4=8Dius > >>> <[email protected]> wrote: > >>>> > >>>> Sebastian, > >>>> > >>>> there was little traffic on this list so far, yet your message went > >>>> unnoticed. Sorry for that! > >>>> > >>>> You can view the webpage for your data as an (X)HTML representation = of > >>>> RDF. It can be completely data-driven and simply a function that > >>>> transforms the RDF response into an (X)THML response. You could do i= t > >>>> in a number of ways: using an imperative language such as Java, or > >>>> various template engines. > >>>> > >>>> From a declarative perspective, XSLT (2.0) is probably the best tool > >>>> for this. The RDF/XML syntax is admittedly not straightforward, but > >>>> XSLT is a functional and Turing-complete language that can handle it > >>>> effectively and transform it to (X)HTML or other formats. > >>>> Graphity Client includes a number of predefined generic XSLT > >>>> stylesheets that can be imported, extended, customized etc: > >>>> > >>>> > https://github.com/Graphity/graphity-client/tree/master/src/main/webapp/s= tatic/org/graphity/client/xsl > >>>> > >>>> The facets part is more complicated. If you are using SPARQL to > >>>> retrieve RDF results, you can modify the query on the fly, to narrow > >>>> down matches based on the facet selections. That is what we did in > >>>> this project: http://dedanskeaviser.dk/newspapers > >>>> If not, then it depends on the API you are using to access RDF. > >>>> > >>>> I am not familiar with DCI or its concept of actors/roles/contexts. > >>>> Maybe it would be easier if you explained your goals. If you are > >>>> looking for a functional implementation of data-driven applications > >>>> that uses REST and HATEOS and builds interactive forms and other > >>>> navigation items, it is exactly what we provide: > >>>> http://graphityhq.com/technology > >>>> > >>>> We would be happy to this topic discuss further. > >>>> > >>>> > >>>> Martynas > >>>> graphityhq.com > >>>> > >>>> On Mon, Oct 12, 2015 at 10:26 PM, Sebastian Samaruga > >>>> <[email protected]> wrote: > >>>> > Sorry if this is not the right list. I've came here from a reply i= n > a > >>>> > previous post. > >>>> > > >>>> > I don't know if this is something new, it just seems it was useful > for > >>>> > the > >>>> > kind of interface I was looking for. I was just wondering what wou= ld > >>>> > be the > >>>> > best way to facilitate browsing and search in the application demo > I'm > >>>> > building that renders RDF / Semantic Web contents. I've figured ou= t > >>>> > there > >>>> > must be a tree hierarchy of categories, roles and instances of dat= a > to > >>>> > which > >>>> > adhere the incoming data parsing so having a common denominator fo= r > >>>> > different input structures. > >>>> > > >>>> > Having this structures, browsing through the tree of data, an item > >>>> > (leave or > >>>> > node) could be 'picked up' as a facet. For example, if the scenari= o > is > >>>> > "Car > >>>> > Rental" as a category, "Car Model" and "Rental City" as roles and > many > >>>> > models of cars and many cities as instances, what if I could pick = a > >>>> > car > >>>> > model, a city or both and press "Aggregate" and this resulting in > root > >>>> > categories for each specific car rental ("Car Rental 1", "Car Rent= al > >>>> > 2", > >>>> > etc) with its roles populated with the corresponding criteria valu= es > >>>> > (the > >>>> > city corresponding to "Car Rental 1" given its car, etc). > >>>> > > >>>> > Maybe this sounds dumb. But the question is: how difficult would b= e > to > >>>> > build > >>>> > such a filter criteria using only RDF datasources. RDF statement > >>>> > resources > >>>> > are not individualized by their occurrences. An RDF resource is th= e > >>>> > same > >>>> > regardless which statements it occurs. And, although I've found a > way > >>>> > to > >>>> > individualize occurrences of, for example, Car Rental(s), I can't > find > >>>> > the > >>>> > way yet to correlate this instances with the instances of their > roles. > >>>> > > >>>> > Also, I'm restricting my mappings (ontology processing output) to > >>>> > three > >>>> > levels depth, which seems arbitrary. I could not restrict the grap= h > to > >>>> > any > >>>> > depth. But I'll keep trying a while with this arrangements. It see= ms > >>>> > attractive the correlation of categories, roles and instances with > >>>> > some of > >>>> > the concepts in the DCI programming model > >>>> > (https://en.wikipedia.org/wiki/Data,_context_and_interaction) whic= h > >>>> > could > >>>> > allow for a model driven focused approach of building the client > >>>> > application, again with the ontology 'common factors' concept in > mind. > >>>> > > >>>> > And the concept of actors, roles and contexts seems as an ideal ca= se > >>>> > for a > >>>> > functional language implementation of what could be a runtime > >>>> > environment > >>>> > for data driven applications (think of a REST-HATEOAS client that > >>>> > interactively builds forms and other navigation items simply by > >>>> > content > >>>> > negotiation with a functional data-state-based endpoint). > >>>> > > >>>> > Source, examples and the demo web application are available in the > >>>> > project > >>>> > web page: > >>>> > > >>>> > http://cognescent.blogspot.com > >>>> > http://sourceforge.net/projects/cognescent/ > >>>> > > >>>> > Regards, > >>>> > Sebastian > >>> > >>> > > > --001a113a033c35dac80527ea8ceb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div><div><div>Martynas,<br><br></div>Following your advic= e I'm trying to get rid the most possible of a custom object model and = try to build something with XSL/XSLT.<br><br></div>I've posted in my bl= og the last comments regarding this issue:<br><a href=3D"http://cognescent.= blogspot.com.ar/2015/12/cognescents-architectural-refactorings.html">http:/= /cognescent.blogspot.com.ar/2015/12/cognescents-architectural-refactorings.= html</a><br><br></div>The source repository is not updated with this curren= t changes. It's only analysis work.<br><br>I'd like to use some kin= d of functional programming for a declarative service/interface model. My a= pproach currently attempts to return triples, wrappers between. But with a = working metamodel behind them the declarative part should work fine.<br></d= iv><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Sun, Dec 6,= 2015 at 10:59 AM, Martynas Jusevi=C4=8Dius <span dir=3D"ltr"><<a href= =3D"mailto:[email protected]" target=3D"_blank">[email protected]</= a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0= 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sebastian,<br> <br> I've looked at the code on Git. I think we've gone through this des= ign<br> phase as well: a custom object model.<br> <br> If you constrain yourself only to the standard RDF model and<br> manipulate it using SPARQL (or an RDF API such as Jena or Sesame),<br> then you can map the rest of data models into it using vocabularies.<br> <br> These class names look like they're taken from the Jena's codebase,= <br> just oversimplified and with much poorer functionality:<br> <a href=3D"http://sourceforge.net/p/cognescent/repository/ci/master/tree/sr= c/net/java/cognescent/sbi/model/onto/" rel=3D"noreferrer" target=3D"_blank"= >http://sourceforge.net/p/cognescent/repository/ci/master/tree/src/net/java= /cognescent/sbi/model/onto/</a><br> <br> In other words, domain model at the object layer is not necessary at<br> all if you use RDF. And custom APIs are not necessary as you can reuse<br> generic open-source libraries. Constraint fosters creativity :)<br> <br> They say Linked Data should not be treated as a hammer for which every<br> problem appears as a nail. But it's the first hammer which includes a<b= r> manual on how to turn problems into nails -- and them you hammer them<br> down with ease :)<br> <br> <br> Martynas<br> <a href=3D"http://graphityhq.com" rel=3D"noreferrer" target=3D"_blank">grap= hityhq.com</a><br> <div class=3D"HOEnZb"><div class=3D"h5"><br> On Fri, Dec 4, 2015 at 5:55 PM, Sebastian Samaruga <<a href=3D"mailto:co= [email protected]">[email protected]</a>> wrote:<br> > Martynas,<br> ><br> > The sources are in the Git repository of the Sourceforge project. They= are<br> > in the form of an importable Eclipse project, it is not yet a Maven pr= oject.<br> > Once you import the project in Eclipse from the repository (from the<b= r> > repository browser of Eclipse put "Import as a project in the wor= kspace")<br> > you must set some library paths to make it work in your environment.<b= r> ><br> > I'm not using the relational model, it is just an analogy.<br> ><br> > Sebastian.<br> ><br> ><br> ><br> ><br> > On Fri, Dec 4, 2015 at 5:30 AM, Martynas Jusevi=C4=8Dius <<a href= =3D"mailto:[email protected]">[email protected]</a>><br> > wrote:<br> >><br> >> Sebastian,<br> >><br> >> as I mentioned before, a .war file is a poor channel of distributi= on these<br> >> days. Please show us your source code and/or deployed application.= <br> >><br> >> Are you using the relational model or your own metamodel for data<= br> >> integration? This paper explains the advantage of RDF and triples = as the<br> >> canonical model:<br> >><br> >> <a href=3D"http://www.topquadrant.com/docs/whitepapers/information= -enlightenment-2.0-final.pdf" rel=3D"noreferrer" target=3D"_blank">http://w= ww.topquadrant.com/docs/whitepapers/information-enlightenment-2.0-final.pdf= </a><br> >><br> >> By putting RDF at the center, you could reuse the RESTful Linked D= ata<br> >> processing from Graphity and focus on BI which can be implemented = with<br> >> SPARQL.<br> >><br> >><br> >> Martynas<br> >> <a href=3D"http://graphityhq.com" rel=3D"noreferrer" target=3D"_bl= ank">graphityhq.com</a><br> >><br> >> On Wed, 2 Dec 2015 at 20:20, Sebastian Samaruga <<a href=3D"mai= lto:[email protected]">[email protected]</a>><br> >> wrote:<br> >>><br> >>> Martynas,<br> >>><br> >>> Happy you replied my message. I've been watching Graphity = and it is<br> >>> awesome. But, although our scopes seems to be similar I think = there are huge<br> >>> differences at implementation level and at presentation level.= <br> >>><br> >>> What I would like to have built is a 'semantic' browse= r focused in<br> >>> analysis and mining for business intelligence and for building= indexes and<br> >>> process flows definitions. I use forms for that and I also use= XSL but for<br> >>> data coming from my metamodel, serialized from JAXB beans. My = metamodel is a<br> >>> completely normalized scheme in which 'tables', 'c= olumns' and 'values' are<br> >>> interchangeable entities aggregated into 'rows' (Mappi= ngs). It comes from a<br> >>> variety of sources, including but not just RDF. The metamodel = has a notion<br> >>> of triples regarding the application state and I use them when= triple<br> >>> exchange is needed.<br> >>><br> >>> I'm aiming to be able, for example, to build queries with = analysis<br> >>> metadata from the URIs given to a REST service. Being this ser= vice a HATEOAS<br> >>> service, a client could browse through the use cases / context= s only with<br> >>> metadata. Loaders from multiple sources (JDBC, RDF, XML, JSON,= CSV, SPARQL,<br> >>> etc) exist to populate the mappings layer. The browser UI aggr= egates<br> >>> 'tables' (metaclasses), once a metaclass is selected i= t shows its 'columns'<br> >>> (roles) and selecting a 'column' shows the column valu= es. If I select one<br> >>> 'row' while navigating (instances) the values shown wi= ll be only the ones of<br> >>> that instance (Mapping).<br> >>><br> >>> You can check it in Sourceforge<br> >>> <a href=3D"http://sourceforge.net/projects/cognescent/" rel=3D= "noreferrer" target=3D"_blank">http://sourceforge.net/projects/cognescent/<= /a><br> >>><br> >>> The WAR file downloadable there shows examples with a sample l= oad data<br> >>> form. Modify datasources.xml in the src root to test other dat= asources. The<br> >>> XSL templates (Resumen button in the browser) only outputs the= raw XML. Once<br> >>> the stylesheets are developed they'll bring a cleaner know= ledge view.<br> >>><br> >>> A sample URI to check in the REST interface would be like (dum= my):<br> >>><br> >>> <a href=3D"http://localhost:8080/CognescentSBI/resources/data/= metaId:instId[predAxisId]/instId:instId[predAxisId]/instId:instId[predAxisI= d]" rel=3D"noreferrer" target=3D"_blank">http://localhost:8080/CognescentSB= I/resources/data/metaId:instId[predAxisId]/instId:instId[predAxisId]/instId= :instId[predAxisId]</a><br> >>><br> >>> To test the REST service go to:<br> >>> [your_server:your:port]/CognescentSBI/resources/sbi/data<br> >>><br> >>> The predicate axis IDs (predAxisId) will be for the implementa= tion of the<br> >>> Analyzer component so it can aggregate instances due to this p= redicates<br> >>> values. The URI is parsed to build the faceted queries.<br> >>><br> >>> Best,<br> >>> Sebastian.<br> >>><br> >>><br> >>> On Wed, Nov 18, 2015 at 1:29 PM, Martynas Jusevi=C4=8Dius<br> >>> <<a href=3D"mailto:[email protected]">martynas@graphity= ..org</a>> wrote:<br> >>>><br> >>>> Sebastian,<br> >>>><br> >>>> there was little traffic on this list so far, yet your mes= sage went<br> >>>> unnoticed. Sorry for that!<br> >>>><br> >>>> You can view the webpage for your data as an (X)HTML repre= sentation of<br> >>>> RDF. It can be completely data-driven and simply a functio= n that<br> >>>> transforms the RDF response into an (X)THML response. You = could do it<br> >>>> in a number of ways: using an imperative language such as = Java, or<br> >>>> various template engines.<br> >>>><br> >>>> From a declarative perspective, XSLT (2.0) is probably the= best tool<br> >>>> for this. The RDF/XML syntax is admittedly not straightfor= ward, but<br> >>>> XSLT is a functional and Turing-complete language that can= handle it<br> >>>> effectively and transform it to (X)HTML or other formats.<= br> >>>> Graphity Client includes a number of predefined generic XS= LT<br> >>>> stylesheets that can be imported, extended, customized etc= :<br> >>>><br> >>>> <a href=3D"https://github.com/Graphity/graphity-client/tre= e/master/src/main/webapp/static/org/graphity/client/xsl" rel=3D"noreferrer"= target=3D"_blank">https://github.com/Graphity/graphity-client/tree/master/= src/main/webapp/static/org/graphity/client/xsl</a><br> >>>><br> >>>> The facets part is more complicated. If you are using SPAR= QL to<br> >>>> retrieve RDF results, you can modify the query on the fly,= to narrow<br> >>>> down matches based on the facet selections. That is what w= e did in<br> >>>> this project: <a href=3D"http://dedanskeaviser.dk/newspape= rs" rel=3D"noreferrer" target=3D"_blank">http://dedanskeaviser.dk/newspaper= s</a><br> >>>> If not, then it depends on the API you are using to access= RDF.<br> >>>><br> >>>> I am not familiar with DCI or its concept of actors/roles/= contexts.<br> >>>> Maybe it would be easier if you explained your goals. If y= ou are<br> >>>> looking for a functional implementation of data-driven app= lications<br> >>>> that uses REST and HATEOS and builds interactive forms and= other<br> >>>> navigation items, it is exactly what we provide:<br> >>>> <a href=3D"http://graphityhq.com/technology" rel=3D"norefe= rrer" target=3D"_blank">http://graphityhq.com/technology</a><br> >>>><br> >>>> We would be happy to this topic discuss further.<br> >>>><br> >>>><br> >>>> Martynas<br> >>>> <a href=3D"http://graphityhq.com" rel=3D"noreferrer" targe= t=3D"_blank">graphityhq.com</a><br> >>>><br> >>>> On Mon, Oct 12, 2015 at 10:26 PM, Sebastian Samaruga<br> >>>> <<a href=3D"mailto:[email protected]">cognescent@gma= il.com</a>> wrote:<br> >>>> > Sorry if this is not the right list. I've came he= re from a reply in a<br> >>>> > previous post.<br> >>>> ><br> >>>> > I don't know if this is something new, it just se= ems it was useful for<br> >>>> > the<br> >>>> > kind of interface I was looking for. I was just wonde= ring what would<br> >>>> > be the<br> >>>> > best way to facilitate browsing and search in the app= lication demo I'm<br> >>>> > building that renders RDF / Semantic Web contents. I&= #39;ve figured out<br> >>>> > there<br> >>>> > must be a tree hierarchy of categories, roles and ins= tances of data to<br> >>>> > which<br> >>>> > adhere the incoming data parsing so having a common d= enominator for<br> >>>> > different input structures.<br> >>>> ><br> >>>> > Having this structures, browsing through the tree of = data, an item<br> >>>> > (leave or<br> >>>> > node) could be 'picked up' as a facet. For ex= ample, if the scenario is<br> >>>> > "Car<br> >>>> > Rental" as a category, "Car Model" and= "Rental City" as roles and many<br> >>>> > models of cars and many cities as instances, what if = I could pick a<br> >>>> > car<br> >>>> > model, a city or both and press "Aggregate"= and this resulting in root<br> >>>> > categories for each specific car rental ("Car Re= ntal 1", "Car Rental<br> >>>> > 2",<br> >>>> > etc) with its roles populated with the corresponding = criteria values<br> >>>> > (the<br> >>>> > city corresponding to "Car Rental 1" given = its car, etc).<br> >>>> ><br> >>>> > Maybe this sounds dumb. But the question is: how diff= icult would be to<br> >>>> > build<br> >>>> > such a filter criteria using only RDF datasources. RD= F statement<br> >>>> > resources<br> >>>> > are not individualized by their occurrences. An RDF r= esource is the<br> >>>> > same<br> >>>> > regardless which statements it occurs. And, although = I've found a way<br> >>>> > to<br> >>>> > individualize occurrences of, for example, Car Rental= (s), I can't find<br> >>>> > the<br> >>>> > way yet to correlate this instances with the instance= s of their roles.<br> >>>> ><br> >>>> > Also, I'm restricting my mappings (ontology proce= ssing output) to<br> >>>> > three<br> >>>> > levels depth, which seems arbitrary. I could not rest= rict the graph to<br> >>>> > any<br> >>>> > depth. But I'll keep trying a while with this arr= angements. It seems<br> >>>> > attractive the correlation of categories, roles and i= nstances with<br> >>>> > some of<br> >>>> > the concepts in the DCI programming model<br> >>>> > (<a href=3D"https://en.wikipedia.org/wiki/Data,_conte= xt_and_interaction" rel=3D"noreferrer" target=3D"_blank">https://en.wikiped= ia.org/wiki/Data,_context_and_interaction</a>) which<br> >>>> > could<br> >>>> > allow for a model driven focused approach of building= the client<br> >>>> > application, again with the ontology 'common fact= ors' concept in mind.<br> >>>> ><br> >>>> > And the concept of actors, roles and contexts seems a= s an ideal case<br> >>>> > for a<br> >>>> > functional language implementation of what could be a= runtime<br> >>>> > environment<br> >>>> > for data driven applications (think of a REST-HATEOAS= client that<br> >>>> > interactively builds forms and other navigation items= simply by<br> >>>> > content<br> >>>> > negotiation with a functional data-state-based endpoi= nt).<br> >>>> ><br> >>>> > Source, examples and the demo web application are ava= ilable in the<br> >>>> > project<br> >>>> > web page:<br> >>>> ><br> >>>> > <a href=3D"http://cognescent.blogspot.com" rel=3D"nor= eferrer" target=3D"_blank">http://cognescent.blogspot.com</a><br> >>>> > <a href=3D"http://sourceforge.net/projects/cognescent= /" rel=3D"noreferrer" target=3D"_blank">http://sourceforge.net/projects/cog= nescent/</a><br> >>>> ><br> >>>> > Regards,<br> >>>> > Sebastian<br> >>><br> >>><br> ><br> </div></div></blockquote></div><br></div> --001a113a033c35dac80527ea8ceb--