W3C home > Mailing lists > Public > semantic-web@w3.org > November 2018

Re: ✅ Literals as subjects Re: Toward easier RDF: a proposal

From: Hugh Glaser <hugh@glasers.org>
Date: Mon, 26 Nov 2018 13:53:02 +0000
Cc: Austin Wright <aaa@bzfx.net>, Pat Hayes <phayes@ihmc.us>, Tim Berners-Lee <timbl@w3.org>, David Booth <david@dbooth.org>, SW-forum Web <semantic-web@w3.org>, Dan Brickley <danbri@google.com>, "Sean B. Palmer" <sean@miscoranda.com>, Olaf Hartig <olaf.hartig@liu.se>, Axel Polleres <axel@polleres.net>
Message-Id: <02EBD4C9-85DD-431D-A4EB-1EFC3AEE9D10@glasers.org>
To: Dave Raggett <dsr@w3.org>
Thanks Dave,

> As a literal “May” is a string
Exactement, mon ami,

Just to elaborate:
You "shouldn't" say
	{ “May” a Month . }
any more than you should say
	{ :foo :bornIn "May" . }
 (People can, of course, say that in an RDF triple, but they should know it is highly unlikely to be saying what they want.)

What I might want to say is something like:
	{ “May” :isLabelOf months:may . }
which seems fine to me.


While I have ventured back in...

Can anyone explain to me the relation between
	owl:inverseOf
and the no literals in subject position restriction in RDF?
For example, what does
	{ :isLabelOf owl:inverseOf rdfs:label . }
actually cause/mean or whatever?
Sorry, I suspect that I should understand, but I'm even more ignorant of owl than I am of all the rest of it.

Austin, I know entire of these comments address your question, sorry.
So my attempt:
> { “May” a Month . } isn’t a useful statement/graph to me, because this is mutually exclusive with { “May” a foaf:Person . }.
You have chosen something quite specific - declaring type, and apparently mutually exclusive resources.
If you had chosen "Woman" instead of "Month" it would have seemed alright, I think.
Also, if you chose "foaf:name" instead of "a" you could have lots of such triples quite happily.
There isn't a big argument for expressivity - in fact there isn't one, I think.
It is just possibly more convenient for the tooling around the RDF world.

> More specifically, someone has to explain why every property should be able to have an inverse. E.g. why do we need separate { ?v hasAuthor ?u } and { ?u authorOf ?v } properties, when we can just say { ?u author ?v } or { ?v ^author ?u . } instead?
> 
In my view, having both predicates and their inverses all over the place is indeed bad - you really only want one way of making any given statement, and you only really want to put a fact in one place.
The issue here is that you are restricted about which of the two you choose in the special case when one of the proposed domain or range are literals.
Some people think that the choice of the predicate direction should be based on what the modelling suggests, rather than constrained by a restriction on the underlying modelling language.

Best
Hugh

> On 26 Nov 2018, at 12:30, Dave Raggett <dsr@w3.org> wrote:
> 
> 
> 
>> On 25 Nov 2018, at 02:23, Austin Wright <aaa@bzfx.net> wrote:
>> 
>> Someone may need to explain to me exactly which problem this would solve, especially in the context of making RDF more approachable.
>> 
>> { “May” a Month . } isn’t a useful statement/graph to me, because this is mutually exclusive with { “May” a foaf:Person . }.
> 
> As a literal “May” is a string, and the meaning will depend on the context, e.g. it could be a month, a verb, someone’s family name and so forth.  A common case is where there are somethings that are only true in this particular context whilst other things are true generally.  Contexts are also useful when dealing with departures from the open world assumption.
> 
> Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett
> W3C Data Activity Lead & W3C champion for the Web of things 
> 
> 
> 
> 
> 
> 

-- 
Hugh
023 8061 5652
Received on Monday, 26 November 2018 13:53:36 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:42:03 UTC