Search by Syntactic Relations

In order to find arguments connected by specific syntactic relations use the function dependency().

Syntax

dependency([deptype], [syntrel1], … [syntreln-1], term1 … termn)

The first optional argument deptype describes the structure of syntactic dependencies.

deptype parameter value

Description

Relations structure

forward

Only forward relations allowed: from the first term to the last

term1 → term2 → term3

tree

There are at least two forward relations from the single term and there is no relation between the second and the third ones

term1 → term2
↓ term3

If deptype is not specified, the relation may be oriented both from the first term to the last and vice versa:

  • term1 → term2

  • term2 → term1

The second optional syntrel parameter indicates the type of syntactic relation between arguments.

Types of Syntactic Relations

Syntactic relation

syntrel parameter value

Description

subject

subject, sbj

Relation predicate→subject:

  • She will leave tomorrow.

  • Danny speaks Spanish fluently.

adverbial

adverbial, adv

Relation predicate→adverbial:

  • She will leave tomorrow.

  • Danny speaks Spanish fluently.

object

object, obj

Relation predicate→object:

  • I don’t know his phone number.

  • Don’t forget to call me.

modifier

modifier, mod

Relation subject→modifier, object→modifier:

  • Political news influence currency markets.

agent

agent

Relation predicate→agent:

  • The contract is signed by vice-president.

If both optional parameters are omitted, the function will return the arguments connected by any syntactic relation.

Example

Consider three sentences:

pdl dependency 1
  • "The company’s board cancelled the announced agreement."

pdl dependency 2
  • "The company announced the definitive agreement."

pdl dependency 3
  • "The agreement was announced by the company."

Query

Relation Structure

Returned Value

dependency(announce, agreement)

announce → agreement

agreement → announce

"announced agreement"

"announce a definitive agreement"

"agreement was announced"

dependency(forward, announce, agreement)

announce → agreement

"announce a definitive agreement"

"agreement was announced"

dependency(obj, announce, agreement)

announce obj→ agreement

"announce a definitive agreement"

dependency(sbj, announce, agreement)

announce sbj→ agreement

"agreement was announced"

dependency(tree, sbj, obj, announce, company, agreement)

announce sbj→ company

obj

agreement

"The company announced the definitive agreement."