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