On Jul 1, 2010, at 11:18 AM, Yves Raimond wrote:

On Thu, Jul 1, 2010 at 3:46 PM, Henry Story <[email protected]> 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.
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?

+1

Almost all FILTER functions I know of could be done using predicates
in the where clause (it would even look a bit more like SQL :) ).


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,


It doesn't seem to be allowed in the RDF semantics:
http://www.w3.org/TR/rdf-concepts/#section-Literals

"A literal may be the object of an RDF statement, but not the subject
or the predicate."

Just to clarify, this is a purely syntactic restriction. Allowing literals in subject position would require **no change at all** to the RDF semantics. (The non-normative inference rules for RDF and RDFS and D-entailment given in the semantics document would need revision, but they would then be simplified.)

Pat



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










------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes






Reply via email to