160 likes | 184 Views
An Axiomatic Semantics for RDF, RDF-Schema, and DAML+OIL Richard Fikes Deborah McGuinness Knowledge Systems Laboratory Stanford University www.ksl.stanford.edu. 2/12/01. What’s Inferable From Semantic Markup. Formal specification of intended meaning of semantic markup
E N D
An Axiomatic Semantics for RDF, RDF-Schema, and DAML+OIL Richard Fikes Deborah McGuinness Knowledge Systems Laboratory Stanford University www.ksl.stanford.edu 2/12/01
What’s Inferable From Semantic Markup • Formal specification of intended meaning of semantic markup • RDF, RDF Schema, and DAML+OIL • Translation of semantic markup into first order logic (FOL) • Produces a logically equivalent ontology in FOL • FOL language is KIF (Knowledge Interchange Format) • Provides axioms that specify legal inferences and constraints [137] • Facilitates query answering and constraint checking • By traditional theorem provers and problem solvers • Provides specs for special purpose reasoners • Provides basis for discussing language changes and extensions
Translation Method • Translate markup into RDF statements I.e., into “Property P of resource R has value V” E.g., “Property parent of resource Joe has value John” • Translate each RDF statement into a FOL sentence I.e., into “(PropertyValue P R V)” E.g., “(PropertyValue parent Joe John)” • Simplify property typing sentences using relation type I.e., simplify “(PropertyValue type R V)” to “(type R V)” E.g., simplify “(PropertyValue type Joe Person)” to “(type Joe Person)” • Add axioms from the semantics document
RDF Classes and Properties Properties [6] (12 axioms) type subject predicate object value _1, _2, _3, … Classes [10] (18 axioms) Resource Property Class Literal Statement Container Bag Seq Alt ContainerMembershipProperty
RDF Schema Classes and Properties Classes [2] (2 axioms) ConstraintResource ConstraintProperty Properties [8] (18 axioms) subClassOf subPropertyOf seeAlso isDefinedBy comment label range domain
DAML+OIL Classes Thing Nothing Disjoint Restriction NonNegativeInteger TransitiveProperty UniqueProperty UnambiguousProperty List Ontology (10 classes; 14 axioms)
DAML+OIL Properties equivalentTo sameClassAs samePropertyAs disjointWith unionOf disjointUnionOf intersectionOf complementOf oneOf onProperty toClass hasValue hasClass minCardinality maxCardinality cardinality hasClassQ minCardinalityQ maxCardinalityQ cardinalityQ inverseOf first rest item versionInfo imports (26 properties; 69 axioms)
Class Person and Person Joe • Persons are animals and a person’s parents are persons <rdfs:Class rdf:ID = "Person"> <rdfs:subClassOf rdf:resource = "#Animal” /> <restrictedBy> <Restriction> <onProperty resource = "#parent” /> <toClass resource = "#Person” /> </Restriction> </restrictedBy> </Class> • Joe is a person one of whose parents is John <Person ID = "Joe"> <parent resource = "#John” /> </Person>
Translation Into RDF Statements • Persons are animals (type Person Class) (subClassOf Person Animal) • A person’s parents are persons (type R Restriction) (restrictedBy Person R) (onProperty R parent) (toClass R Person) • Joe is a person one of whose parents is John (type Joe Person) (parent Joe John)
Translation Into First Order Logic (type Person Class) (Type Person Class) (subClassOf Person Animal) (PropertyValue subClassOf Person Animal) (type R Restriction) (Type R Restriction) (restrictedBy Person R) (PropertyValue restrictedBy Person R) (onProperty R parent) (PropertyValue onProperty R parent) (toClass R Person) (PropertyValue toClass R Person) (type Joe Person) (Type Joe Person) (parent Joe John) (PropertyValue Parent Joe John)
Primary Axiom For toClass • If object R is a value of restrictedBy for object C1, and object P is a value of onProperty for R, and object C2 is a value of toClass for R, then for all objects I and V, if I is of type C1 and V is a value of P for I, then V is type C2.” • (=> (and (PropertyValue restrictedBy ?c1 ?r) (PropertyValue onProperty ?r ?p) (PropertyValue toClass ?r ?c2)) (forall (?i ?v) (=> (and (Type ?i ?c1) (PropertyValue ?p ?i ?v)) (Type ?v ?c2))))
Is John a Person? • From – • (PropertyValue restrictedBy Person R) • (PropertyValue onProperty R parent) • (PropertyValue toClass R Person) • (=> (and (PropertyValue restrictedBy ?c1 ?r) (PropertyValue onProperty ?r ?p) (PropertyValue toClass ?r ?c2)) (forall (?i ?v) (=> (and (Type ?i ?c1) (PropertyValue ?p ?i ?v)) (Type ?v ?c2)))) • Infer – • (forall (?i ?v) (=> (and (Type ?i Person) (PropertyValue parent ?i ?v)) (Type ?v Person)))
Is John a Person? • From – • (Type Joe Person) • (PropertyValue Parent Joe John) • (forall (?i ?v) (=> (and (Type ?i Person) (PropertyValue parent ?i ?v)) (Type ?v Person))) • Infer – • (Type John Person) • “Yes”, John is a Person.
Summary • Formal specification of intended meaning of semantic markup • RDF, RDF Schema, and DAML+OIL • Translation of semantic markup into first order logic (FOL) • Produces a logically equivalent ontology in KIF • Provides axioms that specify legal inferences and constraints • Facilitates query answering and constraint checking • By traditional theorem provers and problem solvers • Provides specs for special purpose reasoners • Provides basis for discussing language changes and extensions