.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "RDF::Trine::Store::LanguagePreference 3pm" .TH RDF::Trine::Store::LanguagePreference 3pm 2024-01-13 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME RDF::Trine::Store::LanguagePreference \- RDF Store proxy for filtering language tagged literals .SH VERSION .IX Header "VERSION" This document describes RDF::Trine::Store::LanguagePreference version 1.019 .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use RDF::Trine::Store::LanguagePreference; .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" RDF::Trine::Store::LanguagePreference provides a RDF::Trine::Store API to filter the statements made available from some underlying store object based on a users' language preferences (e.g. coming from an Accept-Language HTTP header value). .SH METHODS .IX Header "METHODS" Beyond the methods documented below, this class inherits methods from the RDF::Trine::Store class. .ie n .IP """new ( $store, { $lang1 => $q1, $lang2 => $q2, ... } )""" 4 .el .IP "\f(CWnew ( $store, { $lang1 => $q1, $lang2 => $q2, ... } )\fR" 4 .IX Item "new ( $store, { $lang1 => $q1, $lang2 => $q2, ... } )" Returns a new storage object that will act as a proxy for the \f(CW$store\fR object, filtering language literals based on the expressed language preferences. .ie n .IP """new_with_config ( $hashref )""" 4 .el .IP "\f(CWnew_with_config ( $hashref )\fR" 4 .IX Item "new_with_config ( $hashref )" Returns a new storage object configured with a hashref with certain keys as arguments. .Sp The \f(CW\*(C`storetype\*(C'\fR key must be \f(CW\*(C`LanguagePreference\*(C'\fR for this backend. .Sp The following key must also be used: .RS 4 .ie n .IP """store""" 4 .el .IP \f(CWstore\fR 4 .IX Item "store" A configuration hash for the underlying store object. .ie n .IP """preferred_languages""" 4 .el .IP \f(CWpreferred_languages\fR 4 .IX Item "preferred_languages" A hash reference mapping language tags to quality values in the range [0, 1]. The referent may be changed between operations to change the set of preferred languages used in statement matching. .RE .RS 4 .RE .ie n .IP """new_with_config ( \e%config )""" 4 .el .IP "\f(CWnew_with_config ( \e%config )\fR" 4 .IX Item "new_with_config ( %config )" Returns a new RDF::Trine::Store object based on the supplied configuration hashref. .ie n .IP """language_preferences""" 4 .el .IP \f(CWlanguage_preferences\fR 4 .IX Item "language_preferences" Returns a hash of the language preference quality values. .ie n .IP "language_preference( $lang )" 4 .el .IP "\f(CWlanguage_preference( $lang )\fR" 4 .IX Item "language_preference( $lang )" Return the quality value preference for the given language. .ie n .IP """update_language_preference( $lang => $qvalue )""" 4 .el .IP "\f(CWupdate_language_preference( $lang => $qvalue )\fR" 4 .IX Item "update_language_preference( $lang => $qvalue )" Update the quality value preference for the given language. .ie n .IP """get_statements ( $subject, $predicate, $object [, $context] )""" 4 .el .IP "\f(CWget_statements ( $subject, $predicate, $object [, $context] )\fR" 4 .IX Item "get_statements ( $subject, $predicate, $object [, $context] )" Returns a stream object of all statements matching the specified subject, predicate and objects. Any of the arguments may be undef to match any value. .ie n .IP """count_statements ( $subject, $predicate, $object, $context )""" 4 .el .IP "\f(CWcount_statements ( $subject, $predicate, $object, $context )\fR" 4 .IX Item "count_statements ( $subject, $predicate, $object, $context )" Returns a count of all the statements matching the specified subject, predicate, object, and context. Any of the arguments may be undef to match any value. .ie n .IP """qvalueForLanguage ( $language, \e%cache )""" 4 .el .IP "\f(CWqvalueForLanguage ( $language, \e%cache )\fR" 4 .IX Item "qvalueForLanguage ( $language, %cache )" Returns the q\-value for \f(CW$language\fR based on the current language preference. \f(CW%cache\fR is used across multiple calls to this method for performance reasons. .ie n .IP """siteQValueForLanguage ( $language )""" 4 .el .IP "\f(CWsiteQValueForLanguage ( $language )\fR" 4 .IX Item "siteQValueForLanguage ( $language )" Returns an implementation-specific q\-value preference for the given \&\f(CW$language\fR. This method may be overridden by subclasses to control the default preferred language. .ie n .IP "availableLanguagesForStatement( $statement )" 4 .el .IP "\f(CWavailableLanguagesForStatement( $statement )\fR" 4 .IX Item "availableLanguagesForStatement( $statement )" Returns a list of language tags that are available in the underlying store for the given statement object. For example, if \f(CW$statement\fR represented the triple: .Sp .Vb 1 \& dbpedia:Los_Angeles rdf:label "Los Angeles"@en .Ve .Sp and the underlying store contains the triples: .Sp .Vb 3 \& dbpedia:Los_Angeles rdf:label "Los Angeles"@en \& dbpedia:Los_Angeles rdf:label "ロサンゼルス"@ja \& dbpedia:Los_Angeles rdf:label "Лос\-Анджелес"@ru .Ve .Sp then the return value would be \f(CW\*(C`(\*(Aqen\*(Aq, \*(Aqja\*(Aq, \*(Aqru\*(Aq)\*(C'\fR. .ie n .IP """languagePreferenceAllowsStatement ( $statement, \e%cache )""" 4 .el .IP "\f(CWlanguagePreferenceAllowsStatement ( $statement, \e%cache )\fR" 4 .IX Item "languagePreferenceAllowsStatement ( $statement, %cache )" Returns true if the \f(CW$statement\fR is allowed by the current language preference. \f(CW%cache\fR is used across multiple calls to this method for performance reasons. .ie n .IP """supports ( [ $feature ] )""" 4 .el .IP "\f(CWsupports ( [ $feature ] )\fR" 4 .IX Item "supports ( [ $feature ] )" If \f(CW$feature\fR is specified, returns true if the feature is supported by the store, false otherwise. If \f(CW$feature\fR is not specified, returns a list of supported features. .SH BUGS .IX Header "BUGS" Please report any bugs or feature requests to through the GitHub web interface at . .SH AUTHOR .IX Header "AUTHOR" Gregory Todd Williams \f(CW\*(C`\*(C'\fR .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (c) 2006\-2012 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.