Showing posts with label research. Show all posts
Showing posts with label research. Show all posts

Tuesday, September 25, 2007

Looking for a Researcher - Software Developer [JeromeDL project] (position closed)



Researcher - Software Developer

(
please note that the recruitment process is now closed)

The Digital Enterprise Research Institute (DERI) is the largest semantic research organisation in the world. DERI offers a stimulating, dynamic, multi-cultural research environment with excellent ties to research groups worldwide. This is a unique opportunity to join the effort of bringing research prototypes to industry ready within DERI, in collaboration with our research and industrial partners will play a key role in making next-generation semantic computing systems a reality. DERI offers a unique opportunity to develop one’s career in the world-wide renown and industry strong research environment.
 
The Person
• Ability and willingness to work in a international team based environment developing state of the art software solutions on time and to specification
• Motivated and proactive attitude to take ownership and initiative in all work assignments
• Excellent analysis and problem solving skills
• Strong design, development & testing skills
• Excellent communication skills, verbal and written
• Excellent command of English, both verbal and written
• Ability to tackle wide and varied tasks
• Creative Thinking

Essential Skills
• Solid industry experience using many of the following:
• Very strong core Java
• Web based UI: JSP/Servlets/Applets/JavaScript/AJAX
• Good expertise with automated testing frameworks such as JUnit
• Good knowledge and experience with Semantic technologies
• Good knowledge of object-oriented design principles and design patterns with an understanding of their application within Java
 
Desirable Experience & Background (inc. qualifications):
• Knowledge/Experience with distributed systems and service-oriented design principles
• Knowledge of user interface design principles
• Experience/Knowledge of document processing and search techniques
• Experience/Knowledge of XML processing and related technologies
• A relevant post graduate degree (MSc) or relevant industrial experience

The position is full-time, located at DERI Galway. The duration of the post will be for 9 months in the first instance. The salary is commensurable with qualifications and experience. An early start date is preferable as the position is now open. A panel for future similar positions may be formed.
Informal enquiries about these positions may be made to:
Sebastian Ryszard Kruk, Researcher and Project Manager, Tel +353-91-495213
sebastian.kruk@deri.org

Application procedure: Candidates are requested to submit a covering letter, CV (Word or PDF format only) and the names and addresses of at least three and not more than five referees via e-mail to;
hr.ie@deri.org

Sunday, August 19, 2007

Ontology Development - Do we collaborate?


One of the still unresolved problems in MarcOnt Portal is how to integrate suggestions from the community into new release of the ontology; which suggestions will conflict, how to choose the ones to be used, etc. MarcOnt Portal group still fights with the code base: switching to new SemVersion, fighting with FOAFRealm+SemVersion integration, and hardening the implementation. And we keep forgetting about that question - how to design and algorithm for semi-automated agreement on new versions of ontologies.

I guess, we should start with the definition of the ontology:

An ontology is a specification of a conceptualization. (...) Practically, an ontological commitment is an agreement to use a vocabulary (i.e., ask queries and make assertions) in a way that is consistent (but not complete) with respect to the theory specified by an ontology.
Tom Gruber “What is an Ontology?”

In other words - ontology is should be based on the agreement among the community of experts in the specific domain.

Should we try to talk to as many domain experts from various ontology development groups as possible, and see how they do that in practice?

There is some research done in that area already; have following article as an example.

But, when we look into an average ontology development - is it always based on the community agreement? I hope we will figure it out soon, as it is the cornerstone of our future research on MarcOnt Portal.

Monday, July 30, 2007

What is the difference?


The concerns around RDF Storages efficient are not new; many people I meet, ask me if they are scalable enough, so that they could used them in the industrial solutions.
I was not sure about it for a long time. I was not happy with Jena, we have switched JeromeDL and FOAFRealm to Sesame. I showed some improvement. I was hoping to switch to YARS, but being unable to write to this storage kept me at bay.
Anyway, over the time my confidence in the scalability of the RDF storages grew. When DERI announced the break through with SWSE/YARS2, I felt pretty confident that we have reached the stage, where the industrial world can start building upon Semantic Web technologies.

And so, I became reckless. Until only recently ...

During my summer holiday, just to play around a little, I did some changes in the TagsTreeMaps (TTM) component, preparing it for the evaluation, which I will need for my thesis. Since broadband connection and a sunny environment are mutually exclusive (at least they were in my case), I have switched from the original del.icio.us tagging provider module, developed last year, to an internal notitio.us provider module. The later one operated on the RDF storage (Sesame) with a copy of my, and some of my colleagues, taggings from del.icio.us. The graph with taggings was build following Tom Grubbers Tagging ontology (TagCommons).

