1RDF::Redland::Node(3) User Contributed Perl DocumentationRDF::Redland::Node(3)
2
3
4
6 RDF::Redland::Node - Redland RDF Node (RDF Resource, Property, Literal)
7 Class
8
10 use RDF::Redland;
11 my $node1=new RDF::Redland::Node("Hello, World!");
12 my $node2=new RDF::Redland::Node($uri); # $uri is an RDF::Redland::URI
13 my $node3=$node2->clone;
14
15 my $node4=new RDF::Redland::URINode("http://example.com/");
16 my $node5=new RDF::Redland::LiteralNode("Hello, World!");
17 my $node6=new RDF::Redland::XMLLiteral("<tag>content</tag>");
18 my $node7=new RDF::Redland::BlankNode("genid1");
19
20 # alternate more verbose ways:
21 my $node4=RDF::Redland::Node->new_from_uri("http://example.com/");
22 my $node5=RDF::Redland::Node->new_literal("Hello, World!");
23 my $node6=RDF::Redland::Node->new_xml_literal("<tag>content</tag>");
24 my $node7=RDF::Redland::Node->new_from_blank_identifier("genid1");
25 ...
26
27 print $node4->uri->as_string,"\n"; # Using RDF::Redland::URI::as_string
28 print $node5->literal_value_as_latin1,"\n";
29
31 This class represents RDF URIs, literals and blank nodes in the RDF
32 graph.
33
35 new [STRING | URI | NODE]
36 Create a new URI node, literal node or copy an existing node.
37
38 If a literal STRING is given, make a plain literal node. If a the
39 argument is of type URI (perl URI or RDF::Redland::URI), make a
40 resource node.
41
42 Otherwise if the argument is an RDF::Redland::Node NODE, copy it.
43
44 new_from_uri URI
45 Create a new URI node. URI can be either a RDF::Redland::URI
46 object, a perl URI class or a literal string.
47
48 An alternative is:
49
50 new RDF::Redland::URINode("http://example.org/");
51
52 new_literal STRING [DATATYPE [XML_LANGUAGE]]
53 Create a new literal node for a literal value STRING. Optional
54 datatype URI DATATYPE (RDF::Redland::URI, perl URI or string) and
55 language (xml:lang attribute) XML_LANGUAGE may also be given.
56
57 An alternative is:
58
59 new RDF::Redland::LiteralNode("Hello, World!");
60 new RDF::Redland::LiteralNode("Bonjour monde!", undef, "fr");
61
62 new_xml_literal STRING
63 Create a new XML datatyped literal node for the XML in STRING.
64
65 An alternative is:
66
67 new RDF::Redland::XMLLiteral("<tag>content</tag>");
68
69 new_from_blank_identifier IDENTIFIER
70 Create a new blank node with blank node identifier IDENTIFIER.
71
72 An alternative is:
73
74 new RDF::Redland::BlankNode("id");
75
76 clone
77 Copy a RDF::Redland::Node.
78
80 uri Get the current URI of the node as an RDF::Redland::URI object.
81
82 blank_identifier
83 Get the current blank identifier of the node
84
85 type
86 Get the node type. It is recommended to use the is_resource,
87 is_literal or is_blank methods in preference to this (both simpler
88 and quicker).
89
90 The current list of types that are supported are:
91
92 $RDF::Redland::Node::Type_Resource
93 $RDF::Redland::Node::Type_Literal
94 $RDF::Redland::Node::Type_Blank
95
96 Example:
97
98 if ($node->type == $RDF::Redland::Node::Type_Resource) {
99 print "Node is a resource with URI ", $node->uri->as_string, "\n";
100 } else {
101 ...
102 }
103
104 is_resource
105 Return true if node is a resource (with a URI)
106
107 is_literal
108 Return true if node is a literal
109
110 is_blank
111 Return true if node is a blank nodeID
112
113 literal_value
114 Get the node literal value string as UTF-8 (when the node is of
115 type $RDF::Redland::Node::Type_Literal)
116
117 literal_value_as_latin1
118 Get the node literal value string converted from UTF-8 to ISO
119 Latin-1 (when the node is of type
120 $RDF::Redland::Node::Type_Literal)
121
122 literal_value_language
123 Get the node literal XML language (when the node is of type
124 $RDF::Redland::Node::Type_Literal) or undef if not present.
125
126 literal_value_is_wf_xml
127 Return non 0 if the literal string is well formed XML (when the
128 node is of type $RDF::Redland::Node::Type_Literal).
129
130 literal_datatype
131 Return the RDF::Redland::URI of the literal datatype or undef if it
132 is not a datatype.
133
134 as_string
135 Return the RDF::Redland::Node formatted as a string (UTF-8
136 encoded).
137
138 equals NODE
139 Return non zero if this node is equal to NODE
140
142 new_from_literal STRING XML_LANGUAGE IS_WF
143 Create a new RDF::Redland::Node object for a literal value STRING
144 with XML language (xml:lang attribute) XML_LANGUAGE and if content
145 is well formed XML, when IS_WF is non 0. XML_LANGUAGE is optional
146 can can be set to undef.
147
148 This method remains but using new_literal is prefered. Instead,
149 for plain literals use:
150
151 $node=new RDF::Redland::Node("blah")
152
153 new_from_typed_literal STRING [DATATYPE [XML_LANGUAGE]]
154 Renamed to new_literal with same arguments.
155
156 new_from_uri_string URI_STRING
157 Create a new RDF::Redland::Node object for a resource with URI
158 URI_STRING. It is equivalent to use the shorter:
159
160 $a=new RDF::Redland::Node->new_from_uri($uri_string)
161
162 new_from_node NODE
163 Create a new RDF::Redland::Node object from existing
164 RDF::Redland::Node NODE (copy constructor). It is equivalent to
165 use:
166
167 $new_node=$old_node->clone
168
170 RDF::Redland::Statement
171
173 Dave Beckett - http://www.dajobe.org/
174
175
176
177perl v5.32.1 2021-01-27 RDF::Redland::Node(3)