W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2001

Re: property inference rule

From: Andrei S. Lopatenko <andrei@derpi.tuwien.ac.at>
Date: Mon, 5 Nov 2001 17:53:38 +0100
Message-ID: <01f901c1661a$6acb5d60$a6498280@tuwien.ac.at>
To: "Nikita Ogievetsky" <nogievet@cogx.com>
Cc: <www-rdf-interest@w3.org>
Dear Nikita, 
in which language would you like express such rule?
{hasNiece} = {hasBrother X hasDaughter}
Several Semantic Web related approaches
Prolog
  hasNiece(X, Y) :- hasBrother(X, Z), hasDaughter(Z, Y).
Some relations with SW  please look SWI Prolog parser for RDF and dissertation of Hefflin   also XSB
http://www.xml.com/pub/a/2001/07/25/prologrdf.html
http://www.swi.psy.uva.nl/projects/SWI-Prolog/packages/sgml/rdf2pl.html
you can define something like
hasBrother(X, Y) :- rdf(X, exactpropertyidentifierforhasbrother,Y).  


RuleML
http://www.dfki.de/ruleml/
<if>
    <atom>
        <rel>hasNiece</rel>
        <var>x</var>       
        <var>y</var>       
    </atom>
  <and>
    <atom>
        <rel>hasBrother</rel>
        <var>x</var>       
        <var>z</var>       
    </atom>
    <atom>
        <rel>hasDaughter</rel>
        <var>x</var>       
        <var>z</var>       
    </atom>
  </and>
</if>

Jess
http://herzberg.ca.sandia.gov/jess/
(defrule niece-defin
   (has-brother ?person ?his_brother)
   (has-daughter ?his_brother ?daughter)
=>
   (has-niece ?person ?daughter)
)

Best regards
MSc Andrei S. Lopatenko
Researcher
Vienna University of Technology
Extension Centre
http://derpi.tuwien.ac.at/~andrei/

  ----- Original Message ----- 
  From: Nikita Ogievetsky 
  To: www-rdf-interest@w3.org 
  Sent: Monday, November 05, 2001 6:33 PM
  Subject: property inference rule


  Does anybody know a way to express 
  an inference rule that from:

  <person rdf:ID="A">
      <hasBrother>
          <person>
              <hasDaughter rdf:resource="#C"/>
          </person>
      </hasBrother>
  </person>

  follows:

  <person rdf:ID="A">
      <hasNiece rdf:resource="#C">
  </person>

  In other words:

  {hasNiece} = {hasBrother X hasDaughter}

  I had been pondering over this for some time
  and could not find an answer neither myself nor by asking some other people.

  Thanks,

  --Nikita.
Received on Monday, 5 November 2001 11:46:20 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:52 GMT