If you happened to play with TTM anytime in the past, you know that what is required in the first step is a list of all tags by given user, with a number of times each tag has been used. Since none of RDF query languages (at least to my knowledge), supported by Sesame, allows for aggregations like COUNT(*), I decided to do the counting myself. Still, I needed a list of all tags.

The obvious, to me, query was following:

SELECT term
FROM
{document} tagging:hasTagging {tagging},
{tagging} dc:creator {<USER-ID>};
tagging:hasTerm {} rdfs:label {term}
USING NAMESPACE
tagging = <http://ttm.corrib.org/tagging#>,
dc = <http://purl.org/dc/elements/1.1/>

In other words, for all documents tagged by user with give USER-ID, get all literals representing tags used in this tagging.

To my surprise the whole application slowed downed to a snail pace. Why? A quick profiling with Logger in the right places of the algorithm (I could not get Tomcat profilers in Eclipse running on my Mac), gave a hint that it is the query execution by Sesame that takes ages.
I have even posted this query through the web interface of Sesame. The result was even worse: 25k ms (!) to compute the query for roughly 400+ documents with 2.5 tags per each (on average). That is BAD.

Luckily, I am blessed with a group of smarter than me (apparently) people working under my supervision in my SemInf Lab in DERI.
I told the problem to Maciej, and asked him what question would he wrote. His response was:

SELECT term
FROM
{tagging} dc:creator {<USER-ID>};
tagging:hasTerm {} rdfs:label {term}
USING NAMESPACE
tagging = <http://ttm.corrib.org/tagging#>,
dc = <http://purl.org/dc/elements/1.1/>

... and Sesame managed to compute it, giving the same results (!) in 200ms (!!!!!).

The question is if I can use his query instead of mine? Quick answer: YES,

... but what if the RDF will not conform our ontology? Like e.g., there will be resources with dc:creator and tagging:hasTerms properties, where will not be of a type Tagging, associated with a document? Unlikely to happen in the old world of SQL, but not in the open Semantic Web environment.

For the purpose of the evaluation of TTM I will stick to Maciej’s query. Hopefully, there will be some better solution out there, by the time notitio.us will go commercial.

Saturday, June 23, 2007

How I love Tomcat (did I say love? I hate it)

This is not the first time that Tomcat team decided to make our life easier and change the way Tomcat 6 works (compared to T5.5)

A couple of notes from our (just finished) session on how to make JeromeDL working on T6.


  1. apart from small changes required here and there in JSP (like changing ${ (test)?one:two} -> ${ (test)?(one):(two)} ) - T6 seems to be much faster than T5.5


  2. T6 introduced new way (they say it is a features) of handling internationalization, but it breaks common sense way of how fmt:bundle worked. Now, you cannot do .getKeys(), or bundle.keys - as this new object, that says it is a ResourceBundle is somehow mapped in EL to something behaving like a Map. so bundle.keys - returns ???keys??? indicating that such a translation has not been found - stupid.

    Together with Adam we wrote a helper function in Tag Lib to make sure we get Enumeration from bundle - it was required by JavaScript internationalization style we have e.g. in SSCF


  3. T6 has problems with handling long URL that contains URLEncoded fragments. If you have %2F as a result of URL encoding a slash - it will fail to load the page, with error 400 -> wrong URL no Slash - again stupid. I will try to find some solution soon.



Please let me know if anyone has any idea how to fix point 3.


Technorati Tags:
, , ,


Friday, October 27, 2006

Recreational computing

There is so much going on recently in DERI/eLITE/Corrib - so many things I would like to write about ... but I can't. At least until all those strange IP policies will get firm borders stating what we researchers can tell and what we should not tell.

Until then, trying to avoid any NUIG IP policies land mines I might stuble upon, I can only tell that I came back to unlimited-fun-generating activities: research & developement. I have managed attract a group of skillfull researchers to take care about each of the projects I set up some time ago: JeromeDL (Tomasz), FOAFRealm and HyperCuP (Sławek), MarcOnt and a very new one S3B (Adam).

Now I can relax slightly from some the management responsibilities and spend some time on "recreational computing". For me it is a combination of all the I really like: maths, user interface design, web programming/prototyping, and ... inventing.

I hope I will be allowed to publish some of my recent ideas and prototypes. Untill that time, unless you are from NUIG/DERI, sorry ... you got to trust me - I am having great fun (although it employs working 10-12h/day)