Relations
From UNL Wiki
(Difference between revisions)
(→Notation) |
(→Notation) |
||
Line 9: | Line 9: | ||
Where | Where | ||
*''rel'' is the name of the relation; and | *''rel'' is the name of the relation; and | ||
− | *''arg1'', ''arg2'', ..., are the arguments of the relation, i.e., [[node]]s | + | *''arg1'', ''arg2'', ..., are the arguments of the relation, i.e., [[node]]s. |
== Types == | == Types == |
Revision as of 18:19, 19 August 2013
In order to form a natural language sentence or a UNL graph, nodes are inter-related by relations.
Contents |
Basic Symbols
Symbol | Definition | Example |
---|---|---|
( ) | node | (%a) |
" " | string | "went" |
[ ] | natural language entry (headword) | [go] |
[[ ]] | UW | [[to go(icl>to move)]] |
// | regular expression | /a{2,3}/ = aa,aaa |
rel(x;y) | relation | agt(kill;Peter) |
^ | not | ^a = not a |
{ | } | or | {a|b} = a or b |
% | index for nodes, attributes and values | %x |
: | scope ID | :01 |
# | index for sub-NLWs | #01 |
= | attribute-value assignment | POS=NOU |
! | rule trigger | !PLR |
& | merge operator | %x&%y |
? | dictionary lookup operator | ?[a] |
Notation
Relations are represented by the general syntax
rel(arg1;arg2;...;arg2)
Where
- rel is the name of the relation; and
- arg1, arg2, ..., are the arguments of the relation, i.e., nodes.
Types
In the UNL framework, there can be three different types of relations:
- the linear relation L expresses the surface (list) structure of natural language sentences
- syntactic relations express the syntactic (tree) structure of natural language sentences
- semantic relations express the semantic (graph) structure of UNL graphs
Properties
- The linear relation is always binary and is represented in two possible formats
- L(%x;%y) or
- (%x)(%y)
where L is the invariant name of the linear relation, and %x and %y are nodes.
- Syntactic relations are not predefined, although we have been using a set of binary relations based on the X-bar theory.
- Semantic relations constitute a predefined and closed set that can be found here.
- Arguments of relations are not commutative.
- The order of the elements in a relation affects the result:
- (%x)(%y) is different from (%y)(%x)
- relation(%x;%y) is different from relation(%y;%x)
- Linear and semantic relations are always binary; syntactic relations may be n-ary
- L(%x;%y) - linear relation
- agt(%x;%y) - semantic relation
- VH(%x) - unary syntactic relation
- VC(%x;%y) - binary syntactic relation
- XX(%x;%y;%z) - possible ternary syntactic relation
- Inside each relation, nodes are isolated by semicolon (;).
- VC(%x;%y)
VC(%x,%y)- Inside each relation, nodes may be referenced by any of its elements, isolated by comma (,)
- ("a")([b]) - linear relation between a node where string = "a" and another node where headword = [b]
- L([[c]];D) - linear relation between a node where UW = [[c]] and another node having the feature D
- VC(%a;%b) - syntactic relation between a node where index = %a and another node where index = %b
- agt("a",[a],[[a]],A;"b",[b],[[b]],B) - semantic relation between a node having the feature A where string = "a" AND headword "a" AND UW = [[a]] AND another node having the feature B where string = "b" AND headword = [b] AND UW = [[b]]
- Relations may be conjoined through juxtaposition
- ("a")("b")("c") - two linear relations: one between ("a") and ("b") AND other between ("b") and ("c")
- agt(%x;%y)obj(%x;%z) - two semantic relations: one between (%x) and (%y) AND other between (%x) and (%z)
VC([a];[b]),VC([a];[c])- conjoined relations must not be isolated by comma- Relations may be disjoined through {braces}
- {("a")|("b")}("c") - either ("a")("c") or ("b")("c")
- {agt(%x;%y)|exp(%x;%y)}obj(%x;%z) - either agt(%x;%y)obj(%x;%z) or exp(%x;%y)obj(%x;%z)
- Syntactic and semantic relations may be replaced by regular expressions
- /.{2,3}/(%x;%y) - any relation made of two or three characters between %x and %y