getStatementProperty

The model associated with this statement is searched for a statement with
this statement as subject and the specified property as predicate. If
such a statement is found it is return. If more than one exists in the
model, then it is undefined which is returned. If no such statement
exists, an exception is thrown.

getProperty

There is an unfortunate ambiguity here. GetProperty would normally
treat the statement as a resource, and return a property about this
statement. This is not what is wanted in most cases, so getProperty
on a statement is defined to call getProperty on its object. If
a property of the statement itself is required, getStatementProperty
should be used.

If the object of the statement is not a resource, an exception is
thrown.