W3C home > Mailing lists > Public > semantic-web@w3.org > January 2010

Re: Semantic web formalisms (was Re: Requirements for a possible "RDF 2.0")

From: Pat Hayes <phayes@ihmc.us>
Date: Fri, 15 Jan 2010 23:53:00 -0600
Cc: Semantic Web <semantic-web@w3.org>
Message-Id: <C5D043A7-6E06-4F9A-80B1-106FFE447B78@ihmc.us>
To: Jiří Procházka <ojirio@gmail.com>

On Jan 15, 2010, at 4:21 PM, Jiří Procházka wrote:

> On 01/15/2010 05:36 PM, Pat Hayes wrote:
>>
>> On Jan 15, 2010, at 1:58 AM, Jiří Procházka wrote:
>>
>>> On 01/15/2010 08:06 AM, Pat Hayes wrote:
>>>>
>>>> On Jan 15, 2010, at 12:32 AM, Jiří Procházka wrote:
>>>>
>>>>> On 01/15/2010 06:29 AM, Pat Hayes wrote:
>>>>>>
>>>>>> On Jan 14, 2010, at 10:50 PM, Jiří Procházka wrote:
>>>>>>
>>>>>>> On 01/15/2010 04:17 AM, Pat Hayes wrote:
>>>>>>>>
>>>>>>>> <rant>
>>>>>>>> This brings up a broader issue. Everyone agrees its good to  
>>>>>>>> keep RDF
>>>>>>>> simple. But keeping RDF simple by making it in effect into a
>>>>>>>> general-purpose construction kit, and then expecting that as a
>>>>>>>> matter of
>>>>>>>> routine people will use the constructions, isn't really being  
>>>>>>>> honest
>>>>>>>> about 'simple'. OWL/RDF is a lot less simple than RDF itself  
>>>>>>>> largely
>>>>>>>> because its written in what we might more honestly call
>>>>>>>> OWL-syntax-coded-in-lists-described-using-RDF, which IMO isn't
>>>>>>>> really
>>>>>>>> RDF any more. If we want to expect RDF to do this kind of  
>>>>>>>> thing,
>>>>>>>> then it
>>>>>>>> ought to have a whole datastructuring facility built in  
>>>>>>>> explicitly,
>>>>>>>> perhaps along JSON lines, rather than prostituting the triple
>>>>>>>> store to
>>>>>>>> be a data structuring tool.
>>>>>>>> </rant>
>>>>>>>
>>>>>>> Wasn't this the whole idea of RDF? Simple language for  
>>>>>>> expressing any
>>>>>>> information? Doesn't it use triples, simple relations between  
>>>>>>> two
>>>>>>> objects, specifically for the reason that it is universal, and  
>>>>>>> any
>>>>>>> kind
>>>>>>> of structure can be expressed by it?
>>>>>>
>>>>>> There are two notions of universal here, and we shouldn't get  
>>>>>> them
>>>>>> confused. One is a universal programming language, which can be
>>>>>> used to
>>>>>> build arbitrary data structures and define operations over  
>>>>>> them. In
>>>>>> other words, in fact, a programming language. The other sense  
>>>>>> is a
>>>>>> universal *descriptive* language, which RDF is supposed to be ,  
>>>>>> but
>>>>>> isn't because it is too simple. (Thats why we need OWL, etc.;
>>>>>> though RDF
>>>>>> is closer than I used to think, see my ISWC talk.)
>>>>>>
>>>>>> My point was only that if RDF needs to *use* sequences (like,  
>>>>>> as data
>>>>>> structures to encode OWL syntax, for example, or as a way of  
>>>>>> hacking
>>>>>> N-ary relations using only binary links) then this is more like
>>>>>> building
>>>>>> data structures than describing anything, and maybe it would be  
>>>>>> better
>>>>>> to admit this up front and deal with it with a real  
>>>>>> datatstructuring
>>>>>> notation. It wasn't the whole idea of RDF to have it be a kind of
>>>>>> awkward version of simplified LISP.
>>>>>
>>>>> No, I am not mixing in programming languages, I am talking about
>>>>> descriptive language, though I am not a logician, so could you  
>>>>> please
>>>>> explain what universal descriptive language needs to fulfill (or
>>>>> provide
>>>>> a link to such explanation)? I cannot imagine anything that  
>>>>> cannot be
>>>>> described by RDF+RDFS - you say we need OWL - but OWL is defined  
>>>>> using
>>>>> RDF+RDFS.
>>>>
>>>> No, its not!  OWL is a different language from RDF, and its not  
>>>> defined
>>>> in RDF. In fact, it couldn't be defined in RDF, since RDF is not
>>>> expressive enough. Both RDFS and OWL/RDF are semantic extensions  
>>>> of RDF,
>>>> but that means that they need 'extra' semantics in addition to that
>>>> provided by RDF. In the case of OWL/RDF, it wasn't at all easy to
>>>> specify this stuff and keep it consistent with the RDF meanings.
>>>
>>> Now things clears up!
>>> I think we differ in that, that I consider every RDF vocabulary a
>>> semantic extension. You can describe things using descriptive  
>>> languages
>>> like OWL or RDFS, but also using natural language.
>>
>> True, but what then is the purpose of RDF? Why don't we just use  
>> English
>> as the semantic web formalism? This seems to me to be the reductio ad
>> absurdum of your point of view. The idea of the SWeb is that semantic
>> information written in RDF can be processed by machines. And the
>> technology of RDFS, OWL, SPARQL etc. depends entirely upon genuine
>> semantic extensions (as defined in the spec itself) , not just a
>> let-it-all-hang-out idea that anything comment written anywhere can
>> count as an RDF-defined meaning postulate.
>
> Still information in RDF which is using ontology that is defined  
> just by
> natural language (not descriptive - OWL) are worth something and up  
> to a
> certain point can be processed by machines - an engineer has to teach
> his application the ontology.

