[InterMine Dev] Running a script to create an xml file causes an error

Julie Sullivan julie at flymine.org
Thu Mar 14 09:35:27 GMT 2013


Hi Pushkala

I think this error message will make more sense to you once you understand how 
the model works:

 > tried to set field 'submissions' in class '[implements: Project]' to
 > something other than type: InterMine::Model::Reference

`Project.submissions` is being set to something other than a reference. 
`Project.submissions` should be pointing to a single `Submission` object.

If you remember -

	`The “<reference>” tag defines a field in the class for storing
	a reference to another object in the database`

It should not be a collection of Submission objects or a simple value, e.g. a 
String.

Just guessing from the name, but I think Project.submissions might need to be a 
collection as the relationship between Project and Submission is one-to-many.

That would look something like:

<class name="Submission" is-interface="true">
	<reference name="project" referenced-type="Project" 
reverse-reference="submissions"/>	
	...
</class>
<class name="Project" is-interface="true">
	<collection name="submissions" referenced-type="Submission" 
reverse-reference="project"/>
	...
</class>

Which would look like:

	Project.submissions (A project has a set of submissions)
	Submission.project (Each submission has a single project)

With Items XML like:

<item id="1_1" class="Project">
	<collection name="submissions">
		<reference ref_id="2_1"/>
		<reference ref_id="2_2"/>
	</collection>
	...
</item>
<item id="2_1" class="Submission">
	<reference name="project" ref_id="1_1"/>
	...
</item>
<item id="2_2" class="Submission">
	<reference name="project" ref_id="1_1"/>
	...
</item>

But I could be misunderstanding what you're trying to do!

Julie

On 13/03/13 22:34, Jayaraman, Pushkala wrote:
> Hello,
> While we have some time, decided to try and run the script to load the data as well and this is what I found:
> The script breaks after a while and this is what it gives out:
>
> tried to set field 'submissions' in class '[implements: Project]' to something other than type: InterMine::Model::Reference
>
> ive tried to set my additions.xml to look like this:
>
> <?xml version="1.0"?>
> <!-- This file details any extensions needed to the data model to store data from this source, everything else is automatically generated from the model description so this is all we need to do to add to the model. -->
>
> <classes>
>          <class name="Submission" is-interface="true">
>                  <collection name="dataPoints" referenced-type="DataPoint" reverse-reference="submission"/>
>                  <attribute name="experimentDate" type="java.util.Date"/>
>                  <reference name="publication" referenced-type="Publication"/>
>                  <attribute name="title" type="java.lang.String"/>
>          </class>
>
>          <class name="DataPoint" is-interface="true">
>                  <reference name="submission" referenced-type="Submission" reverse-reference="dataPoints"/>
>          </class>
>
>          <class name="eQTL" extends="DataPoint" is-interface="true">
>                  <attribute name="reaperPValue" type="java.lang.Float"/>
>                  <reference name="submission" referenced-type="Submission" reverse-reference="dataPoints"/>
>                  <reference name="sslv" referenced-type="SimpleSequenceLengthVariation"/>
>                  <reference name="probeSet" referenced-type="ProbeSet"/>
>                  <collection name="tissueExpressions" referenced-type="Expression"/>
>                  <reference name="organism" referenced-type="Organism"/>
>          </class>
>
>          <class name="Expression" is-interface="true">
>                  <attribute name="tissue" type="java.lang.String"/>
>                  <attribute name="foldChange" type="java.lang.Float"/>
>                  <attribute name="pval" type="java.lang.Float"/>
>                  <reference name="eqtl" referenced-type="eQTL" reverse-reference="tissueExpressions"/>
>          </class>
>
>          <class name="ProbeSet" extends="SequenceCollection" is-interface="true">
>                  <collection name="eqtls" referenced-type="eQTL" reverse-reference="probeSet"/>
>          </class>
>
>          <class name="SimpleSequenceLengthVariation" is-interface="true">
>                  <collection name="eqtls" referenced-type="eQTL" reverse-reference="sslv"/>
>          </class>
>
>          <class name="Project" is-interface="true">
>                  <attribute name="name" type="java.lang.String"/>
>                  <reference name="submissions" referenced-type="DataPoint"/>
>          </class>
>
> </classes>
>
>
> Do let me know where I can begin debugging this..
> Thanks,
> Pushkala Jayaraman
> Programmer/Analyst - Rat Genome Database
> Human and Molecular Genetics Center
> Medical College of Wisconsin
> 414-955-2229
> http://rgd.mcw.edu
>
>
>
>
>
> _______________________________________________
> dev mailing list
> dev at intermine.org
> http://mail.intermine.org/cgi-bin/mailman/listinfo/dev



More information about the dev mailing list