NAME
RDF::Lazy::Node - A node in a lazy RDF graph
DESCRIPTION
You should not directly create instances of this class, but use RDF::Lazy as node factory to create instances of RDF::Lazy::Resource, RDF::Lazy::Literal, and RDF::Lazy::Blank.
$graph->resource( $uri ); # returns a RDF::Lazy::Resource
$graph->literal( $string ); # returns a RDF::Lazy::Literal
$graph->blank( $id ); # returns a RDF::Lazy::Blank
A lazy node contains a RDF::Trine::Node and a pointer to the RDF::Lazy graph where the node is located in. You can create a RDF::Lazy::Node from a RDF::Trine::Node just like this:
$graph->uri( $trine_node )
DESCRIPTION
This class wraps RDF::Trine::Node and holds a pointer to the graph (RDF::Lazy) which a node belongs to. In detail there are node types RDF::Lazy::Literal, RDF::Lazy::Resource, and RDF::Lazy::Blank.
METHODS
str
Returns a string representation of the node's value. Is automatically called on string conversion ("$x"
equals $x->str
).
esc
Returns a HTML-escaped string representation. This can safely be used in HTML and XML.
is_literal / is_resource / is_blank
Returns true if the node is a literal, resource, or blank node.
graph
Returns the underlying graph RDF::Lazy that the node belongs to.
type ( [ @types ] )
Returns some rdf:type of the node (if no types are provided) or checks whether this node is of any of the provided types.
a ( [ @types ] )
Shortcut for type
.
is ( $check1 [, $check2 ... ] )
Checks whether the node fullfills some matching criteria, for instance
$x->is('') # is_literal
$x->is(':') # is_resource
$x->is('-') # is_blank
$x->is('@') # is_literal and has language tag
$x->is('@en') # is_literal and has language tag 'en' (is_en)
$x->is('@en-') # is_literal and is_en_
$x->is('^') # is_literal and has datatype
$x->is('^^') # is_literal and has datatype
ttl
Returns an RDF/Turtle representation of the node's bounded connections.
rel ( $property [, @filters ] )
Traverse the graph and return the first matching object.
rels
Traverse the graph and return all matching objects.
rev ( $property [, @filters ] )
Traverse the graph and return the first matching subject.
revs
Traverse the graph and return all matching subjects.
trine
Returns the underlying RDF::Trine::Node. DO NOT USE THIS METHOD!
qname
Returns a qualified string, if possible, or the empty string.
TRAVERSING THE GRAPH
Any other method name is used to query objects. The following three statements are equivalent:
$x->rel('foaf:name');
$x->graph->rel( $x, 'foaf_name' );
$x->rel('foaf_name');
$x->foaf_name;
You can also add filters in a XPath-like language (the use of RDF::Lazy in a template is an example of a "RDFPath" language):
$x->dc_title('@en') # literal with language tag @en
$x->dc_title('@en-') # literal with language tag @en or @en-...
$x->dc_title('') # any literal
$x->dc_title('@') # literal with any language tag
$x->dc_title('^') # literal with any datatype
$x->foaf_knows(':') # any resource
...