- From: Dan Connolly <connolly@w3.org>
- Date: Thu, 2 Dec 2004 08:21:32 -0500
- To: andy.seaborne@hp.com
- Cc: public-rdf-dawg@w3.org, Kevin Wilkinson <wilkinson@hpl.hp.com>
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