I agree, indeed have argued the same point. But this does depend upon  
the underlying formalism having some minimal semantic coherence to  
build upon. And RDF really is about as minimal as it can get, in this  
regard. Apart from the oddities surrounding rdf:XMLLiteral, the only  
purely RDF entailments are from a graph to its subgraph, ie the  
triples are all 'anded' together, and from a triple with a URI to the  
similar triple with a bnode, ie what logicians call existential  
generalization. And you only need that last one when you really want  
to mess with bnodes, mostly you can ignore it. And that is IT. It is  
hard to get much less in a formalism than this.

>
> Look at FOAF for example... Undoubtedly there is demand for such
> lightweight semantics.

It relies upon the RDF (and bits of RDFS) semantics, though. Not of  
course to DEFINE its meanings, but to support what little inference  
that engines might need to draw; and they do: inverse functional  
properties for example play a critical role in FOAF deployment.

> If it was to be defined by some descriptive
> language... to be frank, I can't imagine that - it would probably be
> some upper ontology stuff which is subject of many disagreements.

Agreed, we don't need that. I'm all for lightweight ontologies. But  
they still use the semantics of the formalism they are written in.

> That
> is why we shouldn't embrace one specific descriptive language as main
> RDF formalism, we should be able to choose it, therefore defining the
> level our ontologies can be reasoned about by machines.

No, here you go off the rails. Look, RDF does not define the meanings  
of FOAF, of course. But FOAF itself does use the formally defined (and  
very weak) meanings of things like rdf:type and  
owl:inverseFunctionalProperty; and it would actually break if these  
were arbitrary or not defined with some precision.

> Saying something
> like "DL should be good enough for everyone" might be a mistake...

I agree.

>
> As I understand it, you expect to teach your machine RDF, and be  
> able to
> "understand" whole semantic web.

NOt at all. But we do have to accept that if RDF is the lingua franca  
of the sweb, then all other extensions of it have to conform to what  
it provides normatively. And as I say, that is really very little.

> My view is I have to continuously teach
> it new formalism which are starting to get used on the web (unless  
> they
> are defined by some formalism it already understands).
>
> I'm all for having a widely used and W3C blessed ontology for defining
> ontologies using set theory and formal logic, on top of RDF, but not  
> as
> a part of it. I guess it's mainly a question of proper modular design
> and low barrier of entry, since I don't know of any competing logic
> theories to be honest, but I expect there are some or will be in  
> future.

Competing with RDF? Oh my goodness yes. There are LIBRARIES of them.

Pat

