- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Tue, 10 Apr 2007 14:24:28 +0100
- To: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- Cc: public-owl-dev@w3.org
On 10 Apr 2007, at 12:26, Hans Teijgeler wrote: > Hi Bijan, > > Thanks for your quick response! > > It seems that I am caught between the devil and the deep blue sea. > It is > hard to believe that OWL doesn't fully support something > fundamental as > cardinalities :-( Yes, I was late to the game, but strongly against not having them. See the issue: <http://www.w3.org/2001/sw/WebOnt/webont-issues.html#I3.2-Qualified- Restrictions> There's a history there. > The someValuesFrom doesn't work for me, Yeah, it's only for that case. > because I need all the QCRs that you > can think of. Then you pretty much *have* to use OWL 1.1. Fortunately, it's getting pretty well supported (I expect all the reasoners that had already supported QCRs will soon support OWL 1.1 syntax (i.e., Racer and Kaon2); FaCT++ already does; Pellet 1.4 added QCR support as well as the OWL 1.1 syntax support; new versions of Protege and Swoop support/ will support the syntax, etc. etc.). The syntax may shift a little, but the OWL API already supports all the OWL 1.1 syntaxes and will (I believe) support forward migration. So any little changes (e.g., of namespaces) will be pretty transparently handled. > Would you do me a favor and show how to represent in OWL 1.1 style: > "Any member of the Pump class hasAsPart: > - 2 to 6 members of the Bearing class > - 1 member of the Casing class > - 0 to 1 member of the VibrationMonitor class " """ <owl:Class rdf:about="#Pump"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasAsPart"/> <owl11:onClass rdf:resource="#Bearing"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">6</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasAsPart"/> <owl11:onClass rdf:resource="#Bearing"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> ..." For the complete worked example, see: <http://owl1-1.googlecode.com/svn/trunk/ontologies/example-for- teijgeler-qcrs-apr2007.owl> I added it to the example ontologies page: <http://code.google.com/p/owl1-1/wiki/ExampleOntologies> If you end up making more examples that are sharable, please let me have a pointer! I added a restriction (min 10 casings) to make the class unsatisfiable. This was detected by both FaCT++ and Pellet. > (the list goes on and on, so a workaround with subproperties is not > viable, > because we have thousands of classes as well) And would be awful in any circumstances :) (Plus, it wouldn't be correct.) > This will be very helpful! > > Regards, > Hans > > PS1 I tried to find owl:onClass or onClass you used below in that > family > stuff, but it wasn't anywhere in your documents. It is in the RDF mapping: <http://www.webont.com/owl/1.1/rdf_mapping.html> e.g., ObjectMinCardinality(n op c) _:x rdf:type RESTRICTION[op] _:x owl:minCardinality "n"^^xsd:nonNegativeInteger _:x owl:onProperty T(op) _:x owl11:onClass T(c) I'm working on an OWL tutorial that will allow you to see all the different syntaxes easily for examples. In the meantime, I'll try to put up some examples on the wiki. > PS2 What is the target date for the Recommendation status of OWL 1.1? As there is not yet a working group, any date I'd give is pure and utter speculation. Fortunately, I am trained in philosophy! The charter Ian and I have sketched out: <http://webont.org/owl/1.1/draft_proposed_charter.html> proposes 1 year from starting. Some people have raised questions about the aggressiveness of that schedule. I think even so the *core* (including QCRs) could be ratified sooner than the whole thing. However, we do not yet have a working group! If you belong to a W3C member organization, you might have your AC rep contact the semantic web activity chair indicating your organization's interest. Otherwise, the best thing is to use it and help shake it out. I think we have pretty good interop thus far. When we started OWLED, a goal was to try to advance both de facto and de jure standards, and to *not* let things get in the way of improving the the effective, reliable state of the infrastructure. This is why we got consensus from the implementors at OWLED2005 on the feature set. So, I feel pretty safe in recommending using QCRs even without a recommendation. When the rec rolls around, forward migration should be pretty easy. Until then, it's perfectly reasonable to demand that tools support the current syntax. Hope this helps. Cheers, Bijan.
Received on Tuesday, 10 April 2007 13:23:55 UTC