DOKK / manpages / debian 10 / librdf-trin3-perl / RDF::Trine::Node::Formula.3pm.en
RDF::Trine::Node::Formula(3pm) User Contributed Perl Documentation RDF::Trine::Node::Formula(3pm)

RDF::Trine::Node::Formula - RDF Node class for formulae / graph literals

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 ... }

"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.

"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.

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

RDF::Trine::Node, RDF::Trine::Pattern.

Toby Inkster "<tobyink@cpan.org>"

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

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.

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.

2013-09-18 perl v5.18.2