RDF::Trine::Node::Formula(3) RDF Node class for formulae / graph literals

DESCRIPTION

Formulae are implemented as a subclass of literals. Parts of Trine that have no special knowledge about formulae (e.g. the Turtle serialiser) will just see them as literals with a particular datatype URI (http://open.vocab.org/terms/Formula).

If your code needs to detect formulae nodes, try:

  use Scalar::Util qw[blessed];
  if (blessed($node) && $node->isa('RDF::Trine::Node::Formula'))
    { ... do stuff to formulae ... }

or perhaps

  use Scalar::Util qw[blessed];
  if (blessed($node) && $node->can('pattern'))
    { ... do stuff to formulae ... }

Constructor

"new ( $pattern )"
Returns a new Formula structure. This is a subclass of RDF::Trine::Node::Literal.

$pattern is an RDF::Trine::Pattern or a string capable of being parsed with RDF::Trine::Parser::Notation3->parse_formula.

Methods

"pattern ( $node )"
Returns the formula as an RDF::Trine::Pattern.
"forAll"
Returns the a list of nodes with the @forAll quantifier.

This is a fairly obscure bit of N3 semantics.

"forSome"
Returns the a list of nodes with the @forSome quantifier.

This is a fairly obscure bit of N3 semantics.

"as_literal_notation"
Returns the formula in Notation-3-like syntax, excluding the wrapping ``{''...``}''.

Uses absolute URIs whenever possible, avoiding relative URI references, QNames and keywords.

"from_literal_notation ( $string, $base )"
Modifies the formula's value using Notation 3 syntax, excluding the wrapping ``{''...``}''.
"equal ( $node )"
Returns true if the two nodes are equal, false otherwise.

TODO - really need a ``not equal, but equivalent'' method.

BUGS

Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=RDF-TriN3>.

AUTHOR

Toby Inkster "<[email protected]>"

Based on RDF::Trine::Node::Literal by Gregory Todd Williams.

COPYRIGHT AND LICENCE

Copyright (c) 2006-2010 Gregory Todd Williams.

Copyright (c) 2010-2012 Toby Inkster.

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

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.