This came up in comments in a different question (OWL Lite inference: Event+Local=LocalEvent) and I thought I'd bring it up for general discussion. The OWL 2 recommendation created three profiles that targeted different use cases for OWL. But each of these are fairly heavyweight OWL languages that may not be necessary in all circumstances.
Are there solutions for those that want something more lightweight such as RDFS plus a few common OWL constructs? I'm thinking things like Allemang and Hendler's RDFS+ (see http://topbraid.org/spin/rdfsplus.html for an example implementation in SPARQL using a subset of OWL 2 RL).
What have others have used for a lighter-weight version of OWL? Should we still be referring to (and using) OWL Lite, which tacitly refers to the OWL 1 standard?
There are two facets to RDFS+ worth noting:
- Rule-based implementation is implied
- RDFS+ does not contain more advanced class description axioms, such as Restrictions, or those constructs internally using lists
In OWL 2:
With respect to the first item, OWL 2 RL is amenable to implementation via rules. The OWL 2 RL/RDF rules are pretty much a more expressive superset of RDFS+ rules... you could just pick a subset of OWL 2 RL/RDF rules to support RDFS+(+).
With respect to the second item, OWL 2 QL has perhaps the "simplest" expressivity of the OWL 2 profiles (based on DL-Lite), but for very different reasons to RDFS+: it drops a lot of what RDFS+ does, but still allows, e.g.,
someValuesFrom which would be against the RDFS+ "philosophy".
Outside of OWL 2, people often implement the pD* (OWL Horst) or DLP rulesets.
(Note that there is not much relationship between OWL Lite—a DL-based sublanguage of OWL—and RDFS+. OWL Lite allows some use of
intersectionOf, etc. which are not supported in RDFS+ by design.)
As Signified points out, OWL Lite still owns some "heavyweight" features, such as cardinality restrictions, value restrictions and intersection. But there is more: one can even express some of the other supposedly removed OWL language features in OWL Lite, such as the union and the complement of classes, although there is no explicit syntax for these features in OWL Lite. Have a look at the couple of OWL Lite test cases starting at
So, OWL Lite is far from being a "lite" language. Compared to OWL DL, OWL Lite is pretty restricted in its modeling features (vocabulary and syntax), but many of these features are still lurking around under the surface. From a user perspective, this doesn't help much, since "re-activating" the missing features amounts to quite some hackery (just have a look at the cited test cases). But it means that the semantic complexity of OWL Lite is still very high, which can be expected to have a negative impact on reasoning performance.