Re: PROPOSAL to close ISSUE-61: Does the RDFa API need a vocabulary helper

On Jan 13, 2011, at 11:11 , Nathan wrote:

> Ivan Herman wrote:
>>> That said, in a previous revision of the api, there was another (disputed iirc) approach, which was to change the return type of Profile::setPrefix from void to a "PrefixResolver", so you'd:
>>> foaf = rdf.setPrefix('foaf', '');
>>> then you could do:
>>> foaf('name')
>>> rdf.resolve('foaf:name')
>>> rdf.prefixes.foaf + name
>>> ...
>> This is actually very close to what I am used to, which is
>> foaf = Namespace('')
> indeed, it's a combination of both approaches :)
>> although, for my instinct, the first argument ('foaf') is actually superfluous. But I can live with that...
> The first argument enables the rdf.resolve('foaf:name') and rdf.prefixes.foaf functionality to still be used, giving users a choice in how they prefer to resolve URIs - if the dictionary prefixes.foaf and curie resolve() methods were removed from the API all together though, then yes it would be superfluous.

Sorry, I was not clear. Of course that argument is necessary _unless_ the only way I want to use it is via 

foaf = rdf.setPrefix('foaf', '');

Which begs the question, which may be an overcomplication: what about saying

foaf = rdf.setPrefix('', 'foaf');

ie, inverting the order of arguments and make the second optional? If not given, the system can set some sort of an internal name which is probably opaque to the user but, for example, I may not care about it because I would only use the 'foaf' return value...


> Best,
> Nathan

Ivan Herman, W3C Semantic Web Activity Lead
mobile: +31-641044153
PGP Key:

Received on Thursday, 13 January 2011 10:51:14 UTC