- From: Janne Saarela <janne.saarela@profium.com>
- Date: Sat, 12 Oct 2002 11:32:22 +0300
- To: Dan Connolly <connolly@w3.org>
- CC: Brian McBride <bwm@hplb.hpl.hp.com>, rdf core <w3c-rdfcore-wg@w3.org>, www-rdf-comments@w3.org
> The question is: how does your implementation handle the case > where datatype information isn't available at parse time? > > Suppose you read in just this much: > > <rdf:Description rdf:about="Jenny"> > <foo:age>10</foo:age> > </rdf:Description> > <rdf:Description rdf:about="Johnny"> > <foo:age>10</foo:age> > </rdf:Description> > > I presume your implementation has some way of asking... > > values = store.getTriplesMatching('...Jenny', > '...age', wildcard) > > yes? In this case, I'd expect one value. Then, we > ask... > > results = store.getTriplesMatching('...Johnny', '...age', > values[0]) > > and the critical question is: how many results does your > implementation return? If it implements F, it must > return 0, since there isn't enough information to > determine that the values of the two triples are > the same. > > If it returns 1 result, it's tidy, and it's actually > implementing something closer to B or C. I think I need to elaborate on our current implementation and then eventually answer your question: Profium SIR can be configured with any number of RDF schemas. Once RDF instance data is received, it will be validated against these schemas and only valid data will be stored for further processing. This step alone would require there to be a schema that defines foo:age you suggested. The schema can now require the foo:age to have a certain typed literal value i.e. a range. If it doesn't explicitly state the range, Profium SIR will assume it to be of type &xsd;String in the spirit of RDF M&S 1.0. Now, if the schema had the foo:age set to &xsd;string either explicitly or implicitly, your first query would return one result, a string '10'. If it was set to &xsd;int, your first query would return one result, an integer 10. In the 2nd query, if the foo:age was set to &xsd;string, you would get one result with our implementation. Again, had foo:age been set to &xsd;int, you would still get one result. Using the terminology from Proposal F, the &xsd;string would have a string value from &xsd;string value space and &xsd;int would have an integer value from &xsd;int value space. Regards, Janne -- Janne Saarela <janne.saarela@profium.com> Profium, Lars Sonckin kaari 12, 02600 Espoo, Finland Tel. +358 (0)9 855 98 000 Fax. +358 (0)9 855 98 002 Mob. +358 (0)40 508 4767 Internet: http://www.profium.com
Received on Saturday, 12 October 2002 04:32:38 UTC