Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

SUO: RE: Re: W3C approves RDF and OWL as recommendations




> In English, we have the word "parent", which we can
> use in talking about the set of parents.  And we
> can add the preposition "of" to talk about the
> "parent of" relation.  We do that with just one
> noun and the option of adding a preposition.
> We can use that same option with many other words,
> such as "child", "employee", "client", etc.
>
> That sounds rather simple.  Why not do the same
> in our notations for logic?

My machine can already parse Notation 3, which uses simple position to
distinguish between subject, predicate and object. After the suggestion that
'parent' couldn't be used a property as well as a class in RDF, I couldn't
resist testing the theory.

So here's some knowledge (which I saved in the file bears.n3) :

-----------------------------------------------------------
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix olo: <http://obscure-low-ontology.org/ns#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

# the class "parent"
olo:parent rdfs:subClassOf olo:Animal.
olo:parent owl:inverseOf olo:child.

# the relation "parent"
olo:parent a rdf:Property.
olo:parent rdfs:domain olo:Animal.
olo:parent rdfs:range olo:Animal.

# details of the bear family
:mother_bear a olo:parent.
:mother_bear olo:parent :baby_bear.
----------------------------------------

These statements are hypothetical (in ask.n3) :

--------------------------------------------------
@prefix olo: <http://obscure-low-ontology.org/ns#>.

:baby_bear a olo:Animal.
:baby_bear olo:child :mother_bear.
----------------------------------

I then ran Jos De Roo's Euler proof engine on these files, also providing
the facts and rules of RDF, RDFS and OWL at the same time :

C:\euler>java -cp . Euler --think owl-facts.n3 owl-rules.n3 rdfs-facts.n3
rdfs-r
ules.n3 rdf-rules.n3 bears.n3 ask.n3

the result trace is below, it ends:

# Proof found for file:/euler/ask.n3 in 370178 steps (60006 steps/sec) using
1 engine

In this case RDF/OWL has handled the same term used as a class and property
rather well.

Cheers,
Danny.

C:\euler>java -cp . Euler --think owl-facts.n3 owl-rules.n3 rdfs-facts.n3
rdfs-r
ules.n3 rdf-rules.n3 bears.n3 ask.n3
# Generated with http://www.agfa.com/w3c/euler/#R3680 on 16 Feb 2004
21:00:25 GM
T
{
 (
 <file:/euler/owl-facts.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 <file:/euler/owl-rules.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 <file:/euler/rdfs-facts.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 <file:/euler/rdfs-rules.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 <file:/euler/rdf-rules.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 <file:/euler/bears.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
 ).<http://www.w3.org/2000/10/swap/log#conjunction> =>
 <file:/euler/ask.n3>.<http://www.w3.org/2000/10/swap/log#semantics>
}
<http://www.w3.org/2000/10/swap/reason#because>
{
@prefix ns3: <file:/euler/rdf-rules#>.
@prefix str: <http://www.w3.org/2000/10/swap/string#>.
@prefix ns0: <file:/euler/owl-rules#>.
@prefix olo: <http://obscure-low-ontology.org/ns#>.
@prefix ns2: <file:/euler/rdfs-rules#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix : <file:/euler/owl-facts#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ns1: <file:/euler/rdfs-facts#>.
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
@prefix mt: <http://www.w3.org/TR/rdf-mt/#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix iw: <http://www.ksl.stanford.edu/software/IW/spec/iw#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

 {
  ns0:owl1i1 log:racine [iw:Variable "?LR"; = <file:/euler/owl-rules>].
  [iw:Variable "?P"; = olo:parent] owl:inverseOf olo:child.
  [iw:Variable "?S"; = ns3:mother_bear] [iw:Variable "?P"; = olo:parent]
[iw:Var
iable "?O"; = ns3:baby_bear]} =>
{ns3:baby_bear olo:child ns3:mother_bear}.
 {
  ns2:rdfs3 log:racine [iw:Variable "?LR"; = <file:/euler/rdfs-rules>].
  [iw:Variable "?P"; = olo:parent] rdfs:range [iw:Variable "?C"; =
olo:Animal].

  [iw:Variable "?S"; = ns3:mother_bear] [iw:Variable "?P"; = olo:parent]
[iw:Var
iable "?O"; = ns3:baby_bear]} =>
{ns3:baby_bear a olo:Animal}.
<file:/euler/owl-facts#m> <http://www.w3.org/2002/07/owl#sameAs>
<file:/euler/ow
l-facts#o>.
<file:/euler/owl-facts#j> <http://www.w3.org/2002/07/owl#sameAs>
<file:/euler/ow
l-facts#i>.
_:16795905_1 <http://www.w3.org/2002/07/owl#sameAs> _:11533424_1.
_:28904249_1 <http://www.w3.org/2002/07/owl#sameAs> _:31866429_1.
_:20876681_1 <http://www.w3.org/2002/07/owl#sameAs> _:16795905_1.
_:29240677_1 <http://www.w3.org/2002/07/owl#sameAs> _:28904249_1.
_:12115735_1 <http://www.w3.org/2002/07/owl#sameAs> _:23065739_1.
<file:/euler/owl-facts#n> <http://www.w3.org/2002/07/owl#sameAs>
<file:/euler/ow
l-facts#o>.
# Proof found for file:/euler/ask.n3 in 370178 steps (60006 steps/sec) using
1 e
ngine
}.