---
name: "RDF::LDF"
section: "3pm"
platform: "linux"
package: "librdf-ldf-perl"
version: "0.25.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::LDF"
---

# RDF::LDF(3pm)

Linked Data Fragments client

## NAME

RDF::LDF - Linked Data Fragments client

## SYNOPSIS

```
    use RDF::Trine::Store::LDF;
    use RDF::Trine::Store;
    # To use a HTTP cache:
    use LWP::UserAgent::CHICaching;
    my $cache = CHI->new( driver => 'Memory', global => 1 );
    my $ua = LWP::UserAgent::CHICaching->new(cache => $cache);
    RDF::Trine->default_useragent($ua);
    my $store = RDF::Trine::Store->new_with_config({
            storetype => 'LDF',
            url => $url
    });
    my $it = $store->get_statements();
    while (my $st = $it->next) {
        # $st is a RDF::Trine::Statement
        print "$st\n";
    }
    # Or the low level modules themselves
    use RDF::LDF;
    my $client = RDF::LDF->new(url => 'http://fragments.dbpedia.org/2014/en');
    my $iterator = $client->get_statements($subject, $predicate, $object);
    while (my $statement = $iterator->()) {
        # $model is a RDF::Trine::Statement
    }
```

## DESCRIPTION

RDF::LDF implements a basic Linked Data Fragment \<http://linkeddatafragments.org/\> client.

This a low level module to implement the Linked Data Fragment protocol. You probably want to use RDF::Trine::Store::LDF.

## CONFIGURATION

- url

  URL to retrieve RDF from.

  Experimental: more than one URL can be provided for federated search over many LDF endpoints.

  ```
      my $store = RDF::Trine::Store->new_with_config({
              storetype => 'LDF',
              url => [ $url1, $url2, $url3 ]
      });
      # or
      my $client = RDF::LDF->new(url => [ $url1, $url2, $url3 ]);
  ```

## METHODS

- get\_statements( $subject, $predicate, $object )

  Return an iterator for every RDF::Trine::Statement served by the LDF server.

- get\_pattern( $bgp );

  Returns a stream object of all bindings matching the specified graph pattern.

## CONTRIBUTORS

Patrick Hochstenbach, `"patrick.hochstenbach at ugent.be"`

Gregory Todd Williams, `"greg@evilfunhouse.com"`

Jacob Voss, `"voss@gbv.de"`

## COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Patrick Hochstenbach.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
