The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

NAME

RDF::Query::Functions::Buzzword::GB - plugin for buzzword.org.uk British locale-specific functions

SYNOPSIS

use RDF::TrineX::Functions -shortcuts;
my $data = rdf_parse(<<'TURTLE', type=>'turtle', base=>$baseuri);
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
foaf:name "Toby Inkster" ;
foaf:phone "01234567890x1234";
foaf:postcode "bn71rs" .
TURTLE
my $query = RDF::Query->new(<<'SPARQL');
PREFIX sparql: <sparql:>
SELECT
?name
?phone
?postcode
(gb:postcode_format(?postcode) AS ?pcfmt)
(gb:telephone_std(?phone) AS ?phonestd)
(gb:telephone_local(?phone) AS ?phonelocal)
(gb:telephone_extension(?phone) AS ?phoneext)
(gb:telephone_uri(?phone) AS ?phoneuri)
WHERE
{
?person foaf:name ?name ; foaf:phone ?phone ; foaf:postcode ?postcode .
}
SPARQL
print $query->execute($data)->as_xml;

DESCRIPTION

This is a plugin for RDF::Query providing a number of extension functions.

  • http://buzzword.org.uk/2011/functions/gb#postcode_valid

    Given a literal, returns a boolean indicating whether it seems to be a syntactically valid UK postcode.

  • http://buzzword.org.uk/2011/functions/gb#postcode_format

    Given a literal, if it seems to be a valid UK postcode, canonicalises the formatting; otherwise returns the literal unscathed.

  • http://buzzword.org.uk/2011/functions/gb#telephone_valid

    Given a literal, returns a boolean indicating whether it seems to be a number that could be dialed from a UK phone.

    Only the digits '0' to '9', letter 'x' (extension) and '+' (international dialing code) are expected. Other characters are stripped out before any checks.

  • http://buzzword.org.uk/2011/functions/gb#telephone_format

    Canonicalises the formatting of a phone number that is valid. Should return invalid phone numbers unscathed.

  • http://buzzword.org.uk/2011/functions/gb#telephone_std

    Returns the STD code for a phone number, if it could be extracted; the empty string otherwise.

  • http://buzzword.org.uk/2011/functions/gb#telephone_local

    Returns the local part of a phone number, if it could be extracted; the empty string otherwise.

  • http://buzzword.org.uk/2011/functions/gb#telephone_extension

    Returns the extension from a phone number, if it could be extracted; the empty string otherwise.

  • http://buzzword.org.uk/2011/functions/gb#telephone_uri

    Returns a phone number as a <tel:> URI.

    An existing <tel:> URI should pass through unscathed.

SEE ALSO

RDF::Query.

http://www.perlrdf.org/.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT

Copyright 2004-2012 Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.