27 feb 2004using rdf datatypes1 using rdf datatypes ( deduction beyond syllogism) graham klyne
TRANSCRIPT
![Page 1: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/1.jpg)
27 Feb 2004 Using RDF Datatypes 1
Using RDF Datatypes(Deduction beyond syllogism)
Graham Klyne
http://www.ninebynine.org/
![Page 2: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/2.jpg)
27 Feb 2004 Using RDF Datatypes 2
RDF Datatypes (recap)
“1”“2”
:“99”
:
12:
99:
<“1”,1><“2”,2>
:<“99”,99>
:
Lexical space Value spaceLexical-to-value Mapping
ICEXT(class extension)
Denotesxsd:integer (Datatype)
Datatype URI
![Page 3: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/3.jpg)
27 Feb 2004 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>
<0,0,0><1,0,1>
:<4,2,2><4,3,1>
:
Datatype
add
<0,0,0,0><0,1,0,1>
:<2,1,5,2><2,1,7,3>
:
divrem
![Page 4: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/4.jpg)
27 Feb 2004 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
![Page 5: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/5.jpg)
27 Feb 2004 Using RDF Datatypes 5
Motivating Example
• Class of passenger vehicles• Properties for vehicle passenger
capacity:– Seated– Standing– Total– where: Total = Seated + Standing
![Page 6: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/6.jpg)
27 Feb 2004 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?
![Page 7: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/7.jpg)
27 Feb 2004 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 )
![Page 8: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/8.jpg)
27 Feb 2004 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 . }
![Page 9: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/9.jpg)
27 Feb 2004 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
![Page 10: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/10.jpg)
27 Feb 2004 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
![Page 11: 27 Feb 2004Using RDF Datatypes1 Using RDF Datatypes ( Deduction beyond syllogism) Graham Klyne](https://reader035.vdocuments.mx/reader035/viewer/2022072015/56649ec55503460f94bd0dcc/html5/thumbnails/11.jpg)
27 Feb 2004 Using RDF Datatypes 11
Demonstration…
• Preview script– file: VehicleCapacity.ss
• Run Swish– file: SwishMain.hs