Scroll to navigation

RDF::aREF::Query(3pm) User Contributed Perl Documentation 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:

aREF query <http://gbv.github.io/aREF/aREF.html#aref-query> expression
Instance of RDF::aREF::Decoder to map qNames to URIs. A new instance is created unless given.
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.

2022-12-07 perl v5.36.0