# On Nary Relations

This documnent describes my ideas on the way to represent Nary Realtions in RDF.

## Nary Relations

The basic relationship we can describe with RDF is binary, namely a relathionship between two resources.

However, there are many cases that we want to express the relationship among more than 2 resources. And there have been discussions and proposals for the framework for the description of those Nary relathionships (see NaryRelations page in ESW Wiki for example)

And RDF Best Practice and Deployment WG has published its working draft Defining N-ary Relations on the Semantic Web: Use With Individuals.

This page presents my (ongoing) proposal for a framework for presenting N-ary relationships.

It looks similar to the "Pattern 2" analysis in the working note, but more generalized to include "unary" and "binary" case, and basic vocabulary is proposed here(@@they appear in examples, but yet to be defined formally)

This approach owes its most part to the approaches in linguistics.

## Trinary Cases

### Dative expression

Example:

John teaches math to Mary.

``````
[ a :teach;
role:agent  :John;
role:thme   :Math;
role:goal   :Mary
].
```
```

Actually the analysis is the same as that of "John teaches Mary math."

## Unary Cases

### Agentive subject

``````
[ a :swim;
role:agent John ].
```
```

### Thematic subject

Example:

"Titanic sank."

```      ```
[ a  :sank;
role:theme :Titanic ].
```
```

or

```      ```
[ a  :sink;
role:theme :Titanic;
role:tense role:past
].
```
```

## Binary Cases

By generalizing the "Predicate as the main node" approach above to the trinary and unary cases, we get somewhat new (or unfamiliar) graphs for conventional binary relations.

Namely, even in expressing binary relationship, we make a node representing the (instance of) main predicate, and connect each arguments to that node.

This approach is similar to reification, but different in that the "main" node is not of type `rdf:Statement`, but of the seamantic predicate (so we don't have arcs labeled `rdf:predicate`) . And labels attatched to the arcs are not syntax labels like`rdf:subject` or `rdf:object`, but semantic ones ( thematic roles aka θ roles).

### Agent, Theme

Example:

John teaches math.

``````
[ a :teach;
role:agent :John;
role:theme :Math
].
```
```

### Agent, Location

Example:

``````
[ a :swim;
role:agent :John;
role:location :Pool
].
```
```

Or

``````
[ a :swim;
role:agent :John;
role:location [ a :in;
role:theme]
].
```
```

## Cuasal relationship

### Something causes something

Let's begin with a very simple case.

Example:

Smoking causes lung cancer.

``````
[ a		:cause;
role:source	:smoking;
role:theme	:lung_cancer
].
```
```

### Something cuases someone to do something

Example:

``````
role:agent	:John;
role:theme	[ a		   :meet;
role:experiencer :Mary;
role:theme	   :Sarah
]
].
```
```

### Some event causes someone to do something

Example:

That John died made Mary refrain from smoking.

``````
role:source	[a		:died;
role:theme	:John];
role:theme	[a		:refrain_from;
role:agent	:Mary;
role:source	:smoking]
]
```
```

## Discussion on reification and uncertainty

### What's the problem? an example and an analysis

When adopting analysis above, do we have any problems with reification?

When doing reification as usual, the resultant graph seems a little bit complicated.

For example, consider "John teaches math.", of which our analysis was

``````
[ a :teach;
role:agent :John;
role:theme :Math
].
```
```

When we apply reification to that graph, the result would be

``````
_:b2 	a	rdf:Statement;
rdf:subject	_:b1;
rdf:predicate	role:agent;
rdf:object	:John.

_:b3	a	rdf:Statement;
rdf:subject	_:b1;
rdf:predicate	role:theme;
rdf:object	:Math.

_:b1  	a	:teach.
```
```

Does this seem problematic? → At first glance, yes. It's too much complicated.

However, the sentence above actually (simulutanously) says these two things:

• It is John who teachs math.
• and
• It is math that John teachs.
So, it is natural that we have two reified triples.

And we can attach our belief to either of them. For example, we can say "It is 75% probable that it is John who teaches math." with

``````
_:b4	a	prob:Belief;
prob:proposition _:b2;
prob:has_probability [a prob:probability;
rdf:value "0.75"].
```
```

### Another analysis

Actually, there could be another analysis: a more complicated/sofisticated version. In the analysis above, we didn't reify the statement ":b1 a rdf:type", but we can also reify it.

So, the reified version is:

``````
_:b2 	a	rdf:Statement;
rdf:subject	_:b1;
rdf:predicate	role:agent;
rdf:object	:John.

_:b3	a	rdf:Statement;
rdf:subject	_:b1;
rdf:predicate	role:theme;
rdf:object	:Math.

_:b4	a	rdf:Statement;
rdf:subject	_:b1;
rdf:predicate	rdf:type;
rdf:object	:teach.
```
```

What does this mean? It means "It is to teach (not to study, for example) that John does with math." (I'm not sure if it's correct English senence, though)

## On patterns in the WD from SWBPDWG

### Christine has breast tumor with high probability.

``` [ a prob:Belief; prob:proposition [ a :have; role:location :Christine; role:theme [ a :breast_tumor] ]; prob:has_probability _:b1 ]. _:b1[ a prob:probability]. _:b2[ a :high; role:theme _:b1]. ```

### Steve has temperature, which is high, but falling

``` [ a :have; role:location :Steve; role:theme _:b1 ]. _:b1 a :temparature. [ a :high; role:theme _:b1 ]. [ a :falling; role:theme _:b1 ]. ```

### John buys a "Lenny the Lion" book from book.example.com for \$15 as a birthday gift.

```[ a :buy; role:agent :John; role:theme [ a :Lenny_the_lion_book]; role:source :books_example_com; role:instrument "\$15"; role:purpose :birthday_gift ]. ```
Created by Yoshio Fukushige