Kingsley Idehen wrote:
Yves Raimond wrote:
Hello!

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?

?name is a literal. And it is used as a subject.

Yves,

Here's why its deemed magic/function/unreal predicate (a function selectively working on literal data associated with the URI):

1. http://bit.ly/cQJTWQ -- SPARQL Query Results Page
2. http://bit.ly/acQc4u -- Actual SPARQL Query

There isn't an actual Literal Subject in the Virtuoso RDF DBMS. The RDF_QUAD Table explicitly has Column "S" set to type IRI.

Here is the actual SQL DML for RDF_QUAD:

** SQL DDL (Data Definition Language construct) *** not DML.

create table "DB"."DBA"."RDF_QUAD"
(
 "P" IRI_ID,
 "S" IRI_ID,
 "O" ANY,
 "G" IRI_ID,
 PRIMARY KEY ("P", "S", "O", "G")
);


Kingsley


Best,
y

bif:contains is a function/magic predicate scoped to Literal Objects.

<people> != "people".

What am I missing?

--

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