2008 Semantic Summer
C&P Semantic Summer 2008, our year-round R&D Internship program this year, is an intensive internship focused on the Semantic Web and related R&D areas; it combines real-world problems with state of the art research questions in KR, web systems, AI, etc.
You don’t need to have a background in AI or logic programming specifically to be a successful C&P intern. You do need to be an experienced and enthusiastic learner and programmer with a strong CS education in hand or in progress. Some of these projects are more suited for a graduate student; others are suitable for an upper-level undergrad. They’re all substantial projects in which there is some base upon which to start but you’ll have to go beyond that base in order to hit a home run.
Real-world R&D
Students seek internships for a variety of reasons. We think a good reason to intern with us is because our R&D Agenda is substantially the same as the projects we describe below. In other words, C&P interns will be working on real problems that really matter to industry. Nothing insures productivity as much as happiness at work; and few things contribute as more to that happiness than significant, meaningful challenges in the workplace.
Background Reading
Many of these projects are generally within the KR area of Description Logic and, typically, OWL DL in particular. The single best place to start learning DL is with the seminal Description Logic Handbook, which is partially available online.
Pellet
Much of what we do is based on OWL DL, and we think Pellet is one of the best all-around OWL DL reasoners available. If you want to work on DL, or learn about Semantic Web reasoning, Pellet is a good project to work on. See also: the Pellet homepage.
Pellet Internals & Optimizations
Pellet performs reasonably well on a wide-range of problems; but there are always new optimizations to experiment with, implement, and invent.
“The Configuration Problem”
The DL Handbook cites “the configuration problem” as a class of problems for which Description Logic is especially well-suited. We’ve been building some configuration applications using Pellet for customers, so we’ve finally got real-world experience and it’s time to turn that into a framework for rapidly building new configuration engines using Pellet, rather than building them from scratch each time.
This is a good choice for an intern who wants to do a mixture of research and development. See DL Handbook for more details.
D2RQ and ETL
ETL is a data warehousing technique for integration via aggregation. We’re interested in the relation between ETL and the query proxying approach explored by D2RQ, as well as in optimization techniques for ETL frameworks (including exploiting parallelism through concurrency, distributed message passing systems like Spread, etc.). See also:
Spread or, even better, RabbitMQ (and AMQP generally)
Rules
Pellet supports both AL-log and DL-safe rules; but both implementations could be optimized and extended. We’re also interested in complete SWRL support, which is almost certainly more than a summer’s worth of work. Or, put another way: if you can completely implement SWRL in a summer, your future is very promising. See also:
Query Answering for OWL-DL with Rules
AL-log: Integrating Datalog and Description Logics
Default Logic
There are a host of interesting non-monotonic extensions of OWL DL; Reiter’s Default Logic is one such. It is often the case that ontology modelers would like to be able to say, in effect, “by default, something is true”. Extending OWL DL with Default Logic makes a form of defaulting possible. See also:
Finite Model Reasoning
Finite Model Reasoning in Description Logics
Bounded Model Checking
Description Logic reasoners can be used to do finite model checking, that is, satisfiability of models w/r/t a specification. We’re interested in a system for finite model checking using Pellet.
Bounded Model Checking with Description Logic Reasoning
Abduction
A Case for Abductive Reasoning over Ontologies
Spatial & Temporal Datatype Reasoning
There are increasing number of applications where one needs to represent and reason with geospatial relations. Although, OWL can be used represent many different things about a spatial region but in such applications you need to express special-purpose relations so you can say “a region has a border with another region” or “a region is inside another one”. There are quite a number of spatial logics that have been designed for this purpose, RCC being the most prominent. We are interested in integrating OWL DL (or a less expressive fragment) with RCC (or another similar spatial logic). See also: