.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "RDF::Trine::Node::Formula 3pm" .TH RDF::Trine::Node::Formula 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME RDF::Trine::Node::Formula \- RDF Node class for formulae / graph literals .SH DESCRIPTION .IX Header "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). .PP If your code needs to detect formulae nodes, try: .PP .Vb 3 \& use Scalar::Util qw[blessed]; \& if (blessed($node) && $node\->isa(\*(AqRDF::Trine::Node::Formula\*(Aq)) \& { ... do stuff to formulae ... } .Ve .PP or perhaps .PP .Vb 3 \& use Scalar::Util qw[blessed]; \& if (blessed($node) && $node\->can(\*(Aqpattern\*(Aq)) \& { ... do stuff to formulae ... } .Ve .SH Constructor .IX Header "Constructor" .ie n .IP """new ( $pattern )""" 4 .el .IP "\f(CWnew ( $pattern )\fR" 4 .IX Item "new ( $pattern )" Returns a new Formula structure. This is a subclass of RDF::Trine::Node::Literal. .Sp \&\f(CW$pattern\fR is an RDF::Trine::Pattern or a string capable of being parsed with RDF::Trine::Parser::Notation3\->parse_formula. .SH Methods .IX Header "Methods" .ie n .IP """pattern ( $node )""" 4 .el .IP "\f(CWpattern ( $node )\fR" 4 .IX Item "pattern ( $node )" Returns the formula as an RDF::Trine::Pattern. .ie n .IP """forAll""" 4 .el .IP \f(CWforAll\fR 4 .IX Item "forAll" Returns the a list of nodes with the \f(CW@forAll\fR quantifier. .Sp This is a fairly obscure bit of N3 semantics. .ie n .IP """forSome""" 4 .el .IP \f(CWforSome\fR 4 .IX Item "forSome" Returns the a list of nodes with the \f(CW@forSome\fR quantifier. .Sp This is a fairly obscure bit of N3 semantics. .ie n .IP """as_literal_notation""" 4 .el .IP \f(CWas_literal_notation\fR 4 .IX Item "as_literal_notation" Returns the formula in Notation\-3\-like syntax, excluding the wrapping "{"..."}". .Sp Uses absolute URIs whenever possible, avoiding relative URI references, QNames and keywords. .ie n .IP """from_literal_notation ( $string, $base )""" 4 .el .IP "\f(CWfrom_literal_notation ( $string, $base )\fR" 4 .IX Item "from_literal_notation ( $string, $base )" Modifies the formula's value using Notation 3 syntax, excluding the wrapping "{"..."}". .ie n .IP """equal ( $node )""" 4 .el .IP "\f(CWequal ( $node )\fR" 4 .IX Item "equal ( $node )" Returns true if the two nodes are equal, false otherwise. .Sp TODO \- really need a "not equal, but equivalent" method. .SH BUGS .IX Header "BUGS" Please report any bugs to . .SH "SEE ALSO" .IX Header "SEE ALSO" RDF::Trine::Node, RDF::Trine::Pattern. .SH AUTHOR .IX Header "AUTHOR" Toby Inkster \f(CW\*(C`\*(C'\fR .PP Based on RDF::Trine::Node::Literal by Gregory Todd Williams. .SH "COPYRIGHT AND LICENCE" .IX Header "COPYRIGHT AND LICENCE" Copyright (c) 2006\-2010 Gregory Todd Williams. .PP Copyright (c) 2010\-2012 Toby Inkster. .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "DISCLAIMER OF WARRANTIES" .IX Header "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.