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.