# RDF::Redland::Statement - phpMan

## NAME
    [RDF::Redland::Statement] - Redland RDF Statement Class

## SYNOPSIS
      use [RDF::Redland];
      my $statement1=new [RDF::Redland::Statement]($statement);
      my $statement2=new [RDF::Redland::Statement]($subject,$predicate,$object);
      ...

      if($statement->subject->equals($node)) {
        ...
      }

## DESCRIPTION
    Manipulate RDF statements which comprise three [RDF::Redland::Node]
    objects. Also used for *partial* statements which can have empty parts
    and are used for matching statements in statement queries of the model -
    see the [RDF::Redland::Model].

## CONSTRUCTORS
    new NODE NODE NODE|STATEMENT
        Create a new statement from nodes or copy an existing statement.

        If three *NODE*s are given, make a new statement from them. Each
        Node can be a [Redland::RDF]:Node, a [Redland::RDF::URI], a perl URI or
        a string literal. Otherwise *STATEMENT* must be an existing
        statement to copy.

    clone
        Copy a [RDF::Redland::Statement].

## METHODS
    subject [SUBJECT]
        Get/set the statement subject. When a [RDF::Redland::Node] *SUBJECT*
        is given, sets the subject of the statement, otherwise returns a
        reference to the statement [RDF::Redland::Node] subject.

    predicate [PREDICATE]
        Get/set the statement predicate. When [RDF::Redland::Node] *PREDICATE*
        is given, sets the predicate of the statement, otherwise returns a
        reference to the statement [RDF::Redland::Node] predicate.

    object [OBJECT]
        Get/set the statement object. When [RDF::Redland::Node] *OBJECT* is
        given, sets the object of the statement, otherwise returns a
        reference to the statement [RDF::Redland::Node] object.

    as_string
        Return the statement formatted as a string (UTF-8 encoded).

    equals STATEMENT
        Return non zero if this statement is equal to STATEMENT

## OLD METHODS
    new_from_nodes SUBJECT PREDICATE OBJECT
        Create a new [RDF::Redland::Statement] with the given
        [RDF::Redland::Node] objects as parts (or undef when empty for a
        *partial* statement). Use instead:

          $a=new [RDF::Redland::Statement]($subject, $predicate, $object);

    new_from_statement STATEMENT
        Create a new [RDF::Redland::Statement] object from
        [RDF::Redland::Statement] *STATEMENT* (copy constructor). Use instead:

          $s=$old_statement->clone;

## SEE ALSO
    [RDF::Redland::Node]

## AUTHOR
    Dave Beckett - <http://www.dajobe.org/>

