Provided by: librdf-perl_1.0.17.1+dfsg-6build4_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/

perl v5.38.2                                       2024-04-01                            RDF::Redland::Node(3pm)