Archive for March, 2006

Living with OWL

Sunday, March 26th, 2006 · Bijan Parsia

In a prior post, I tried to articulate some of the parameters of when OWL is a good fit for an application. Browsing around, I re-stumbled upon this old paper
Living with CLASSIC: When and How to Use a KL-ONE-Like Language
. OWL is, indeed, a KL-ONE-like language and a lot of the points in this paper are still applicable.

(Classic was a funky language! Forward chaining rules, procedural attachments (for “test”), rather tight integration with a programming language, weirdly shaped DL, etc.)

I’ve been thinking about empathy and symmetry arguments in moral theory. Pluralism with regard to fundamental moral issues is really hard. But torture is still wrong! (Aggressive war, too, y’know.)

The GPL is Good for Business

Wednesday, March 22nd, 2006 · Kendall Clark

The GPL is usually considered to be an anti-business license; or, put another way, as a license that prioritizes freedom over profits. That’s probably right as far as it goes. At the very least, Richard Stallman’s intentions and ideologies certainly give a higher value to freedom than to profit. And I believe those intentions and ideologies are generally borne out by the terms of the GPL and by (most of) its effects.

But in some business cases, I believe the GPL is actually good for the bottom line. Let’s consider a business I understand pretty well: Clark+Parsia, a small Semantic Web consulting firm that focuses on R&D. We have amassed an impressive array of technical talent, and we’re located in a market — the US federal government — that needs that talent. But, truth be told, it’s a relatively immature market, in that it’s not very diversified.

Okay, so imagine that we develop something useful, like an RDF database. There may be a commercial market for RDF databases, though I don’t see much sign of a strong one, but that’s not especially germane here. Further imagine that we decide to make this database open source (for both historical and strategic reasons). We aren’t focused on building a product-based company, and we want to gain mindshare and attention, both for the database and, thus, for the company itself. Releasing the database under the terms of some open source license means that we can start to build a community of users, which gains us potential customers for our real business (which is consulting, application building, and R&D) and real users with real problems, which helps us focus our development, prioritize optimizations and extensions, etc.

Okay, so which open source license should we choose? To simplify things, let’s imagine that there are only two candidate licenses: GPL and BSD. Advocates of the BSD license — which have often been merely anti-GPL advocates, in my view — like to claim that the BSD license is more friendly to business than the GPL is. But I always wanted to ask them: more friendly to which business?

After thinking about this for a bit, I’ve decided that the GPL is more friendly to our business than the BSD license is. Why? If we release our database under BSD, then the only conceivable motivation for another company, either a potential customer or an actual competitor, to enter into a financial arrangement with our company is because that company wants to trade money for changes to the database which that company values.

The conversation goes something like this: “Are you guys thinking about extending to disjunctive datalog?” “No,” we reply, “we haven’t really scheduled that work for this year, but for $100, we will do that work this year.” The company pays us $100 (our rates are really good!), we do the relevant development, release a new version, and the company uses our database in its own commercial product. We’ve done something we enjoy and are good at, and we’ve been compensated for it.

Imagine, however, this same scenario if our database is licensed under the GPL. In that case, there is an additional motivation for some company to pay us additional monies, namely, to arrange some licensing terms that are more friendly to its business. The conversation proceeds like the one above, but has an additional component: “Gee, we’d love to use your database since it covers disjunctive datalog, but the terms of the GPL don’t work for us; would you consider a dual-license arrangement?”

Dual licensing isn’t new of course; lots of open source companies (Troll Tech, MySQL AB, Sleepycat, etc) are using it effectively. It may in fact be one of the only viable open source business models. It also suggests that the GPL is business friendly — friendly, that is, to business that don’t have dominant market positions, or are located in immature markets, that need more than one revenue stream (though, really, what company doesn’t?), and choose, for various reasons, to pursue an open source strategy.

In short: if another company can do, more or less, anything with our database, and it’s actually a good one, then of course other companies will do whatever profits those companies with our database. If, however, another company’s use of our database is subject to the restrictions of the GPL, that creates an incentive to compensate us for a license with terms more favorable to it. The power of that incentive is limited only by (1) how badly that company needs our technology, (2) how good our technology is, and (3) whether it’s cheaper to buy favorable terms from us than it is to develop the technology themselves.

There’s nothing new in any of this; it’s been well understood for years. But it’s one thing to understand it, and it’s another thing to put it into practice.

Web Services Activity at the W3C renewed with a little extra semantic goodness

Tuesday, March 21st, 2006 · Bijan Parsia

