Notes about RDF and OWL: logical meaning

Allikas: Lambda


http://yy:111  rdf:type    ex:book
http://yy:111  ex:bookauthor   http://xx#121 
http://xx#121  ex:eesnimi  "Jaan" 

isik -> person
person -> livingthing

rdf:type(http://xx#121,ex:isik)



========= Logical meaning ==========

<owl:ObjectProperty rdf:ID="connectsTo">
  <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
  <rdfs:domain rdf:resource="#NaturallyOccurringWaterSource"/>
  <rdfs:range rdf:resource="#NaturallyOccurringWaterSource"/>
</owl:ObjectProperty>

rdf(type,connectsTo,#SymmetricProperty).
rdf(type,domain,#NaturallyOccurringWaterSource).
rdf(type,range,#NaturallyOccurringWaterSource).


---- rdfs implicit rules ----

ex:isik rdfs:SubclassOf ex:person

All x [holds(rdf:type,x,ex:isik) => holds(rdf:type,x,ex:person)]
All x [holds(rdf:type,x,ex:person) => holds(rdf:type,x,ex:livingthing)]


All x y [ holds(rdfs:SubclassOf,x,y) =>
           All z (holds(rdf:type,z,x) => holds(rdf:type,z,y) ]  

All x y [ rdfs:SubclassOf(x,y) =>
           All z (rdf:type(z,x) => rdf:type(z,y) ] 

ex:bookauthor  rdfs:range   ex:person
ex:bookauthor  rdfs:domain  ex:book

All x,y [ex:bookauthor(x,y) & => rdf:type(y,ex:person)]
All x,y [ex:bookauthor(x,y) & => rdf:type(x,ex:book)]


rdf(connectsTo,piritajogi,tallinnalaht) ... -> ...
rdf(type,piritajogi,#NaturallyOccurringWaterSource)

A x y u v (rdf(x,domain,y) & rdf(x,u,v) -> rdf(type,u,y))


------ Reification rule ----------

[timestamp: 10jaan2008,  sisestaja:peeter, usaldusvaarsus:0.9]
 
 
13  rdf:object     http://xx#121
13  rdf:predicate  ex:eesnimi
13  rdf:subject    "Jaan"
13  ex:timestamp   10jaan2008
13  sisestaja      peeter


Reification meaning with a rule:

#12  rdf:subject    http://yy:111
#12  rdf:predicate  rdf:type
#12  rdf:object     ex:book

All x,y,z,u 
  [holds(rdf:subject,  x,y) &
   holds(rdf:predicate,x,z) & 
   holds(rdf:object,   x,u) =>
   
   holds(z,y,u) ]

---- owl implicit rules ---

rdf(connectsTo,piritajogi,tallinnalaht) ... -> ...
rdf(connectsTo,tallinnalaht,piritajogi)

A x u v ( rdf(x,type,#SymmetricProperty) &
          rdf(x,u,v) -> rdf(x,v,u)).
          
          
flueve = river & all.emptiesinto(sea)

flueve(x) <-> [river(x) & A y (emptiesinto(x,y) -> sea(y))]