“Attune is my favorite kind of semantic app: the kind where users can’t see the semtech, but it’s making life easier and better for them, and the developers, by being smart and flexible. We’re proud that Pancake has built Attune using Stardog as its RDF database.” – Kendall Clark, Clark & Parsia
Yesterday, in Part I of this two-part series, we learned about the new productivity application, Attune. Here in Part II, Robert Butler, president of Pancake Technology, tells us about the technology under the hood and why he chose to build Attune from the ground-up on top of Semantic Technologies.
SemanticWeb.com: What Semantic Tech are you using?
Robert Butler: Attune was built on top of Stardog, Clark & Parsia’s new RDF database. All of the data, therefore, is stored as RDF data and we use Stardog’s intuitive native interface to update or create data. Queries are run using SPARQL. We have built OWL 2 ontologies for Attune, currently targeted at the QL profile. We plan to increase our use of ontology expressability, eventually using either EL or RL.
SW: Why did you choose Semantic Technologies rather than other options?
RB: If you look at Attune’s two goals of building a powerful user interface for building relationships between structured and unstructured data and integrating across a variety of external data sources, you almost can’t describe an app more at the center of semantic tech’s strengths. Relating tasks, notes, lists and more (a.k.a “resources”) in flexible ways is basically RDF in a nutshell. Attune will need to integrate data across different data sources that publish different types of data. This is a strong selling point for semantic technology. This is essentially what the linked-data movement is all about, Attune is just doing it on a smaller scale for individual users.
Further, OWL provides ways of using reasoning to do a lot of the integration work very quickly. If I want to sync things that should be displayed on a calendar, I need a date and time to display it. OWL provides the semantics necessary to define a calendar item and it’s properties, which can be inferred from, for example, a due date. You can do it in a relational database, but you have to manually code all the conditions for what things belong where. That gets out of hand very, very quickly.
I learned about Semantic Technologies a few years ago while working for Raytheon. I have been very excited about it ever since. While at Raytheon, I did some work with the C&P guys and was exposed to the great work they do. When I heard about Stardog, the insanely fast RDF database that they were working on, I knew immediately it was a fit. Stardog supports the necessary database features, such as transactions, in a fast native RDF database, which makes it ideal for Attune.
SW: You mentioned linked-data, does that fit with Attune?
RB: I think it will. It’s not immediately on my radar because there are other features and integrations that Attune needs first. However, using the linked-data cloud to reference additional information and data to make it available to the user in a productivity app is a natural fit, at least in concept.
So far, I haven’t seen any amazing consumer focused apps that are heavily integrated with the linked-data cloud. I’ve seen a lot of producing and very little consuming in that arena. This makes me a little hesitant at the moment, particularly since I have a number of additional concerns about data quality, reliability and performance. I will have to admit, though, that I am not very strongly tuned-in to that community and it has been a while since I gave it a good deep look. I would say I’m hopeful but cautious.
SW: How has developing Attune on top of RDF, OWL and SPARQL affected your development process?
RB: A good portion of my experience, particularly with applications, has been with SQL based systems. Building software in those systems is very rigid, schema driven and resistant to modification. Semantic Technologies provide a lot of freedom and the ability to rapidly iterate data design. Semantic tech just has a different feel to it, almost similar to building something out of blocks verses building something out of modeling clay. The clay is much less restrictive in a sense, but you have to impose your own discipline in working with the clay or the clay might just go everywhere. Small differences sometimes matter. Fore example, a typo in a property name isn’t an error in RDF, it’s just a different property. A typo in a column name in a relational DB is an error. Little things like that can make subtle differences in how you write code and what bugs are easy to find.
The biggest difference though, is things like the open world assumption that changes long held assumptions about the available data. There has been a lot of literature written describing the implications of the open world assumption on the data. However, some subtle implications can arise on the way you design a user interface and how you talk to customers. Additionally, things like the single inheritance structure of most modern OO programming languages can also face challenges in dealing with objects that can have more than one type. I cheated a little in a few places and treat certain parts of my data as “closed”. Semantic tech gives you great power, but you have to use it responsibly.
As an example, from the user’s perspective, what do you create in Attune? In traditional apps, you create tasks OR notes OR calendar entries for example. Most often the choice must be made before you create the object. In Attune, however, you create ‘items’ that can be (or become) tasks AND/OR notes AND/OR calendar entries and so on. It’s fun to talk to people who are using Attune because they will use different words for the same thing in different contexts. The semantic technology community has all these technical terms to explain these distinctions (open world, set semantics, T-Box, A-Box), but you have to be careful what language you use with consumers and how you design the interface that does all these cool things. Attune has just scratched the surface on some of what I’m hoping to pull off.
SW: Did you consider RDF database technologies other than Stardog?
RB: Yes and no. I had worked with other RDF database technologies previously — both open source and commercial — and knew I didn’t want to use them for Attune. The use cases for those databases just didn’t quite fit for Attune. So, I didn’t dismiss them out of hand, but I already had enough experience to know what I was looking for and found it in Stardog.
1) Personally, I wanted a native RDF database instead of one built on top of an existing relational technology. Ultimately, I believe the performance will be better unfettered by the underlying data models necessarily used for relational data. Also, if you build an RDF database on top of an existing relational database, you are at the mercy of what that product supports.
2) I don’t need to scale to trillions of triples. At the top end, a user is going to have millions of triples or possibly tens of millions for the mega power users. Stardog is aimed at this lower end size market while most existing databases are shooting for huge store sizes. Further, in this case, the intuitive notion that if you can do big well, you will be able to do small well doesn’t apply. If you plan to use reasoning, mathematical complexity places upper bounds on realistic reasoning support. Thus the big guys tend to have very limited reasoning subsets of OWL. If you are targeting a smaller store size, you can support a much richer set of semantics.
3) I need fast query response times. While I do care about add times, my adds are only a few triples at a time and generally infrequent. Almost every UI interaction requires a query, while very few require an update. Further, I’m building a consumer app and it’s well known that response times matter for the user experience. The C&P guys are touting Stardog as an insanely fast RDF database, particularly in regard to query execution speed.
4) I wanted as much reasoning as could be realistically put into an RDF database. C&P is one of the most experienced and well known companies that does OWL reasoning (e.g. Pellet, the sound and complete OWL reasoner), and if anybody can do it right, I believe they can.
There are a number of additional benefits of Stardog that do matter to me, but weren’t in my initial selection criteria. Stardog is written in Java and it is incredibly easy to deploy. All of this added up to an easy decision to go with Stardog.
SW: Stardog is currently an alpha product, how has this affected Attune?
RB: From a very early development stage of Attune, I was all in with Stardog. I was actually writing code intended to be deployed on top of Stardog before the first alpha release was actually out. This was pretty risky, because it meant that if Stardog failed to live up to expectations, was delayed or just plain didn’t work, I was going to have a lot of issues. In the end, however, this “all in” commitment paid off. I generally found bugs early and I knew what features I had to work with very early. For the most part, this meant that I moved forward as Stardog moved forward and I didn’t have to “undo” much to work around missing features or bugs.
The Stardog team has been very responsive to fixing bugs and has been very flexible in the timing of adding features I needed earlier. The have definitely gone out of their way for me a couple times, especially as I neared launch. I am very thankful for their support. Things are a little more rigid now since they have firmed up their 1.0 plan, which is a good thing. In the end, it all came together.
The version of Stardog I have deployed is very stable and fast. Granted, you can’t really know that a version that’s been out for less than a month will run for 6 months with no issues, but I haven’t been able to break it so far and I’m not seeing any bad signs in terms of memory or processor consumption. All the performance evaluations I’ve done are actually reducing my estimated server costs due to how responsive and efficient Stardog is. I am very pleased with the results so far.
SW: Thanks, Robert. We’ll look forward to seeing what Attune has in store.
- Drive, She Said: AI's Car Trip
- Big Data Is Big Focus At SemTechBiz (Part 2)
- Google Gets Into Quantum Computing; Advancing Machine Learning Is A Goal
- MarkLogic 7 Vision: World-Class Triple Store and World-Beating Information Store