Provided by: librdf-perl_1.0.17.1+dfsg-1.2ubuntu1_amd64 bug

NAME

       RDF::Redland::Node - Redland RDF Node (RDF Resource, Property, Literal) Class

SYNOPSIS

         use RDF::Redland;
         my $node1=new RDF::Redland::Node("Hello, World!");
         my $node2=new RDF::Redland::Node($uri); # $uri is an RDF::Redland::URI
         my $node3=$node2->clone;

         my $node4=new RDF::Redland::URINode("http://example.com/");
         my $node5=new RDF::Redland::LiteralNode("Hello, World!");
         my $node6=new RDF::Redland::XMLLiteral("<tag>content</tag>");
         my $node7=new RDF::Redland::BlankNode("genid1");

         # alternate more verbose ways:
         my $node4=RDF::Redland::Node->new_from_uri("http://example.com/");
         my $node5=RDF::Redland::Node->new_literal("Hello, World!");
         my $node6=RDF::Redland::Node->new_xml_literal("<tag>content</tag>");
         my $node7=RDF::Redland::Node->new_from_blank_identifier("genid1");
         ...

         print $node4->uri->as_string,"\n";  # Using RDF::Redland::URI::as_string
         print $node5->literal_value_as_latin1,"\n";

DESCRIPTION

       This class represents RDF URIs, literals and blank nodes in the RDF graph.

CONSTRUCTORS

       new [STRING | URI | NODE]
           Create a new URI node, literal node or copy an existing node.

           If a literal STRING is given, make a plain literal node.  If a the argument is of type
           URI (perl URI or RDF::Redland::URI), make a resource node.

           Otherwise if the argument is an RDF::Redland::Node NODE, copy it.

       new_from_uri URI
           Create a new URI node.  URI can be either a RDF::Redland::URI object, a perl URI class
           or a literal string.

           An alternative is:

             new RDF::Redland::URINode("http://example.org/");

       new_literal STRING [DATATYPE [XML_LANGUAGE]]
           Create a new literal node for a literal value STRING.  Optional datatype URI DATATYPE
           (RDF::Redland::URI, perl URI or string) and language (xml:lang attribute) XML_LANGUAGE
           may also be given.

           An alternative is:

              new RDF::Redland::LiteralNode("Hello, World!");
              new RDF::Redland::LiteralNode("Bonjour monde!", undef, "fr");

       new_xml_literal STRING
           Create a new XML datatyped literal node for the XML in STRING.

           An alternative is:

             new RDF::Redland::XMLLiteral("<tag>content</tag>");

       new_from_blank_identifier IDENTIFIER
           Create a new blank node with blank node identifier IDENTIFIER.

           An alternative is:

             new RDF::Redland::BlankNode("id");

       clone
           Copy a RDF::Redland::Node.

METHODS

       uri Get the current URI of the node as an RDF::Redland::URI object.

       blank_identifier
           Get the current blank identifier of the node

       type
           Get the node type.  It is recommended to use the is_resource, is_literal or is_blank
           methods in preference to this (both simpler and quicker).

           The current list of types that are supported are:

             $RDF::Redland::Node::Type_Resource
             $RDF::Redland::Node::Type_Literal
             $RDF::Redland::Node::Type_Blank

           Example:

             if ($node->type == $RDF::Redland::Node::Type_Resource) {
               print "Node is a resource with URI ", $node->uri->as_string, "\n";
             } else {
               ...
             }

       is_resource
           Return true if node is a resource (with a URI)

       is_literal
           Return true if node is a literal

       is_blank
           Return true if node is a blank nodeID

       literal_value
           Get the node literal value string as UTF-8 (when the node is of type
           $RDF::Redland::Node::Type_Literal)

       literal_value_as_latin1
           Get the node literal value string converted from UTF-8 to ISO Latin-1 (when the node
           is of type $RDF::Redland::Node::Type_Literal)

       literal_value_language
           Get the node literal XML language (when the node is of type
           $RDF::Redland::Node::Type_Literal) or undef if not present.

       literal_value_is_wf_xml
           Return non 0 if the literal string is well formed XML (when the node is of type
           $RDF::Redland::Node::Type_Literal).

       literal_datatype
           Return the RDF::Redland::URI of the literal datatype or undef if it is not a datatype.

       as_string
           Return the RDF::Redland::Node formatted as a string (UTF-8 encoded).

       equals NODE
           Return non zero if this node is equal to NODE

OLDER METHODS

       new_from_literal STRING XML_LANGUAGE IS_WF
           Create a new RDF::Redland::Node object for a literal value STRING with XML language
           (xml:lang attribute) XML_LANGUAGE and if content is well formed XML, when IS_WF is non
           0.  XML_LANGUAGE is optional can can be set to undef.

           This method remains but using new_literal is preferred.  Instead, for plain literals
           use:

             $node=new RDF::Redland::Node("blah")

       new_from_typed_literal STRING [DATATYPE [XML_LANGUAGE]]
           Renamed to new_literal with same arguments.

       new_from_uri_string URI_STRING
           Create a new RDF::Redland::Node object for a resource with URI URI_STRING.  It is
           equivalent to use the shorter:

             $a=new RDF::Redland::Node->new_from_uri($uri_string)

       new_from_node NODE
           Create a new RDF::Redland::Node object from existing RDF::Redland::Node NODE (copy
           constructor).  It is equivalent to use:

             $new_node=$old_node->clone

SEE ALSO

       RDF::Redland::Statement

AUTHOR

       Dave Beckett - http://www.dajobe.org/