And we have our first Semantic Web Services working group, however oddly constructed it may be.

I also have posted my first message as chair of the Semantic Web Services Interest Group. It was a loving message full of kittens, cherubs, and drive-by flower pickings. An auspicious start to what shall be a most notable reign.

So the question is, with my selection, is the W3C trying to save SWSs or kill them? And which am I trying to do?

(You may want to consider my glorious second message before forming a judgment.)

Salon has published a more extensive set of Abu Ghraib torture photos and videos. I would like to think they were sufficent to arouse the moral sense of all of us.

The use of OWL

Sunday, March 19th, 2006 · Bijan Parsia

(By OWL, I mean OWL-DL, by which I mean a suitably large fragment of OWL for which there is comprehensive reasoning support.)

I am sometimes asked, even by myself, what the glaring successes of OWL are. What’s the killer app, or the essential app, or just the app its well suited for. I was just asked this last week by some IBMers up in Cambridge.

The answer is tricky. The question is not entirely complete. One thing we certainly don’t want in the answer is anything derived entirely from (posited, future) network effects. We want some intrinsic value. Since OWL is pretty durn expressive, it is tempting to point at things you can or cannot (straightforwardly; note the KEY qualifier) say in OWL. But that key qualifier is crucial.

One aspect of OWL that stymies is its open world assumption. The OWA entails that you have to say a lot more explicitly in order to nail down certain conclusions. For example, in an OWL knowledge base (KB) where I know that Mary is either tall or short, I don’t necessarily know which. Similarly, I might know that she has three children, but there may be no “Mary parentOf xxxx” statements in the KB. Worse, a KB with the fact that Mary has (only) three children and that Mary is the parent of Monique, Carol, Esvandiar, and Megan will not be contradictory, since, for all we know, Monique and Megan are the very same child.

So, validation of this sort is definitely not a strong point of OWL. If that’s what you want, you are just in the wrong place (though, with certain extensions we can achieve much in this line).

What is OWL (and Description Logics, or similar formalisms) good for? Well, they are fairly good at representing and reasoning with partial information. Configuration is a classic application, and anything that can be reduced to a configuration problem. SAT like problems, since OWL includes propositional logic. For representing and reasoning about other (less expressive) formalisms. For example, we were able to reduce WS-Policy to OWL (since it’s just propositional logic). The advantage here wasn’t just clarifying the semantics or generating a WS-Policy checker. There are a whole suite of services that had not occured to policy folks that were obvious on the OWL side: policy containment, equivalence, disjointness and incoherence. Just being able to state more general policies is helpful, especially when the reasoner can find which other policies specialize these more general ones. (Other examples of such reductions are UML, ER diagrams, relational schemas and queries, XPath queries, and XML (though XML required some extensions).

One reason that DLs are popular in bioinformatics is that 1) the information is often structural (configuration!) and 2) one can categorize structures based on partial information. So, if you have this sort of problem, OWL might be a big win for you.

(I mention torture again! Be upset about it!) I was just reading about executions of homosexuals in Iran. (I am of Iranian descent.) Amnesty has a map of the worldwide status of sexual minority rights. It’s sad to have to hope and look forward to no part of this map being black, and to know that it is unlikely to be so in the near term.

International Description Logic Workshop, 2006

Monday, March 13th, 2006 · Bijan Parsia

As some know, the W3C’s standardized Semantic Web languages are oriented toward logic based knowledge representation, and the most mature logic (or family of logics) in there are notational variants of Description Logics. I know some, perhaps many, people would find this claim tendentious, but they are wrong. If you look at what is standardized and what is best supported, then Description Logics win (even moreso if you throw in expressivity). This is not to say that there aren’t other interesting things in the mix, nor is it to say that there aren’t other sorts of logic based KR that are equally mature.

So, one would think that the Description Logic Workshop, which is the premier DL party of the year, would get a lot of Semantic Web attention. Alas, no. Not this year, at least. I partially blame myself. Er…as I should as a co-organizer! (To be fair, the last three years I’ve attended weren’t Semantic Web heavy either.)

Of course, it is a pretty technical and, darst I write it, academic event. But it brings together a lot of smart people who have a lot of knowledge, insight, and wisdom to offer in this space. It’s good to get to know them. This is a good way to get to know them!

So, if you are, in fact, interested in OWL as it is, think about attending. The location couldn’t be prettier.

I’m saddened, like many, by Octavia Butler’s deaths. I love almost all of her books, but the Parable of the Sower and the Parable of the Talents stand out for their near future apocolyptic vision. More striking, I think, than The Handmaid’s tale.