- From: Dave Reynolds <dave.e.reynolds@gmail.com>
- Date: Fri, 13 Aug 2010 09:00:52 +0100
- To: nathan@webr3.org
- Cc: David Booth <david@dbooth.org>, Semantic Web <semantic-web@w3.org>, Richard Cyganiak <richard@cyganiak.de>, Reto Bachmann-Gmuer <reto.bachmann@trialox.org>
On Fri, 2010-08-13 at 08:49 +0200, Reto Bachmann-Gmuer wrote: > > > On Fri, Aug 13, 2010 at 12:52 AM, Nathan <nathan@webr3.org> wrote: > David Booth wrote: > On Thu, 2010-08-12 at 21:57 +0100, Dave Reynolds > wrote: > [ . . . ] > "http://xmlns.com/foaf/0.1/name" a > foo:URI; > foo:uriLength 30; > foo:uriAuthorityHost > "xmlns.com"; > foo:xxxxx > <http://xmlns.com/foaf/0.1/name>; > > The specific question is, how do you > unambiguously identify a URI in order > to make statements about the lexical > form of that URI? > In OWL full the domain of owl:Thing is the > whole universe of discourse, > including literals. So I believe in OWL Full > you can equate a individual > with a literal and then describe properties of > that individual: > > [] owl:sameAs > "http://xmlns.com/foaf/0.1/name"^^xsd:anyURI; > foo:uriLength 30; > foo:uriAuthorityHost "xmlns.com" . > > there seems to be a misunderstanding here. > > Using a blank node rather than a URI is not > necessary but is clearer. > . . . except of course that it *is* necessary at > present, because at > present RDF does not permit literals as subjects. > > > Thanks, saved me saying that one :) > Instead of using a bnode you could use nay URIRef, which would name > the literal value. The UriRef used as name for the literal uri need > not have any relation to it. Exactly: http://my.namespace.of.lexicalforms/1234 owl:sameAs "http://xmlns.com/foaf/0.1/name"^^xsd:anyURI; foo:uriLength 30; foo:uriAuthorityHost "xmlns.com" . Expresses the same relationship as the blank node version but does not use a literal as a subject. > also, with regards owl:sameAs - given my example at the top, > how would one specify: (associate the literal with the uri) > > <http://xmlns.com/foaf/0.1/name> owl:sameAs > "http://xmlns.com/foaf/0.1/name"^^xsd:anyURI . > > given that > <http://xmlns.com/foaf/0.1/name> owl:sameAs > <http://ex.org/blah> . > > and > <http://ex.org/blah> owl:sameAs > "http://ex.org/blah"^^xsd:anyURI. > > because the above triples would imply all kinds of Falsehoods > The graph with these three triples expresses a contradiction, it is > false in every possible world, but there's nothing wrong with that ;) It's not just that it's a contradiction but it is saying something different from what was intended (I hope!). We wouldn't actually want the resource <http://xmlns.com/foaf/0.1/name> to denote its own spelling, it denotes the FOAF name relationship. If you really want to do this sort of thing you could introduce a predicate eg:prefURI which links a concept to the spelling of the preferred URI for denoting that concept - bearing in mind there might be multiple preferred URIs. <http://xmlns.com/foaf/0.1/name> eg:prefURI [ owl:sameAs "http://xmlns.com/foaf/0.1/name"^^xsd:anyURI; foo:uriLength 30; foo:uriAuthorityHost "xmlns.com" . ]. I'm unclear on the usefulness of any of this but technically it is possible. BTW in RIF there is a pred:iri-string predicate which can map between a resource expressed as an IRI and a spelling as a string. This is not a syntactic mapping if you equate two individuals then iri-string will be a many to many relationship and provide both spellings for both individuals. Dave
Received on Friday, 13 August 2010 08:01:28 UTC