Re: feedback on "SPARQL Query Language for RDF", v1.139

On Dec 2, 2004, at 7:18 AM, Seaborne, Andy wrote:
> Kevin Wilkinson wrote:
>> "Seaborne, Andy" wrote:
>>> Kevin Wilkinson wrote:
[...]
>>>>
>>>> *Definition:* Triple Pattern Matching
>>>>
>>>> For +substitution+ S and Triple Pattern T, S(T) is -the-+a+ triple
>>>> pattern +formed+ by replacing any variable v in T with S[v]. (KW
>>>> Comment: there may be more than one such triple pattern, correct?)
>>>
>>> No - a substitution is a function and is well-defined.  Applied to a 
>>> triple
>>> pattern there is only one triple pattern produced.
>> i found the notation S(T) confusing since S is a function
>> from variables; i don't know what S(T) is. a different
>> function? can't a variable be bond to multiple terms? that's
>> why i thought S(T) would produce multiple triples.
>
> There are induced functions S:T->T, S:GP->GP which all naturally arise 
> from the idea of substitution.  It's usual to use the same name for 
> this (polymorphic) function.

I agree it's usual, but when I tried to transcribe this part of the 
SPARQL draft to MathML
and N3, I ran into some wierdness: if we look at S as an RDF property, 
we can't write
   S rdfs:domain T; rdfs:range T.
because then
   gp1 S gp2
means that gp1 and gp2 are T's. I thought about splitting S into mutiple
properties, but I think OWL will work:

   T s:subClassOf [ owl:onProperty S; owl:allValuesFrom T].
   GP s:subClassOf [ owl:onProperty S; owl:allValuesFrom GP].

and so on so that
   gp1 S gp2. gp1 a GP.
means that
   gp2 a GP.

I don't know if there are any actual problems with the SPARQL spec text 
yet,
but until I get this part of my noodling done, I won't be 
confident/sure.

noodling: http://www.w3.org/2001/sw/DataAccess/mathml-rules.xml

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Thursday, 2 December 2004 13:21:29 UTC