Hyper-relation

From UNL Wiki
(Difference between revisions)
Jump to: navigation, search
(Notation)
(Notation)
 
(5 intermediate revisions by one user not shown)
Line 8: Line 8:
  
 
== Notation ==
 
== Notation ==
Hyper-relations and relations are represented in the same way, i.e.,
+
Hyper-relations and [[relation]]s are represented in the same way, i.e.,
 
  rel:scope(arg1;arg2;...;argn)
 
  rel:scope(arg1;arg2;...;argn)
 
where:
 
where:
Line 16: Line 16:
 
The only difference between relations and hyper-relations is that the latter has at least one relation as one of its arguments, e.g.:
 
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)
 
*rel(rel1(arg1;arg2);arg3;...;argn)
As in case of [[relation]]s, the main scope is 00 and it is not shown, by default:
+
For better readability, inner relations are normally replaced by relation ID's, to be represented by :XX, where XX is a two-digit string
*''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(arg1;arg2);arg3;...;argn) is the same as rel(:01;arg3;...;argn)rel1:01(arg1;arg2)
  
== Examples ==
+
== Properties ==
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])
+
== Properties of hyper-relations ==
+
 
;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 29: Line 25:
 
*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)) - the source and the target argument of the hyper-relation XP are relations
 
*<strike>XP(VC(%a;%b)VA(%a;%c);VS(%a;%d))</strike> - 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)
 
*<strike>XP(VC(%a;%b)VA(%a;%c);VS(%a;%d))</strike> - 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 elements)
+
;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}}

Latest revision as of 21:05, 26 August 2013

Hyper-relation is a relation between relations, or between relations and nodes.

Contents

Basic Symbols

Basic symbols used in the UNL framework
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

Grammar.png
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)

For better readability, inner relations are normally replaced by relation ID's, to be represented by :XX, where XX is a two-digit string

  • rel(rel1(arg1;arg2);arg3;...;argn) is the same as rel(:01;arg3;...;argn)rel1:01(arg1;arg2)

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.)
Software