Scroll to navigation

RDF::Trine::Node::Formula(3pm) User Contributed Perl Documentation RDF::Trine::Node::Formula(3pm)

NAME

RDF::Trine::Node::Formula - 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>.

SEE ALSO

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

AUTHOR

Toby Inkster "<tobyink@cpan.org>"

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.

2022-06-17 perl v5.34.0