Search API: requesting additional elements

0 views
Skip to first unread message

sacha

unread,
Dec 7, 2013, 8:51:54 AM12/7/13
to europe...@googlegroups.com
We've made a widget which searches Europeana for items associated with a data provider and presents them in a thumbnail carousel. When you click a thumbnail, we'd like to go to the data provider's page for that item (i.e. not to Europeana). 

Unfortunately, it seems none of the existing search profiles includes the data provider's URL for the item, so on click we first have to make a full record request for the item before navigating away. (In a full record response, the URL is in object.aggregations[0].webResources[0].about). This works, but there's a delay when the user clicks (while we talk to the API) and then some odd history/back button issues (arising I think from navigating inside an AJAX callback).

Is there a way to request that this additional data element be included in the search response?


Péter Király

unread,
Dec 7, 2013, 9:06:40 AM12/7/13
to europe...@googlegroups.com
Hi,

thanks for the suggestion. I aggree with this request and I'll pass it
to the decision makers.

The field in the regord request is rather Aggregation/edmIsShownAt
than webResources.about, because that is not guaranted currently, that
the first WebResource is always the edm:isShownAt field. In serahc you
can use provider_aggregation_edm_isShownAt field. I should also not,
that about in more than 21% of records this field is missing, the data
providers simply did not tell Europeana where the object is available
(there are cases where the object doesn't have its own web page, since
they are integrated into a collection).

Regards,
Péter


2013/12/7 sacha <sacha-...@ssl.co.uk>:
> --
> You received this message because you are subscribed to the Google Groups
> "Europeana API forum" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to europeanaAPI...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.



--
Péter Király
software developer

Europeana - http://europeana.eu
eXtensible Catalog - http://eXtensibleCatalog.org

sacha

unread,
Dec 7, 2013, 9:57:27 AM12/7/13
to europe...@googlegroups.com

Gordea Sergiu

unread,
Dec 9, 2013, 3:41:50 AM12/9/13
to europe...@googlegroups.com
Dear Peter, Sascha,


I was thinking that It would be useful to have a general and efficient implementation of this kind of functionality.
It this case, it is needed to have the edmIsShownAt field, in other cases it would be needed to get the geo locations or the "who" field.

So ... I was thinking if you could implement a RestAPI method that to which the user provides the (list of) attribute(s) that he wants to retrieve from solr/mongo
and he get's back something like a Map<EuropeanaId, AttributeValue>. The other mandatory input parameter should be a search query or a list or europeanaIds.

I think that this kind of functionality would be very helpful for third party applications that need additional information to the one presented in the BriefBean...

What do you think?

BR,

Sergiu

Péter Király

unread,
Dec 9, 2013, 4:12:23 AM12/9/13
to europe...@googlegroups.com
Hi all,

in the API we have a hierarchy of beans. Right now two elements of the
hierarchy can be accessible via API.
If you use profile=minimal, you get the content of BriefBean.
Otherwise you get the content of ApiBean (which is extension of
ApiBean). It is not a big thing to add more fields, and preview can be
a reasonable candidate.

For Sergiu's suggestion: that is also possible to implement, however
that's a quite different approach, and we have to investigate whether
the Java library we built on (Solr4j) let us allow such a dynamic
bindings. If there is an out-of-box solution, then API implementation
is relatively easy.

Regards,
Péter




2013/12/9 Gordea Sergiu <Sergiu...@ait.ac.at>:

Gordea Sergiu

unread,
Dec 9, 2013, 4:37:58 AM12/9/13
to europe...@googlegroups.com
Hi Peter,

Actually, what I was thinking of, could/should be implemented beyond the jibx bindings.
In the assets project I needed to rebuild the binding between images names and EuropeanaUris.

The code is here:
http://www.europeanalabs.eu/svn/assets/trunk/common-client/src/main/java/eu/europeana/assets/common/client/outgoing/AssetsEuropeanaUriAndObjectExport.java

This is not exposed as an API because I had direct access to solr. The only information I used in my task was EuropeanaUri, ThumbnailUrl.

For this kind of situations it is much better to retrieve only the information you need and not the Preview/BriefBean/FullBean representations.

I assume the the case of the carousel is the same ... They only need the EuropenaID, the EdmPreview (thumbnail url) and the DataProviderUrls.

I'm not an expert in using jibx, but I assume the its purpose is different from what I requested. Anyway, we might find a trick that helps us to implement the requested functionality.
Reply all
Reply to author
Forward
0 new messages