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





Reply via email to