NAME
RDF::aREF::Query - aREF query expression
SYNOPSIS
my $rdf = {
'http://example.org/book' => {
dct_creator => [
'http://example.org/alice',
'http://example.org/bob'
]
},
'http://example.org/alice' => {
foaf_name => "Alice"
},
'http://example.org/bob' => {
foaf_name => "Bob"
}
};
my $getnames = RDF::aREF::Query->new(
query => 'dct_creator.foaf_name'
);
my @names = $getnames->apply( $rdf, 'http://example.org/boo' );
$getnames->query; # 'dct_creator.foaf_name'
use RDF::aREF qw(aref_query_map);
my $record = aref_query_map( $rdf, $publication, {
'dct_creator@' => 'creator',
'dct_creator.foaf_name' => 'creator',
});
DESCRIPTION
Implements aREF query, a query language to access strings and nodes from agiven RDF graph.
See also functions aref_query
and aref_query_map
in RDF::aREF for convenient application.
CONFIGURATION
The constructor expects the following options:
- query
-
aREF query expression
- decoder
-
Instance of RDF::aREF::Decoder to map qNames to URIs. A new instance is created unless given.
- ns
-
Optional namespace map (RDF::NS), passed to the constructor of RDF::aREF::Decoder if no decoder is given.
METHODS
apply( $graph [, $origin ] )
Perform the query on a given RDF graph. The graph can be given as aREF structure (subject map or predicate map) or as instance of RDF::Trine::Model. An origin subject node must be provided unless the RDF graph is provided as predicate map.
query
Returns the aREF query expression
SEE ALSO
Use SPARQL for more complex queries, e.g. with RDF::Trine::Store::SPARQL.