Sabrish Subramanian wrote:
> Thanks..it was really helpful to me. 
> If data from JSON is stored in a cache , how are the queries parsed
> according to the users action (click) and how are they sent to the database.
> Can u direct me where does this happen and how ? thank u 
>   
Exhibit has a simple "expression language" for retrieving data from its 
database. The technical details of that expression language can be read 
from chapter 3 of my thesis:
    http://people.csail.mit.edu/dfhuynh/research/thesis/thesis.html

An Exhibit expression, e.g.,
    .parent-of.spouse-of
(meant to evaluate to sons and daughters in law) is parsed into some 
internal data structures, which can then be used to evaluate against a 
database. The parser is implemented here
    
http://static.simile.mit.edu/exhibit/api-2.0/scripts/data/expression-parser.js
and the output of that parser is an Exhibit.Expression object as 
implemented here
    http://static.simile.mit.edu/exhibit/api-2.0/scripts/data/expression.js

Evaluating an expression programmatically typically involves something 
like this:

    var expression = Exhibit.ExpressionParser.parse(".parent-of.spouse-of");
    var result = expression.evaluate(
       { "value" : "Joseph P. Kennedy" },
       { "value" : "item" },
       "value",
       database
    );
    result.values.visit(function(v) {
       // print out v
    });

This would print out
    Ethel Skakel
    Jacqueline L. Bouvier
    Peter Lawford
    Robert S. Shriver, Jr.
    Stephen E. Smith
    Victoria A. Reggie
    William J.R. Cavendish
(i.e., sons and daughters in law of the first generation of the Kennedy 
family).

David

> David Huynh-2 wrote:
>   
>> Sabrish Subramanian wrote:
>>     
>>> where is the data exactly stored from JSON files in exhibit ?...is it a
>>> cache
>>> or any in-memory model.....
>>>   
>>>       
>> The data is retrieved over to the browser and then stored into a 
>> database implemented in Javascript. Here is the implementation:
>>     http://static.simile.mit.edu/exhibit/api-2.0/scripts/data/database.js
>> Basically, it's a simplified 3-tier web application framework, including 
>> the database, implemented in Javascript.
>>
>> You can consider it a cache that doesn't support write back (into the 
>> JSON files).
>>
>> David
>> _______________________________________________
>> General mailing list
>> [email protected]
>> http://simile.mit.edu/mailman/listinfo/general
>>
>>
>>     
>
>   

_______________________________________________
General mailing list
[email protected]
http://simile.mit.edu/mailman/listinfo/general

Reply via email to