WWW10
May 2001, Hong Kong
Statements are represented as arcs in a (directed, labelled) graph.
e.g. Bill's father is Bob. fig1
<http://example/scenario#bill> <http://www.daml.org/2001/03/daml+oil-ex#hasFather> <http://example/scenario#bob>.
@prefix dex: <http://www.daml.org/2001/03/daml+oil-ex#>.
<#bill> dex:hasFather <#bob>.
in http://example/scenario
:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dex="http://www.daml.org/2001/03/daml+oil-ex#"> <rdf:Description rdf:about="#bill"> <dex:hasFather rdf:resource="#bob"> </rdf:Description> </rdf:RDF>
Bill is a Man: :bill rdf:type dex:Man.
Bob is a Man: :bob rdf:type dex:Man.
Men are Persons: dex:Man rdfs:subClassOf dex:Person.
fig3: W3C terms in blue; classes in bold.
rdf:type
statements.
Since Bill and Bob are Persons, they're animals also.
Since every Man is a Person and every Person is an Animal, every Man is an Animal.
Things that have fathers are Animals: dex:father rdfs:domain
dex:Animal.
Things that are fathers are Males: dex:father rdfs:range
dex:Male.
not discussed here:
No female is a male: dex:Female dpo:disjointWith dex:Male.
Pat can't be both.
also: unionOf, intersectionOf, complementOf
Lists are built using first, rest, and nil.
The father of a person is a person: dex:Person rdfs:subClassOf [
dpo:onProperty dex:father; dpo:toClass dex:Person].