W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2010

Re: Higher-arity to RDF binary

From: Atanas Kiryakov <naso@sirma.bg>
Date: Sat, 15 May 2010 17:14:26 +0300
Message-ID: <43A3C616BBC3455FB282C98845E71023@sirma.int>
To: "Jitao Yang" <jitao.yang@gmail.com>, <semantic-web@w3.org>, <www-rdf-interest@w3.org>
Hi Jitao,

Formally and technically RDF supports only binary relationships. This is by design and there are good reasons.

Still, one can easily model N-ary relationships as classes (on schema level) or through auxiliary nodes (at instance level). For instance, JobPosition in non-RDF environments is likely to be modeld as N-ary relationship, e.g. 

JobPosition(holder, withinOrganisation, jobTitle, from, to)

In RDFS it could be modeled as a class plus several properties:

my:JobPosition a rdfs:Class .
my:holder a rdfs:Property ; rdfs:domain my:JobPosition ; rdfs:range my:Agent .
my:withinOrganisation a rdfs:Property ; rdfs:domain my:JobPosition ; rdfs:range my:Organisation  .
.....

At instance level it may look like:

myData:Pos1 a my:JobPosition ; my:holder myData:Ivan; my:organisation myData:W3C

In case you prefer not to generate identifiers for the auxiliary instance, which is only there to help you model n-ary relationship, one can use blank nodes.

After all, similar things happenr in the RDBMS world whenever one needs to model many-to-many relationship - you need an auxiliary table.

Cheers,
Naso

----------------------------------------------------------
Atanas Kiryakov
Executive Director of Ontotext AD, http://www.ontotext.com
Sirma Group, http://www.sirma.bg
Phone: (+359 2) 974 61 44; Fax: 975 3226
---------------------------------------------------------- 
There is no mental process that can change the laws of nature or erase facts. 
The function of consciousness is not to create reality, but to apprehend it. 
"Existence is Identity, Consciousness is Identification."
Ayn Rand
  ----- Original Message ----- 
  From: Jitao Yang 
  To: semantic-web@w3.org ; www-rdf-interest@w3.org 
  Sent: Saturday, May 15, 2010 4:10 PM
  Subject: Higher-arity to RDF binary


  Dear all,

  Regarding arity, RDF is binary, 
  are there any good methods for encoding higher-arity relations in a graph?

  Thanks,
  Jitao
Received on Saturday, 15 May 2010 14:18:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 15 May 2010 14:18:36 GMT