180 likes | 313 Views
Semantic rules and inference make a comeback, watch out query!. AGU FM10 IN44B-01. Peter Fox (RPI) pfox@cs.rpi.edu Tetherless World Constellation. Semantic Web Layers. http://www.w3.org/2003/Talks/1023-iswc-tbl/slide26-0.html, http://flickr.com/photos/pshab/291147522/. Ontology Spectrum.
E N D
Semantic rules and inference make a comeback, watch out query! AGU FM10 IN44B-01 Peter Fox (RPI) pfox@cs.rpi.edu Tetherless World Constellation
Semantic Web Layers http://www.w3.org/2003/Talks/1023-iswc-tbl/slide26-0.html, http://flickr.com/photos/pshab/291147522/
Ontology Spectrum Thesauri “narrower term” relation Selected Logical Constraints (disjointness, inverse, …) Frames (properties) Formal is-a Catalog/ ID Informal is-a Formal instance General Logical constraints Terms/ glossary Value Restrs. Originally from AAAI 1999- Ontologies Panel by Gruninger, Lehmann, McGuinness, Uschold, Welty; – updated by McGuinness. Description in: www.ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-abstract.html
Semantic Web Standards* • Schema - RDFS (2004) • Ontology - OWL 1.0 (2004), OWL 2.0 (2009) • Query - SPARQL 1.0 (2008), 1.1 in draft • Taxonomy - SKOS (2009) • Rules - RIF (2010)
SPARQL • SPARQL has 4 result forms: • SELECT – Return a table of results. • CONSTRUCT – Return an RDF graph, based on a template in the query. • DESCRIBE – Return an RDF graph, based on what the query processor is configured to return. • ASK – Ask a boolean query. • The SELECT form directly returns a table • DESCRIBE and CONSTRUCT use the outcome of matching to build RDF graphs.
SPARQL Solution Modifiers • Pattern matching produces a set of solutions. This set can be modified in various ways: • Projection - keep only selected variables • OFFSET/LIMIT - chop the number solutions (best used with ORDER BY) • ORDER BY - sorted results • DISTINCT - yield only one row for one combination of variables and values. • The solution modifiers OFFSET/LIMIT and ORDER BY always apply to all result forms.
Query is popular • It looks like SQL • Triple stores and query endpoints are now becoming prevelant and many even conform to SPARQL 1.0 recommendation (1.1 on the way) • OWL 2 QL is intended to provide an OWL 2 subset
Semantic query limitations • Query does not know that a triple has been inferred or it has an inference (or rule) • Query has to contain semantics of the underlying knowledge base • If the ontology changes queries can break • Limited to declared knowledge, logic
Rule evolution • Jena, Jess, RuleML, and SWRL (OWL+RuleML) -> RIF and OWL 2 RL • RL features • Triple pattern rules • Inconsistency rules • List rules • Inconsistent pairs rules • Property chain rule • HasKey rule • Forward intersectionOf rule • Simple member rules • Datatype rules
E.g. Testing class membership Document( Prefix(fam http://example.org/family#) Group ( Forall ?X ?Y ( fam:isFatherOf(?Y ?X) :- And (fam:isSonOf(?X ?Y) fam:isMale(?Y) ?X#fam:Child ?Y#fam:Parent ) ) fam:isSonOf(fam:Adrian fam:Uwe) fam:isMale(fam:Adrian) fam:isMale(fam:Uwe) fam:Adrian#fam:Child fam:Uwe#fam:Parent ) ) Conclusion: fam:isFather(fam:Uwe fam:Adrian)
Use case - Semantic Advisor Your Selected Options: Spatial Area: Longitude ( -30, 150), Latitude (-10,60) Parameters: A: MYD08_D3.005 Aerosol Optical Depth at 550 nm B: MOD08_D3.005 Aerosol Optical Depth at 550 nm Temporal Range: Begin Date: Jan 01 2008 End Date: Jan 31 2008 Visualization Function: Lat –Lon map Time-averaged About your selected parameters: Known Issues: The difference of EQCT and Day Time Node, modulated by data-day definition, caused the included overpass time difference, which makes the artifact difference. See sample images: MODIS Terra vs. MODIS Aqua AOD Correlation Included Overpass time Difference Continue process to display image Return to selection page Multi-sensor Data Synergy Advisor (NASA), Leptoukh, Lynnes, Zednik, et al.
RuleSet Development [DiffNEQCT: (?s rdf:type gio:RequestedService), (?s gio:input ?a), (?a rdf:type gio:DataSelection), (?s gio:input ?b), (?b rdf:type gio:DataSelection), (?a gio:sourceDataset ?a.ds), (?b gio:sourceDataset ?b.ds), (?a.ds gio:fromDeployment ?a.dply), (?b.ds gio:fromDeployment ?b.dply), (?a.dply rdf:type gio:SunSynchronousOrbitalDeployment), (?b.dply rdf:type gio:SunSynchronousOrbitalDeployment), (?a.dply gio:hasNominalEquatorialCrossingTime ?a.neqct), (?b.dply gio:hasNominalEquatorialCrossingTime ?b.neqct), notEqual(?a.neqct, ?b.neqct) -> (?s gio:issueAdvisory giodata:DifferentNEQCTAdvisory)] Multi-sensor Data Synergy Advisor (NASA), Leptoukh, Lynnes, Zednik, et al.
Semantic Advisor Architecture RPI Multi-sensor Data Synergy Advisor (NASA), Leptoukh, Lynnes, Zednik, et al.
Increasing use of rules for (e.g. metadata) annotation • Flexible and extensible self describing schemas that don’t have to be nailed down • Allows description (instead of prescription) of my data set, or the output format of my tool, depending on different vocabularies that may/ will change • Open world (provenance) • “I need to comment on that experiment” (in MY context) • “That fact is now incorrect because …” • Data fusion across different data models • cross linked by shared instances and shared concepts • Global naming scheme mapping • E.g. LSID: Life Science Identifiers
Implications (1) • Rules give richer semantics and trade-off options between declarative approaches and their implementation • Some interesting partitioning between where semantics are implemented, i.e. • With query, a lot of semantics gets encoded in the query itself, especially if it is non-trivial – the semantics can be well separated and become incompatible • With rules, the semantics are added to the knowledge base and thus more likely to be consistent (or checked for consistency)
Implications (2) • Integration of rule development, verification, and use into application tools lags those for query • Improvements still needed for fully materialized ontology/ rule knowledge bases • Availability of built-ins for rule languages substantially increases logic capabilities but again complicates the choice between declarative and procedural logic • Late semantic binding!!! • So… take another look at OWL 2 – RL and RIF! • Thanks.
Jena rule example <ex:Driver rdf:about="http://example.com/John"> <ex:state>New York</ex:state> <ex:hasTrainingCertificate rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</ex:hasTrainingCertificate> </ex:Driver> @prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# @prefix ex: http://example.com/ @prefix xs: http://www.w3.org/2001/XMLSchema# [eligibleDriver: (?d rdf:type ex:EligibleDriver) <- (?d rdf:type ex:Driver) (?d ex:state "New York") (?d ex:hasTrainingCertificate "true"^^xs:boolean)] Any driver living in New York and having training driver certificate is eligible for insurance.