Re: example of options 3 & 4 simplifying code (ACTION-86)

On Thu, 2011-09-08 at 10:12 +0200, Richard Cyganiak wrote:
> On 7 Sep 2011, at 19:34, Sandro Hawke wrote:
> > I argued in todays meeting, off the cuff, that option 2 (in Pat's
> > email [1]) offers only aesthetic improvements, while options 3 and 4
> > will result in simpler code.  
> 
> Please provide some example code for:
> 
> Option 3:
> 
> - checking whether a literal is a string

LANG = "http://www.w3.org/ns/lang/"
XS = "http://www.w3.org/2001/XMLSchema" 

def is_string(node):
   return is_literal(node) and (
      node.datatype == XS+"string" or
      node.datatype.startswith(LANG) )

> - returning the language tag of a language-tagged string

def lang_tag(node):
   assert node.datatype.startswith(LANG) 
   return node[len(LANG):]

> Option 4:
> 
> - returning the lexical form of a literal

node.lexrep

I agree this is a significant compatibility problem, since it will
return chat@fr.

     -- Sandro

> Thanks,
> Richard
> 

Received on Thursday, 8 September 2011 12:13:21 UTC