Re: Subjects as Literals, [was Re: The Ordered List Ontology]

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