>
> Best,
> Jiri
>
> PS: Others: Sorry for confusion, 3 mails accidentally went off list,
> they are quoted here of course.
>
>>> In any case your
>>> description is just a imperfect surrogate of your view of the  
>>> described
>>> things (depending how deep is your understanding and how good is  
>>> your
>>> skill with the descriptive/natural language) which is a surrogate  
>>> of the
>>> things themselves (depends what philosophy you subscribe to).
>>> If we want RDF to be universal information interchange language, we
>>> shouldn't bless one way of reasoning about things (DL) or enforce  
>>> usage
>>> of some top-level ontology (which is essentially the same thing),  
>>> and
>>> expect data to be semantic mess like minds of all people put  
>>> together...
>>>
>>>>> Anyway you probably meant the universal descriptive language has  
>>>>> to be
>>>>> able to describe anything using only it's own terms, be self- 
>>>>> hosted
>>>>> (bootstrapped), not aided by natural language like with RDFS.
>>>>
>>>> RDFS is defined by the RDFS semantic conditions, not by natural  
>>>> language
>>>
>>> And how are these semantic conditions defined?
>>
>> Using *mathematics*. And this is not a joke: although the math may be
>> written in English, the only aspects of English meaning that it  
>> relies
>> upon are those that define the meanings of terms in set theory and
>> formal logic.
>>
>>>
>>> Best,
>>> Jiri
>>>
>>> PS: You took the discussion off list, dunno if it's intentional
>>
>> No, it wasnt intentional. But whatever :-)
>>
>>> , any way
>>> is good with me. Maybe will write a blog post someday about what I  
>>> learn
>>> from you.
>>>
>>>
>>>>> I don't see why it needs to be that way, in fact I see that as its
>>>>> strength - we can use it to describe things with various levels of
>>>>> detail. For example I can define simply:
>>>>>
>>>>> <NaturalNumbers> a rdfs:Class ;
>>>>> rdfs:comment "A class of natural numbers - integers which are  
>>>>> greater
>>>>> than zero" .
>>>>
>>>> But you still need some way to actually write the numbers down,  
>>>> ie some
>>>> numerical convention. There are several of them, so you need to say
>>>> which one you are using. Now you have datatyped literals.
>>>>
>>>>>
>>>>> Or I could use OWL and express formally it's relation to integers,
>>>>> but I
>>>>> don't need to.
>>>>>
>>>>>>> Why should we give preferential
>>>>>>> treatment to relations describing structure than those  
>>>>>>> describing
>>>>>>> time,
>>>>>>> measures, events, organizations, people, pizzas...?
>>>>>>
>>>>>> Because they aren't *descriptions* of structure, they are  
>>>>>> structures
>>>>>> being used to describe other things. Just like triples are.
>>>>>
>>>>> I believe triples were chosen because they are the simplest of the
>>>>> structures, yet can describe any other.
>>>>
>>>> They are simplest and extremely useful, yes. But using them to
>>>> *describe* others, which are then also themselves used to  
>>>> describe other
>>>> things, gets the syntax/semantic levels all mixed up.
>>>>
>>>>>
>>>>> Do you intend to define all structures possible which can be  
>>>>> used to
>>>>> describe other things?
>>>>>
>>>>>>> This is what I always thought what RDF was supposed to be and  
>>>>>>> things
>>>>>>> like containers, blank nodes, literal data types, language tags
>>>>>>> got in
>>>>>>> because of pragmatical reasons, mainly to give users some kind  
>>>>>>> of
>>>>>>> direction, examples how to get started.
>>>>>>
>>>>>> Well, not really. All of these things are needed in order to  
>>>>>> describe
>>>>>> things that people wanted to describe, and couldn't be  
>>>>>> described any
>>>>>> other way. If you don't have literals, how are you going to use
>>>>>> numbers
>>>>>> in a description? Without language tags, how are you going to  
>>>>>> say that
>>>>>> something is written in French? Well, OK, maybe containers...
>>>>>
>>>>> <data:text/plain;charset=utf-8,Je%20ne%20comprends%20pas.>  
>>>>> ex:language
>>>>> lang:French .
>>>>
>>>> Well, OK, but you essentially have the lang tags here as language
>>>> 'classes'. Whats the advantage? If these are part of the  
>>>> language, then
>>>> they are just more longwinded tags. If  they aren't, then what  
>>>> "knows"
>>>> that lang:French means French? (RDF doesn't know this, right?)
>>>>
>>>> I think we did try out a design like this with language  
>>>> properties. But
>>>> you have to say what it means when the language information is  
>>>> missing.
>>>> Tags in literals make it compulsory, which is good for some  
>>>> purposes.
>>>>
>>>>>
>>>>> I don't advocate using data URI scheme instead of literals, but it
>>>>> should be possible.
>>>>> Maybe you are right about the blank nodes though, I am not sure  
>>>>> if this
>>>>> would work (meaning the URI is irrelevant):
>>>>>
>>>>> <j48fd8dj3> rdf:type ex:UnnamedNode .
>>>>
>>>> No, that confuses use and mention. The thing denoted isn't a  
>>>> blank node.
>>>>
>>>>>
>>>>>>> Reality that even such thing as RDFS was made separate of the  
>>>>>>> RDF
>>>>>>> itself
>>>>>>> support my view (even though I suspect one of reasons if that
>>>>>>> separation
>>>>>>> was the process of it's development).
>>>>>>
>>>>>> Yes, most the latter. I would have preferred to have one  
>>>>>> namespace,
>>>>>> but
>>>>>> this was set in stone very early on.
>>>>>>
>>>>>>>
>>>>>>> On the other hand I am not against creating community developed
>>>>>>> framework for making common uses of Semantic Web technologies  
>>>>>>> easier,
>>>>>>> defining useful structures and design patterns... but build  
>>>>>>> that *on
>>>>>>> top* of RDF as separate framework.
>>>>>>>
>>>>>>> I would like RDF to be as lightweight (low level) as possible  
>>>>>>> - if I
>>>>>>> were to make mine RDF, there would be no containers, bnodes,  
>>>>>>> literal
>>>>>>> data types, language tags, maybe even no literals - using data  
>>>>>>> URI
>>>>>>> scheme. Anyway I value compatibility and adoption more than
>>>>>>> sticking to
>>>>>>> my view of the world so I use RDF as it is.
>>>>>>>
>>>>>>> Other alternative would be to have the low level core, build
>>>>>>> modules on
>>>>>>> top of it, for example like some programming languages do  
>>>>>>> (Python,
>>>>>>> Java...) and call the whole thing RDF - I guess that is what  
>>>>>>> would
>>>>>>> make
>>>>>>> most people happy.
>>>>>>
>>>>>> But this whole idea of 'building modules on top' is a programming
>>>>>> idea,
>>>>>> not a description language idea. It muddles up the notion of a
>>>>>> description. Which 'level' defines the semantics you should be
>>>>>> using in
>>>>>> a query? There's no way to know.
>>>>>
>>>>> You can use any level, because all levels are defined by levels  
>>>>> under
>>>>> them, lowest of them being RDF core.
>>>>
>>>> What do you mean by one level being "defined" by another, if  
>>>> these are
>>>> all descriptive languages? Do you imagine RDF core ontologies  
>>>> being used
>>>> to describe higher-level meanings? Because that (provably) will not
>>>> work: RDF isn't expressive enough. And if it were expressive  
>>>> enough,
>>>> then we wouldn't need the higher levels, except maybe as syntactic
>>>> sugar.
>>>>
>>>> Pat
>>>>
>>>>>
>>>>> Best,
>>>>> Jiri
>>>>>
>>>>> PS: Actually there is one thing which would aid bootstrapped  
>>>>> nature of
>>>>> RDF:
>>>>>
>>>>> ex:contains rdf:type rdf:Property ;
>>>>> rdfs:comment "property for stating that a reified triple is part  
>>>>> of
>>>>> graph" ;
>>>>> rdfs:range rdf:Statement .
>>>>>
>>>>>> Pat
>>>>>>
>>>>>>>
>>>>>>> Best,
>>>>>>> Jiri Prochazka
>>>>>>>
>>>>>>>>
>>>>>>>> Pat
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Rgds,
>>>>>>>>>
>>>>>>>>> -Geoff
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------
>>>>>>>> IHMC                                     (850)434 8903 or  
>>>>>>>> (650)494
>>>>>>>> 3973
>>>>>>>> 40 South Alcaniz St.           (850)202 4416   office
>>>>>>>> Pensacola                            (850)202 4440   fax
>>>>>>>> FL 32502                              (850)291 0667   mobile
>>>>>>>> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------
>>>>>> IHMC                                     (850)434 8903 or  
>>>>>> (650)494
>>>>>> 3973
>>>>>> 40 South Alcaniz St.           (850)202 4416   office
>>>>>> Pensacola                            (850)202 4440   fax
>>>>>> FL 32502                              (850)291 0667   mobile
>>>>>> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> ------------------------------------------------------------
>>>> IHMC                                     (850)434 8903 or  
>>>> (650)494 3973
>>>> 40 South Alcaniz St.           (850)202 4416   office
>>>> Pensacola                            (850)202 4440   fax
>>>> FL 32502                              (850)291 0667   mobile
>>>> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>> ------------------------------------------------------------
>> IHMC                                     (850)434 8903 or (650)494  
>> 3973
>> 40 South Alcaniz St.           (850)202 4416   office
>> Pensacola                            (850)202 4440   fax
>> FL 32502                              (850)291 0667   mobile
>> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>>
>>
>>
>>
>>
>

------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Saturday, 16 January 2010 05:54:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:48:05 UTC