- From: Andrei S. Lopatenko <andrei@derpi.tuwien.ac.at>
- Date: Mon, 5 Nov 2001 17:53:38 +0100
- To: "Nikita Ogievetsky" <nogievet@cogx.com>
- Cc: <www-rdf-interest@w3.org>
- Message-ID: <01f901c1661a$6acb5d60$a6498280@tuwien.ac.at>
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 UTC