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:
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