W3C home > Mailing lists > Public > public-owl-dev@w3.org > April to June 2005

universal quantification ontology

From: Jeremy Wong 黃泓量 <50263336@student.cityu.edu.hk>
Date: Sun, 10 Apr 2005 12:33:05 +0800
To: semantic-web@w3.org
Cc: public-owl-dev@w3.org
Message-id: <002801c53d86$63ca9520$0401a8c0@wongkjo9u38gzb>
I just devise an ontology this morning.. it is originated from the rule...

{ sig:connectSignalTo rdf:type rdf:Property ;
                      universal:domain sig:OutputSignal ;
                      universal:range sig:InputSignal ;
                      universal:subPropertyOf gom:connectTo .
  ?S gom:connectTo ?O ;
     rdf:type sig:OutputSignal .
  ?O rdf:type sig:InputSignal . }
=> { ?S sig:connectSignalTo ?O . } .

I wanted to express the rule purely using the vocabulary of RDF schema in fact. I fail to do so because the 3 vocabularies, rdfs:domain, rdfs:range and rdfs:subPropertyOf, are not functional. In this sense, the semantic inference of the above rule cannot be established..

Below is the schema and the semantics of the ontology..


--
## schema
universal:domain rdf:type owl:FunctionalProperty ;
                          rdfs:subPropertyOf rdfs:domain .
universal:range rdf:type owl:FunctionalProperty ;
                         rdfs:subPropertyOf rdfs:range .
universal:subPropertyOf rdf:type owl:FunctionalProperty ;
                                 rdfs:subPropertyOf rdfs:subProperty ..

## semantics
##

#uni0
{ ?P rdf:type rdf:Property ;
     universal:domain ?D0 ;
     universal:range ?R0 ;
     universal:subPropertyOf ?P0 .
  ?S ?P0 ?O ;
     rdf:type ?D0 .
  ?O rdf:type ?R0 .
}
=> { ?S ?P ?O . } .

#uni1
#
# CEXT(S(D0)) ⊆ CEXT(S(D1)) ∩ ... ∩ CEXT(S(Dn))
#
# CEXT(S(D0)) ⊆ CEXT(S(D1)) if there exists <P,D0> ∈ EXT(universal:domain) and <P,D1> ∈ EXT(rdfs:domain)
# <P,D0a> ∈ EXT(universal:domain) and <P,D0b> ∈ EXT(universal:domain) only if D0a = D0b
#
{ ?P universal:domain ?D0 ;
     rdfs:domain ?D1 . }
=> { ?D0 rdfs:subPropertyOf ?D1 . } .

#uni2
#
# CEXT(S(R0)) ⊆ CEXT(S(R1)) ∩ ... ∩ CEXT(S(Rn))
#
# CEXT(S(R0)) ⊆ CEXT(S(R1)) if there exists <P,R0> ∈ EXT(universal:range) and <P,R1> ∈ EXT(rdfs:range)
# <P,R0a> ∈ EXT(universal:range) and <P,R0b> ∈ EXT(universal:range) only if R0a = R0b
#
{ ?P universal:range ?R0 ;
     rdfs:range ?R1 . }
=> { ?R0 rdfs:subPropertyOf ?R1 . } .

#uni3
#
# CEXT(S(P0)) ⊆ CEXT(S(P1)) ∩ ... ∩ CEXT(S(Pn))
#
# CEXT(S(P0)) ⊆ CEXT(S(P1)) if there exists <P,P0> ∈ EXT(universal:subPropertyOf) and <P,D1> ∈ EXT(rdfs:subPropertyOf)
# <P,P0a> ∈ EXT(universal:subPropertyOf) and <P,P0b> ∈ EXT(universal:subPropertyOf) only if P0a = P0b
#
{ ?P universal:subPropertyOf ?P0 ;
     rdfs:subPropertyOf ?P1 . }
=> { ?P0 rdfs:subPropertyOf ?P1 . } .


--
Jeremy
Received on Sunday, 10 April 2005 04:33:51 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:53 GMT