- From: Jos De_Roo <jos.deroo@agfa.com>
- Date: Sat, 17 Apr 2004 14:51:57 +0200
- To: michael.f.uschold@boeing.com
- Cc: "Bernard Vatant" <bernard.vatant@mondeca.com>, "Frank van Harmelen (E-mail)" <Frank.van.Harmelen@cs.vu.nl>, "SWBPD" <public-swbp-wg@w3.org>, "Guus Schreiber" <schreiber@cs.vu.nl>
Michael, > How absolutely wonderful a treat to be able to read angle-bracket free examples!! > > With a bit of indentation, we have something very readable indeed. > > ObjectProperty(diameterValue > domain(Wheel) > range(LengthQuantity)) > Class(Quantity) > DatatypeProperty(value > domain(Quantity) > range(xsd:decimal)) > DatatypeProperty(unit > domain(Quantity) > range(Unit)) > Class(LenthQuantity > subClassOf(Quantity) > Retriction(unit, allValuesFrom(LengthQuantity)) > Individual(myWheel > type(Wheel) > diameterValue(type(LengthQuantity) > value(15) > unit(cm))) > > I don't know what this syntax is, but I love it! it has a lot more > information per character than raw OWL and results in between 500% > and infinite-fold increase in speed of understanding the content. > Infinity happens because often I never get over the syntax shock > to try and understand it. > > Network Inference uses something much like this, for representing queries. > > I have accepted a number of good arguments on the problems of > adopting another more human-friendly syntax, and with the abstract > syntax, in particular. I am still optimistic that in principle it > is possible to do something along these lines and do much better > than raw OWL (say as measured in semantic content per character, > and speed in understanding the content from reading it, both for > teaching newbies, and for experienced folk). > 1. If there were easy ways for such a syntax to be cut/pasted, > and that tools would readily import/export the syntax, > then this would address one of Jim's excellent points. > 2. If it can readily be extended to include all of OWL-Full, > that solves one major problem with the abstract syntax. > > Are there any showstoppers that I have forgotten? > I agree that it is not THIS group's job to come up with such > a syntax, I'm just hoping that one day I can avoid reading raw > OWL/RDF entirely. it seems to me that your syntax is indeed intuitive and also quite similar to :diameterValue a owl:ObjectProperty; rdfs:domain :Wheel; rdfs:range :LengthQuantity. :Quantity a owl:Class. :value a owl:DatatypeProperty; rdfs:domain :Quantity; rdfs:range xsd:decimal. :unit a owl:DatatypeProperty; rdfs:domain :Quantity; rdfs:range :Unit. :LenthQuantity rdfs:subClassOf :Quantity; a owl:Retriction; owl:onProperty :unit; owl:allValuesFrom :LengthQuantity. :myWheel a :Wheel; :diameterValue [ a :LengthQuantity; :value "15"^^xsd:decimal; :unit "cm"^^:Unit]. which is Turtle N3 [1][2] but which has the indispensable feature that it has qualified names which are resolved to URI's using @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix : <http://example.org/eg#>. and it fullfills your above points 1. and 2. i.e. there are tools and it includes all of OWL Full. -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/ [1] http://www.ilrt.bris.ac.uk/discovery/2004/01/turtle/ [2] http://www.w3.org/DesignIssues/Notation3.html
Received on Saturday, 17 April 2004 08:52:40 UTC