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