Hyper-relation
From UNL Wiki
(Difference between revisions)
(→Notation) |
|||
Line 19: | Line 19: | ||
*''rel(rel1:01(arg1;arg2);arg3;...;argn) '' is the same as ''rel:00(rel1:01(arg1;arg2);arg3;...;argn)'' (i.e., the relation ''rel'' belongs to the main scope, i.e., the main graph) | *''rel(rel1:01(arg1;arg2);arg3;...;argn) '' is the same as ''rel:00(rel1:01(arg1;arg2);arg3;...;argn)'' (i.e., the relation ''rel'' belongs to the main scope, i.e., the main graph) | ||
− | + | == Properties == | |
− | + | ||
− | + | ||
− | + | ||
− | == Properties | + | |
;A hyper-relation may have one single relation as each argument | ;A hyper-relation may have one single relation as each argument | ||
*XP(XB(%a;%b);%c) - the source argument of the hyper-relation XP is a relation | *XP(XB(%a;%b);%c) - the source argument of the hyper-relation XP is a relation | ||
Line 31: | Line 27: | ||
;Differently from [[nodes]], relations do not have elements (strings, headwords, features and indexes) | ;Differently from [[nodes]], relations do not have elements (strings, headwords, features and indexes) | ||
*<strike>XP(XB(%a;%b),"ab",[ab],<nowiki>[[ab]]</nowiki>,A,B;%c)</strike> (the relation XB(%a;%b) may not have strings, UWs, headwords or any features) | *<strike>XP(XB(%a;%b),"ab",[ab],<nowiki>[[ab]]</nowiki>,A,B;%c)</strike> (the relation XB(%a;%b) may not have strings, UWs, headwords or any features) | ||
+ | |||
+ | == Examples == | ||
+ | Examples of hyper-relations | ||
+ | *XP(XB(%a;%b);%c) - a syntactic relation XP between the syntactic relation XB(%a;%b) and the node %c | ||
+ | *and(agt([a];[b]);agt([a];[c])) - a semantic relation "and" between the semantic relations agt([a];[b]) AND agt([a];[c]) | ||
+ | |||
+ | == Transformations == | ||
+ | {{:Transformation over hyper-relations}} |
Revision as of 20:22, 26 August 2013
Hyper-relation is a relation between relations, or between relations and nodes.
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] |
Basic Concepts
- Node
- A node is the most elementary unit in the graph. It is the result of the tokenization process, and corresponds to the notion of "lexical item". At the surface level, a natural language sentence is considered a list of nodes, and a UNL graph a set of relations between nodes.
- Relation
- In order to form a natural language sentence or a UNL graph, nodes are inter-related by relations. In the UNL framework, there are three different types of relations: the linear (list) relation, syntactic relations and semantic relations.
- Hyper-Node
- A hyper-node is a sub-graph, i.e., a scope: a node containing relations between nodes.
- Hyper-Relation
- A hyper-relation is a relation between relations.
Notation
Hyper-relations and relations are represented in the same way, i.e.,
rel:scope(arg1;arg2;...;argn)
where:
- rel is the name of the hyper-relation
- scope is the scope of the hyper-relation
- arg1, arg2, ... are the arguments of the hyper-relation
The only difference between relations and hyper-relations is that the latter has at least one relation as one of its arguments, e.g.:
- rel(rel1(arg1;arg2);arg3;...;argn)
As in case of relations, the main scope is 00 and it is not shown, by default:
- rel(rel1:01(arg1;arg2);arg3;...;argn) is the same as rel:00(rel1:01(arg1;arg2);arg3;...;argn) (i.e., the relation rel belongs to the main scope, i.e., the main graph)
Properties
- A hyper-relation may have one single relation as each argument
- XP(XB(%a;%b);%c) - the source argument of the hyper-relation XP is a relation
- XP(%a;XB(%b;%c)) - the target argument of the hyper-relation XP is a relation
- XP(VC(%a;%b);VA(%a;%c)) - the source and the target argument of the hyper-relation XP are relations
XP(VC(%a;%b)VA(%a;%c);VS(%a;%d))- a hyper-relation may not have more than one relation as one single argument (in this case, the hyper-relation XP contained two relations as the source argument)
- Differently from nodes, relations do not have elements (strings, headwords, features and indexes)
XP(XB(%a;%b),"ab",[ab],[[ab]],A,B;%c)(the relation XB(%a;%b) may not have strings, UWs, headwords or any features)
Examples
Examples of hyper-relations
- XP(XB(%a;%b);%c) - a syntactic relation XP between the syntactic relation XB(%a;%b) and the node %c
- and(agt([a];[b]);agt([a];[c])) - a semantic relation "and" between the semantic relations agt([a];[b]) AND agt([a];[c])
Transformations
Hyper-relations are altered, replaced, created and deleted by T-rules:
Creating hyper-relations
Hyper-relations are created through encapsulating relations:
- rel1(%x;%y)rel2(%x;%z):=rel1(rel2(%x;%z);%y); (the relation rel1 between %x and %y becomes a hyper-relation between the relation rel2(%x;%z) and the node %y.)
Transforming hyper-relations into simple relations
Hyper-relations are transformed into simple relations by removing their internal relations:
- rel1(rel2(%x;%z);%y):=rel1(%x;%y)rel2(%x;%z); (the hyper-relation rel1 between the relation rel2(%x;%z) and the node %y is transformed into a simple relation between the nodes %x and %y; the relatin rel2(%x;%z) is not affected.)