RDF::aREF::Query(3pm)

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.