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

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

> On Thu, Jul 1, 2010 at 3:46 PM, Henry Story <henry.story@gmail.com>  
> 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

Received on Friday, 2 July 2010 04:27:33 UTC