Hi Olivier,
This is how we search Samples for a particular annotation.
I'm not sure if it will compile because I've simplified it for you.
ItemQuery<net.sf.basedb.core.Sample> sampleQuery =
net.sf.basedb.core.Sample.getQuery();
sampleQuery.include(Include.SHARED);
sampleQuery.setDistinct(true);
AnnotationType at = ...; // we get it from a query, see below
String query = "something here";
sampleQuery.restrict(
new AnnotationSimpleRestriction(Item.SAMPLE.getAlias(), at, Operator.EQ,
query, false)
);
ItemResultList<net.sf.basedb.core.Sample> samples = sampleQuery.list(dc);
...
/* getting the AnnotationType object for annotation type "Shoe size" */
ItemQuery<AnnotationType> typeIq = AnnotationType.getQuery(Item.SAMPLE);
typeIq.include(Include.SHARED); typeIq.setDistinct(true);
typeIq.restrict(
Restrictions.eq(
Hql.property(Item.ANNOTATIONTYPE.getAlias(), "name"),
Expressions.string("Shoe size")
)
);
ItemResultIterator<AnnotationType> typeIt = typeIq.iterate(dc);
// this should only contain one AnnotationType object!
I'm not sure why we use a ItemResultIterator for one and a ItemResultList for
the other. I guess it doesn't matter.
If you want to search the actual Annotations, I think you have to hack
access to the private method:
http://www.mail-archive.com/[email protected]/msg00145.html
(we had to do it by creating an extra class inside the net.sf.basedb.core
namespace)
Hope that helps.
cheers,
Bob.
Olivier Lefevre writes:
> The docs leave me unsure of whether one can use the
> Query facility to search annotations. Is there any
> place I can look? An example would be wonderful.
>
> Thanks,
>
> -- O.L.
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> The BASE general discussion mailing list
> [email protected]
> unsubscribe: send a mail with subject "unsubscribe" to
> [email protected]
--
Bob MacCallum | VectorBase Developer | Kafatos/Christophides Groups |
Division of Cell and Molecular Biology | Imperial College London |
Phone +442075941945 | Email [email protected]
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
The BASE general discussion mailing list
[email protected]
unsubscribe: send a mail with subject "unsubscribe" to
[email protected]