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 <http://gbv.github.io/aREF/aREF.html#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 <http://gbv.github.io/aREF/aREF.html#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 <http://gbv.github.io/aREF/aREF.html#predicate-maps>.
query
Returns the aREF query expression
SEE ALSO
Use SPARQL for more complex queries, e.g. with RDF::Trine::Store::SPARQL.