- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Thu, 01 Jul 2010 12:22:42 -0400
- To: Henry Story <henry.story@gmail.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>
Henry Story wrote: > 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. > It's a virtuoso function surfaced as a predicate. "magic predicate" was an initial moniker used at creation time. "bif:contains" doesn't exist in pure triple form etc.. > 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 . > DBMS wise, indexing is an issue which ultimately leads to data access performance problems etc.. Steve already covered that ditto Ivan in earlier comments, I believe. In Virtuoso an IRI is a native type with implications as per comment above. Kingsley > Henry > > > > >> -- >> >> Regards, >> >> Kingsley Idehen President & CEO OpenLink Software Web: http://www.openlinksw.com >> Weblog: http://www.openlinksw.com/blog/~kidehen >> Twitter/Identi.ca: kidehen >> >> >> >> >> >> > > > -- 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 16:23:26 UTC