- From: Henry Story <henry.story@gmail.com>
- Date: Thu, 1 Jul 2010 16:46:45 +0200
- To: Kingsley Idehen <kidehen@openlinksw.com>
- Cc: Yves Raimond <yves.raimond@gmail.com>, nathan@webr3.org, Pat Hayes <phayes@ihmc.us>, Toby Inkster <tai@g5n.co.uk>, Dan Brickley <danbri@danbri.org>, Linked Data community <public-lod@w3.org>, Semantic Web <semantic-web@w3.org>
On 1 Jul 2010, at 16:35, Kingsley Idehen wrote: > Yves Raimond wrote: >> Hello Kingsley! >> >> >> [snip] >> >> >>> IMHO an emphatic NO. >>> >>> RDF is about constructing structured descriptions where "Subjects" have >>> Identifiers in the form of Name References (which may or many resolve to >>> Structured Representations of Referents carried or borne by Descriptor >>> Docs/Resources). An "Identifier" != Literal. >>> >>> If you are in a situation where you can't or don't want to mint an HTTP >>> based Name, simply use a URN, it does the job. >>> >> >> It does look like you're already using literal subjects in OpenLink >> Virtuoso though: >> >> http://docs.openlinksw.com/virtuoso/rdfsparql.html >> >> SQL>SELECT * >> FROM <people> >> WHERE >> { >> ?s foaf:Name ?name . ?name bif:contains "'rich*'". >> } >> >> Best, >> y >> >> > > Were is the Literal Subject in the query above? > > bif:contains is a function/magic predicate scoped to Literal Objects. > > <people> != "people". > > What am I missing? Why do you think it is magic? Such a relation makes complete sense. Given that is is a relation between literals it can be tested without needing to look at the world. Just like an math:isgreaterThan relation ... In fact I wonder how much SPARQL could be simplified by thinking of things this way. Could one perhaps get rid of the FILTER( ) clause? In any case RDF Semantics does, I believe, allow literals in subject position. It is just that many many syntaxes don't allow that to be expressed, But there is nothing you can do to stop that happening semantically. A URI or bnode can just be names for strings. And as for it requiring a change to the infrastructure of your DB, it is not clear that it immediately does, since you can alwasy rewrite "father" containsLetters 6 . as [] owl:sameAs "father"; containsLetters 6 . Henry > -- > > Regards, > > Kingsley Idehen President & CEO OpenLink Software Web: http://www.openlinksw.com > Weblog: http://www.openlinksw.com/blog/~kidehen > Twitter/Identi.ca: kidehen > > > > >
Received on Thursday, 1 July 2010 14:47:32 UTC