1 / 11

Using RDF Datatypes ( Deduction beyond syllogism)

Using RDF Datatypes ( Deduction beyond syllogism). Graham Klyne http://www.ninebynine.org/. RDF Datatypes (recap). Denotes. (Datatype). xsd:integer. Datatype URI. ICEXT (class extension). “1” “2” : “99” :. <“1”,1> <“2”,2> : <“99”,99> :. 1 2 : 99 :. Lexical space.

chill
Download Presentation

Using RDF Datatypes ( Deduction beyond syllogism)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using RDF Datatypes(Deduction beyond syllogism) Graham Klyne http://www.ninebynine.org/ Using RDF Datatypes

  2. RDF Datatypes (recap) Denotes (Datatype) xsd:integer Datatype URI ICEXT (class extension) “1” “2” : “99” : <“1”,1> <“2”,2> : <“99”,99> : 1 2 : 99 : Lexical space Lexical-to-value Mapping Value space Using RDF Datatypes

  3. Sketch of Datatype Extension • A number of named n-ary relations • e.g. xsd_integer:add: { <a,b,c> | a=b+c } • e.g. xsd_integer:divrem: { <a,b,c,d> | a=c div d, b=c rem d } • Functions to compute relations • e.g. for xsd_integer:add: <4,?,2>  <4,2,2> Datatype divrem add <0,0,0,0> <0,1,0,1> : <2,1,5,2> <2,1,7,3> : <0,0,0> <1,0,1> : <4,2,2> <4,3,1> : Using RDF Datatypes

  4. Using RDF Datatypes • Two approaches, implemented in Swish • Swish is a framework, implemented in Haskell, for experimenting with RDF inference, and other stuff • http://www.ninebynine.org/RDFNotes/Swish/Intro.html • Others are possible • e.g. CWM / Euler • Survey:http://www.ninebynine.org/RDFNotes/ RDF-Datatype-inference.html Using RDF Datatypes

  5. Motivating Example • Class of passenger vehicles • Properties for vehicle passenger capacity: • Seated • Standing • Total • where: Total = Seated + Standing Using RDF Datatypes

  6. Some Criteria to Consider • Ease of definition? • Use RDF syntax? • Direction of inference • “Forward” vs “backward” deduction • Variation of available information • ?=2+3  <5,2,3> • 5=?+3  <5,2,3> • 5=2+?  <5,2,3> • Separate domain knowledge from generic • Formal model for RDF datatypes? Using RDF Datatypes

  7. 1st Approach:Rule with Variable Binding Modifier ex:Rule01Ant :- { ?pv a :PassengerVehicle ; :seatedCapacity ?c1 ; :standingCapacity ?c2 . } ex:Rule01Con :- { ?pv :totalCapacity ?ct . } @rule ex:Rule1 :- ( ex:Rule01Ant ) => ex:Rule01Con | ( xsd_integer:sum ?ct ?c1 ?c2 ) Using RDF Datatypes

  8. 2nd Approach:Generalized Class Restriction ex:VehicleRule2 :- { :PassengerVehicle a rdfd:GeneralRestriction ; rdfd:onProperties (:totalCapacity :seatedCapacity :standingCapacity) ; rdfd:constraint xsd_integer:sum ; rdfd:maxCardinality "1"^^xsd:nonNegativeInteger . } Using RDF Datatypes

  9. Observations • Both approaches: • support forward and some backward chaining • based on similar extension of RDF datatype • Variable binding modifier: • is easier for writing more complex rules • can combine query and calculation in a single rule • requires fewer intermediate steps (transient subgraphs) • General restriction: • can be implemented with standard RDF parser • handles backward chaining more flexibly (but slowly) • does not handle query/selection of RDF data Using RDF Datatypes

  10. Datatype Extension Comments • Formalism of adding named relations seems to have some practical value as a way to capture datatype idiosyncrasies • Completeness of datatype inference cannot, in general, be guaranteed • No approach for multiple-datatype inferences is worked out yet Using RDF Datatypes

  11. Demonstration… • Preview script • file: VehicleCapacity.ss • Run Swish • file: SwishMain.hs Using RDF Datatypes

More Related