Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

RDF::Redland::Node

Name RDF::Redland::Node
Version
Located at /usr/share/perl5
File /usr/share/perl5/RDF/Redland/Node.pm
Is Core No
Search CPAN for this module RDF::Redland::Node
Documentation RDF::Redland::Node
Module Details RDF::Redland::Node


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

the RDF::Redland::Statement manpage


AUTHOR

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

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026