Afstudeeropdracht: RDF in Lucene

Apache Jena (https://jena.apache.org) is een raamwerk dat Sparql zoekvragen begrijpt, ontleedt, en via een domeinspecifiek algebra doorstuurt voor verdere verwerking. De verwerking wordt gedaan door een backend, wat zorg draagt voor efficiënte opslag en uitvoering van basale zoekvragen in termen van triples. Jena heeft zelf een backend met de naam TBD.  Seecr is gestart met een back-end die gebaseerd is op Apache Lucene (https://lucene.apache.org). Deze opdracht bestaat uit het uitwerken van de interface tussen Jena en Lucene.

De uitdaging

De belangrijkste reden dat we begonnen zijn met dit project is dat we een Sparql-compliant triple store nodig hebben met specifieke performance karakteristieken die andere open source triple stores niet hebben. Vrijwel alle triple stores zijn geoptimaliseerd voor het volgende gebruik:

  • Laadt (veel) data.
  • Wacht hier (lang) op.
  • Ga grasduinen in de data met Sparql.
  • Antwoord binnen een seconde is heel snel.
  • De triple store draait kort: uren, dagen, hooguit weken.

Echter, het gebruikspatroon wat wij graag willen ondersteunen is:

  • Laadt voortdurend nieuwe data.
  • Verwijder niet meer relevante data.
  • Doe continu queries.

Snel is als het onder de 100 ms is, maar liever onder de 10 ms.  De triple store draait maanden lang door.

Oplossingsrichting

We testen regelmatig triple stores, en we zien hierin maar weinig verbetering. Vooral het voortdurend bijwerken van de data zorgt voor instabiele systemen en voor het uit-sync raken van indexen waardoor het zoeken steeds trager wordt.
Ons inziens ligt dit er vooral aan dat de triple stores vaak nog nieuw zijn en onvoldoende uitontwikkeld. Nu is Sparql-verwerking misschien wel vrij nieuw, maar de benodigde indexen in back-end zijn niet nieuw. Toch worden deze back-end van van de grond af opnieuw ontwikkeld. Dat is de oorzaak van veel problemen, want het maken van een robuuste database met indexen is veel werk en kost veel tijd om stabiel te krijgen.
Er is echter al lange tijd een open source project wat in staat is zeer flexibel indexen van allerlei soorten te maken én om die zeer efficiënt en betrouwbaar up-to-date te houden: Apache Lucene. Zo is het idee ontstaan om Lucene te gebruiken als Back-end voor Jena. Dit idee is niet geheel nieuw, want er zijn twee onderzoekers van verschillende universiteiten die het al eens eerder uitgezocht hebben. De code is echter nergens te vinden.
Dit idee werkt en is ook toepasbaar in serieuze systemen; dat hebben we de afgelopen periode vastgesteld. Verdere doorontwikkeling gaat nu over het implementeren van alle Sparql features en de tuning voor performance. Ons doel is 1 miljard triples op één relatief eenvoudige machine.

Past dit bij jou?

Dit is een zeldzame kans om op zeer fundamenteel niveau bezig te zijn. Een goed begrip van algebra en de toepassing hiervan in de informatica is een pré. Net als kennis van Lucene en Jena. Dit is een opdracht voor een laatste jaar WO-student informatica.

Hoe je dit gaat doen

Als IT-stagiair werk je samen met collega’s,  scrum-based, aan userstories. Je denkt mee over het ontwerp en de implementatie van oplossingen, die baanbrekend kunnen zijn voor de dienstverlening van onze klanten.

Wat kenmerkt ons

Via onze maandelijkse retrospectives verbeteren we continu onze processen en onze interactie met elkaar en onze omgeving continu. Onze werkdag is ingedeeld in vier blokken, ieder voorafgegaan door een stand-up. Zo houden we elkaar scherp, zijn we bij elkaar betrokken, en zijn we wendbaarder door de dag heen. Iedereen denkt met elkaar mee.

Je zult begeleid worden door onze senior developers op WO- en hbo-niveau. Met hen kun je de diepte in over de uitdagingen die je tegenkomt.

Ervaring en skills die je nodig hebt

Dit ben jij:

  • Je volgt een universitaire ICT-opleiding (eindstage).
  • Je bent integer en respectvol.
  • Je kunt in teamverband én zelfstandig werken.

Als je een goed idee hebt,  krijg je de tijd voor research en toepassing binnen projecten.

Wat wij bieden

  • Je werkt mee aan IT-projecten bij de grootste klanten van Seecr.
  • Het is een uitdagende stage binnen een professionele, platte organisatie. Collegialiteit en samenwerken bepalen de sfeer. Iedereen denkt graag met je mee.  We staan open voor nieuwe ideeën.
  • We hebben een stagevergoeding en reiskostenvergoeding; een (h)eerlijke lunch met tweemaal per week versgebakken brood uit eigen oven, gekookte eitjes en biologisch broodbeleg en zuivel van onze Streekleverancier.  Er is altijd vers sinaasappelsap en fruit op kantoor. De eerlijke koffie uit ons Barista apparaat, komt hier vandaan. We hebben verrassende uitjes en ontmoeten graag inspirerende mensen op congressen.

Waar je gaat werken

Ons ruime kantoor ligt hier.  Onze medewerkers wonen verspreid in de wijde regio, dus meerijden kan een mogelijkheid zijn.

Reageren

Geïnteresseerd of vragen? Neem dan contact op met Marjanne van Arendonk (communicatie) marjanne@seecr.nl,  of bel 06 – 207 042 96.

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.