From: Frank B. <fbergman@u.washington.edu> - 2008-06-03 18:05:06
|
Hello, With the renewed activity on the list I've had another look at the current OM and the examples in CVS (or rather the latest on miaseBioModels21). I've found some discrepancies that I hope to get some feedback on. First of all looking at the "source" attribute in the examples we find it used for: - urns: urn:miriam:biomodels.db:BIOMD0000000021 - URLs: file://bla / http://somewhere - referencing other model ids defined I think this may be confusing for consumers of <SimML or the ML formerly known as miaseML>. The urn can be resolved using the Miriam webservice, but I'm not sure what I should do if I encounter another urn here ... Next XPath, I know I previously already stated that it seemed overblown for what we wanted to do, however got outvoted. So if we go with it let's be sure to do it correctly. XPath really is troublesome when it comes to default namespaces, as for example sbml has one. That is a query like the one in the example: /sbml/model/listOfParameters/parameter[@id='V_dT']/@value While valid without default namespace, has to be mapped in order for the query to be successful, otherwise it won't find anything. So we need to specify prefixes for the mappings. In my prototype I used: "sbml" - "http://www.sbml.org/sbml/level2" Which then means the query has to be reformulated as: /sbml:sbml/sbml:model/sbml:listOfParameters/sbml:parameter[@id='V_dT']/@valu e After doing that the query actually works fine and modifications or lookups work well. However we really have to think about what to do for the queries, because as <SimML or the ML formerly known as miaseML> is supposed to be model-definition-language-agnostic. This could be remedied by the spec predefining the prefixes to be used. The next issue I had with the dataGenerator and the accompanying mathML element. Lets recap, a data generator consists of: a list of variables(with id, taskReference, XPath) a list of parameters(with id, name, value) mathml here the mathml should only include expressions of constants, parameters and variables. Could someone please elaborate again, why we need a list of parameters here? We cannot really reference them from somewhere else, and setting them up with id,name(and why a name in the first place?) and value, rather than using the value directly in the mathml seems strange to me. Also the example uses a mathml element: <math> <apply> <plus/> <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time">time </csymbol> </apply> </math> Which seems incorrect to me, but even if reformulated in a more appropriate form: <math xmlns="http://www.w3.org/1998/Math/MathML"> <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time">time</csymbol> </math> It is still troublesome, as I'm not sure which "time" from which taskReference to take. So instead we should have time refered to in the variable section: <variable id="time" taskReference="task1" XPath="/sbml:sbml/sbml:model/time "/> Except this is not really a XPath element, and so should be replaced with ... what? I'll attach the modified file so you can have a look. So far my thoughts until here, as soon as those issues can be agreed upon I could release a prototype implementation. Cheers Frank P.S: Some more light reading on XPath: http://www.google.com/search?q=xpath+default+namespace |