- From: Jeff Z. Pan <jpan@csd.abdn.ac.uk>
- Date: Wed, 24 Sep 2008 10:39:48 +0100
- To: Ian Horrocks <ian.horrocks@comlab.ox.ac.uk>, OWL Working Group WG <public-owl-wg@w3.org>
This is a review of the Profiles document, based on discussions with colleagues from Aberdeen. I apologise for not being able to deliver this review any earlier, as requested by the chairs. Given the limited time that we have, the following comments are mainly based on our discussions so far. For such a rich document, more comments are likely to be available in next round of review. To make the comments easier to follow, we include all the comments in this email, rather than adding them across the wiki document. We would be happy to add the comments online if needed. Section 1 ========== In general, some references are needed to support some of the claims, such as those about useful application scenarios for the three profiles. Also, after a quick check, we didn't find any complexity results about instance checking in OWL 2 EL in the references [EL++, EL++ Update]. Also, these two references are only given in Section 2. The OWL 2 EL bulletin point in Section 1 says [[ Dedicated reasoning algorithms for this profile are available and have been demonstrated to be implementable in a highly scalable way. ]] However, we could not find algorithms (that can be followed by implementors who are not logicians) for the full OWL 2 EL from [EL++, EL++ Update]. The OWL 2 RL bulletin point in Section 1 says [[ OWL 2 RL reasoning systems can be implemented using relatively simple technology, ...conjunctive query answering can be implemented by extending a standard relational database system with rules. ]] We could not find any further discussions about using relational database systems to implement OWL 2 RL; thus, the sentence is not very helpful in the Introduction. We should either delete this sentence or provide some reference to provide further details. Section 2 ========== The design principle for OWL 2 EL seems to be a bit confusing. The first sentence of Section 2 says [[ The OWL 2 EL profile [EL++,EL++ Update] is designed as a maximal subset of OWL 2 that * captures the expressive power used by many large-scale ontologies and * for which the following reasoning problems can be decided in polynomial time: satisfiability, subsumption, classification, and instance checking. ]] Being a maximal subset of OWL 2 seems to indicates OWL 2 EL is a superset of OWL 2 QL and OWL 2 RL, which is not the case at all. For example, OWL 2 QL provides inverse roles that OWL 2 EL does not support, and OWL 2 QL still enjoys polynomial time complexity for the mentioned reasoning problems. As for OWL 2 RL, it supports some form of number restrictions that OWL 2 EL does not support, and OWL 2 RL also enjoys polynomial time complexity for these reasoning problems. To some extent, all the three profiles are maximal subsets of OWL 2, and the above design principle does not really distinguish OWL 2 EL from the other profiles. The sentence before Section 2.1, a reference should be provided for SNOMED CT. On the other hand, it is good that some specific applications are mentioned here, while we need to provide similar kind of information for OWL 2 QL and OWL 2 RL. Section 2.2.6 is a bit difficult to follow. If it is hard to be followed by WG members, it is likely to be hard to be followed for other readers. To make it more readeable, we should at least provide a reference here, i.e., [EL++ Update]. There are two points that we should further clarify here: 1) It seems that in order to have PropertyRange (OP1 CE) we need to have some super property OPk or OP1 with the following axiom PropertyRange (OPk CE) appearing in the ontology. One might ask how we could have PropertyRange (OPk CE) in the first place, does it require a further super property OPk+1 with a range axiom? 2) According to {EL++ Update], the condition is vacuously true for role hierarchy statements, but in Section 2.2.6, even for SubProperty (OP1 OPk), we still need to have the restriction, i.e., having PropertyRange (OPk CE) in the ontology to allow the use of PropertyRange (OP1 CE). At the end of Section 2.2.1, a list of datatypes that must not be used in OWL 2 EL are provided. This is unclear what are the rationale of disallowing them. Is that because of the complexity? Some references would be helpful here. Disallowed datatypes in OWL 2 QL and OWL 2 RL should be treated in a similar manna. Section 3 ========== It is worth mentioning the applications (with references) of OWL 2 QL in the beginning part of Section 3, like what was done in Section 2 for OWL 2 EL. Near the end of Section 3, the draft says [[OWL 2 QL disallows negative object property assertions and equality axioms. ... Equality and inequality axioms and property assertions are the same as in OWL 2. ]] This is confusing - on the one hand, equality axioms are disallowed, while on the other hand, equality axioms are the same as in OWL 2. Section 4 ========== The first sentence of Section 4 says [[ The OWL 2 RL profile is aimed at applications that require scalable reasoning without sacrificing too much expressive power. ]] This seems to be a bit vague and not very helpful - it makes OWL 2 RL sounds like OWL 2 EL, which is claimed to be the maximal subset of OWL 2 to provide scalable reasoning (see Section 2). Furthermore, it is unclear how much sacrifice of expressive power is not too much. There seems to be a big jump between Section 4.2 and Section 4.3. After the former section, readers would expect to see how OWL 2 RL ontologies can be translated into logic programs. Instead, Section 4.3 is about RDF rules rather than the above translation. The big picture isn't clear until Theorem 1 at the end of Section 4.3. The would be more readable if RDF rules are explicitly mentioned at the beginning of Section 4. The first sentence of Section 4.1 says [[ Restricting the way in which OWL 2 constructs are used makes it possible to implement reasoning systems using relatively simple technology — in particular, rule-based reasoning engines — while still providing desirable computational guarantees. ]] This unclear why rule-based reasoning engines are relatively simpler. Some justifications are needed. Section 4.2.3, there is only one subClassExpression (with maxCardinality for ObjectPropertyExpression) used in the production of superClassExpression. Is it a typo? Otherwise, some explanations are needed. In Section 4.2.5, it would be helpful to explicitly state that OWL 2 RL disallows both negative class assertions and negative property assertions. After Table 8 in Section 4, the draft says [[ Note that the rules relating to rdfs:domain and rdfs:range reflect the IFF semantic conditions of the OWL 2 RDF-Based semantics [OWL 2 RDF-Based Semantics] rather than the weaker ONLY-IF semantics of RDFS [RDF Semantics]. ]] More explanations are needed here: What do the rules look like if we use the weaker ONLY-IF semantics of RDFS? With the weaker semantics, will Theorem still hold? The next paragraph, the draft says [[ OWL 2 RL/RDF rules include neither the axiomatic triples and entailment rules of RDF and RDFS [RDF Semantics] nor the axiomatic triples for the relevant OWL vocabulary [OWL 2 RDF-Based Semantics], as these might cause performance problems in practice. ]] However, the current RDF rules don't seem to very scalable either. For example, the third RDF rule in Table 7 adds T(lt1, owl:differentFrom, lt2) for all literals lt1 and lt2 with different data values. If we have 10^x different data values, we will then need to add 10^2x generalised triples of the above form. Section 5 ========== The first paragraph of Section 5 is redundant; the same idea is repeated in the third paragraph. It seems to be better to move the second paragraph after the introduction of the reasoning problems. Also, this paragraph says [[ None of the described profiles, however, is propositionally closed, so these reasoning problems thus can have different complexity and require different algorithmic solutions. ]] This seems to indicate in Table 8, for some profiles, that the problems of ontology consistency, class expression satisfiability, class expression subsumption and instance checking, could have different complexity, which is not the case at all in Table 8. This sentence thus does not seem to be very helpful in the context. After Table 8 in Section 5, the DL Handbook and the Description Logic Complexity Navigator are mentioned. Again, they don't seem to be very helpful here. For the DL Handbook, we are not sure if all (or any) the new results about the profiles are included. For the Navigator, it is mainly based on the assumption that the supported constructors can be used on both sides of concept inclusions; hence, it is not obvious how to check the complexity results for the profiles, in which there are detailed restrictions on where certain constructors can appear. Typos ========== Section 3.2, 1st paragraph, 2nd line: restriction -> restrictions Section 3.2, 1st paragraph, 2nd line: DL-lite -> DL-Lite Section 3.2.3, 1st paragraph, 4th line: can occur -> occur Section 3.2.5, 1st paragraph, 3rd line: remove "them"? Section 3.2.5, the paragraph before the following production, 2nd line: "object property" should be "data property"? [[ DataPropertyDomain := 'PropertyDomain' '(' { annotation } DataPropertyExpression superClass ')' ]] Section 4.2.1, 1st paragraph, 1st line: EL -> RL Table 1: "a class descriptions" appears twice There are two Table 8 in the draft The University of Aberdeen is a charity registered in Scotland, No SC013683.
Received on Wednesday, 24 September 2008 09:40:37 UTC