Gastblog Harriet de Man: Meresco Open (Dutch)

Harriet de Man is teamleider informatiemanagement bij Openbare Bibliotheek Amsterdam en was een deelneemster van Meresco Open op 16/11/’11.

Op woensdag 16 november namen Karin de Bruin; informatiemanager van de Openbare Bibliotheek Amsterdam (OBA) en ikzelf in Utrecht deel aan de Meresco Open bijeenkomst georganiseerd door Seecr en SURFfoundation met als thema ‘Metadata in the cloud’. Behalve de OBA waren bij de bijeenkomst vertegenwoordigd DANS, het Gemeente Museum (Den Haag), R5, Emid Consult, Deltares, Kennisnet en de UvTilburg.

Vragen
Voorafgaand aan deze bijeenkomst stelden Karin en ik onszelf de vragen:

  1. Wat gaat de cloud betekenen voor (openbare) bibliotheken?
  2. Als de open index de aquabrowser opvolgt, hoe gaat dat er dan in de praktijk uitzien?

Language-model-based ranking
Karin en ik vielen qua onderwerpen met onze neus in de boter, want Erik Groeneveld van Seecr had juist die morgen een bezoek gebracht aan Bibliotheek.nl en schetste de laatste stand van zaken van hun proof of concept voor ons. Gebruikers zoeken en vinden veel informatie in Wikipedia, Youtube en op Library Thing. Daarbij formuleren zij hun zoekvraag in ‘gewone mensentaal’ en zoeken doorgaans niet in bibliotheekcatalogi. De uitdaging is deze zoektaal in de Nationale Bibliotheek Catalogus (NBC) te matchen met ‘nette bibliotheekconcepten’. Op dit moment is verfijning van de hits (‘facetten’) mogelijk op type (materiaal), stijl, auteur, componist en taal. Als testbronnen zullen Wikipedia, kranten, youtube, CDR en MUI worden geladen. Deze worden opgeslagen in RDF-formaat. Aan de hand van een test op een – nu nog – kleine database gaf Erik de meerwaarde aan van dit algoritme. Inspiratie putte Seecr onder meer uit het artikel “Language-model-based ranking for queries on rdf-graphs” over communities als Wikipedia.

Meresco software en kennisdeling
Met de methodologie van Open Space wil Seecr kennis delen stimuleren tussen geïnteresseerden binnen én buiten de Meresco community. Iedere innovatieve toepassing die voor één gebruiker gebouwd wordt komt via de Meresco software ten goede aan de hele community.

Bibliothecaris van de toekomst
Vergaderen aan de hand van deze formule levert bijeenkomsten op waarin de deelnemers zich gelijkwaardig voelen en gedragen, waardoor veel creatief denken en kennisdeling plaats kan vinden. Dit gebeurde ook tijdens de bijeenkomst van 16 november bij Seecr. Toepassing van deze formule binnen de OBA leverde reeds een geïnspireerde bijeenkomst over de bibliothecaris van de toekomst op.

Gastblog Tzadiq Schimmel: Metadata in de Cloud en ‘lots of Open Space’ (Dutch)

Tzadiq Schimmel is Information Specialist bij Deltares en was een deelnemer van Meresco Open op 16/11/’11.

Bij een bijzonder product zoals Meresco is het heel belangrijk te weten wat jouw doel is dat je met dit middel wilt bereiken. Anders gezegd: hoe past Meresco bij haar klanten? En hoe past de ‘Cloud’ daarin? Wat zijn de behoeften? Hoe wil Seecr in de rol ontwikkelaar of ‘enabler’ het speelveld faciliteren?

Community
Fragmenten van die vragen hebben we in de Open Space sessies uitgediept. Ik heb gemerkt dat de ruimte van het speelveld groot is. De vraag is hoe je die ruimte comfortabel maakt met relevante wensen en antwoorden daarop. Een community? Het aanwezige gezelschap was gemêleerd en daarmee werd de belofte van een goede 360 graden kijk op het speelveld daadwerkelijk ingelost.

Wel of niet in de Cloud
Wat zijn de feiten, meningen en ingrediënten voor een optimaal aggregatieproces voor metadata van meerdere organisaties? Dat was mijn leerdoel voor de Open Space sessies. In die vraag ligt ook een belangrijke rol van toegevoegde waarde van de Cloud besloten. De Cloud kan het daadwerkelijke delen van metadata goed faciliteren. De Cloud wordt door menigeen ervaren als een onveilig gebied voor vertrouwelijke data. Misschien is het geruststellender om al te vertrouwelijke gegevens gewoonweg niet te delen in de Cloud. Wil je met de Cloud aan de slag voor het uitwisselen van gegevens en informatie, dan zul je dus binnen je organisatie al moeten bepalen welke metadata al dan niet vertrouwelijk is. Het werkproces waarin metadata tot stand komt moet daarop ingericht zijn.

Labeled Interface Invocation

Meresco’s Latest Addition
Meresco has received an important upgrade. With this upgrade the flexibility of DNA configuration greatly improved. Supporting different implementations for the same interface has become even more flexible with Labeled Interface Invocation (LII).

Multiple Implementations For an Interface
DNA makes a distinction between interfaces and implementation, which is a well-known practice.  However, sometimes there are multiple distinct implementations for the same interface.  For example, two Storage components might support the same interface, yet representing distinct storages.  They can have distinct performance properties or represent distinct data sets.  DNA already supports this by supporting multiple implementations for any interface. At configuration time, one branch might use one implementation while another branch uses another. For a step-by-step programmers guide too how this works see Component Configuration with DNA.

Components Choose Their Own Implementations
Labeled Interface Invocation allows components to choose distinctive implementations of the same interface at run-time. This is done by first labeling the implementations during configuration, and then use these labels during the invocation of interfaces.

Suppose we have two storages supporting the interface

    addNew(data)

Normally, a message to an arbitrary implementation of this interface would look like:

    self.any.addNew(someData)

Now suppose that there are two implementations, differing in the way they store and safeguard data. Lets label these implementations “reviews” and “audits”:

    reviewStore = Storage(name="reviews")
    auditStore = Storage(name="audits")

With Labeled Interface Invocation we can now target messages to any of these implementation as follows:

   self.any["reviews"].addNew(newReview)
   self.any["audits"].addNew(auditRecord)

An interesting aspect of the lines above is that the constant labels “reviews” and “audits” can in fact be variables. Thus, labels can also be computed and routing messages to different components can be done on the fly. For example:

    target = ... compute or lookup a label ...
    self.any[target].addNew(someData)

Conclusion
Meresco’s DNA has been stable for about two years. So new DNA features are rare, and we were pleasantly surprised to have found one. As usual, it took a long time, and a lot of thinking, but only a few lines of code; 3 actually. Most code changes are for tests and other components to used LLI. Here is the complete LLI changeset.

Have any questions about this feature or want support to use it your self? Please contact me.