RDF::Trine::Store::LanguagePreference(3pm)

RDF::Trine::Store::LanguagePreference3pm

Rdf store proxy for filtering language tagged literals

Usage

 use RDF::Trine::Store::LanguagePreference;

Version

This document describes RDF::Trine::Store::LanguagePreference version 1.019

Overview

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).

Methods

Beyond the methods documented below, this class inherits methods from the RDF::Trine::Store class.

"new ( $store, { $lang1 => $q1, $lang2 => $q2, ... } )"

Returns a new storage object that will act as a proxy for the $store object, filtering language literals based on the expressed language preferences.

"new_with_config ( $hashref )"

Returns a new storage object configured with a hashref with certain keys as arguments.

The "storetype" key must be "LanguagePreference" for this backend.

The following key must also be used:

"store"

A configuration hash for the underlying store object.

"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.

"new_with_config ( \%config )"

Returns a new RDF::Trine::Store object based on the supplied configuration hashref.

"language_preferences"

Returns a hash of the language preference quality values.

language_preference( $lang )

Return the quality value preference for the given language.

"update_language_preference( $lang => $qvalue )"

Update the quality value preference for the given language.

"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.

"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.

"qvalueForLanguage ( $language, \%cache )"

Returns the q-value for $language based on the current language preference. %cache is used across multiple calls to this method for performance reasons.

"siteQValueForLanguage ( $language )"

Returns an implementation-specific q-value preference for the given $language. This method may be overridden by subclasses to control the default preferred language.

availableLanguagesForStatement( $statement )

Returns a list of language tags that are available in the underlying store for the given statement object. For example, if $statement represented the triple:

 dbpedia:Los_Angeles rdf:label "Los Angeles"@en

and the underlying store contains the triples:

 dbpedia:Los_Angeles rdf:label "Los Angeles"@en
 dbpedia:Los_Angeles rdf:label "ロサンゼルス"@ja
 dbpedia:Los_Angeles rdf:label "Лос-Анджелес"@ru

then the return value would be "('en', 'ja', 'ru')".

"languagePreferenceAllowsStatement ( $statement, \%cache )"

Returns true if the $statement is allowed by the current language preference. %cache is used across multiple calls to this method for performance reasons.

"supports ( [ $feature ] )"

If $feature is specified, returns true if the feature is supported by the store, false otherwise. If $feature is not specified, returns a list of supported features.

Releases

5 releases since Debian 9 (Stretch); the text changed 3 times.

  1. 9
  2. 10–11
  3. 12
  4. 13

Bugs

Please report any bugs or feature requests to through the GitHub web interface at <https://github.com/kasei/perlrdf/issues>.

Author

Gregory Todd Williams "<[email protected]>"

From librdf-trine-perl 1.019-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.