Semantics for the Rest of Us (Keynote)
graphic with four colored squares
Cover page images (keys)

Semantics for the Rest of Us (Keynote)

Sandro Hawke (sandro@w3.org), W3C / MIT
ISWC, 26 October 2009, SemRUS Workshop
http://www.w3.org/2009/Talks/1026-semrus/

Outline

Four Parts:

  1. What do you mean, "Semantics"?
    • Practical, intuitive definition
  2. Why do you want (Standard) Semantics?
    • Three general use cases
  3. Non-Standard Semantics
    • Subsets and supersets
    • Staying safe
    • Key design principle
  4. Ideas for the Future
    • Web + Inference

Time for Discussion

Semantic Web

We did "Semantic Web"

Linked Data

Let's revisit "Semantic"

Semantic Web

(In)Consistency

Some graphs could never be true...

What about this:

Equivalence

Entailment

Sometimes "logic" tells us whenever A is true, B must also be:

Graph A (Given) Graph B (Entailed)
Everything which has an "age" is a Person.
The "age" of Aubrey is 7.
Aubrey is a Person.
:age rdfs:domain :Person.
:Aubrey :age "7"^^xs:int
:Aubrey rdf:type :Person

Given Graph A, we can answer:

So what are these terms like rdfs:domain?

RDF Logic Languages

Same Syntax (RDF), Different Semantics

Thus these are equivalent:

  1. Which RDF logic language are you using?
  2. Which semantics are you using?
  3. Which entailment regime are you using?
  4. Which inference rules are you using?
  5. What must a conformant reasoner do?

Reasoner = Data Source

A reasoner takes what you know, and tells you more

Entirely predictable, unchanging

All correct reasoners for the same semantics give the same answers

Intuition: using a semantics = using another data source, with just another URI

... except it's rules.

... or it's just triples but:

Remind you of anyone?

Goofy Example. See what wisdom the counselor offers?

local

Part 2: Why Use a (Standard) Reasoner?

What Reasoners Do:

  1. Check Consistency
  2. Check Entailments, Query Answering with Entailment

In other words:

  1. Find inconsistencies (mistakes and disagreements)
  2. Finding entailments (more "true" facts)

They give us more useful knowledge! (Yay!)

Usage Scenarios

Think about:

Private Use

One person / organization

Apple, managing their iPod product line...

apple:iPodNanoGen1 rdfs:subClassOf pdx:MP3Player
apply:iPodNanoGen1 rdfs:subClassOf [
    rdf:type owl:Restriction;
    owl:onProperty apple:memorySizeMeg;
    owl:hasValue "1024";
]

... but privately.

They decide, internally, which reasoner(s) to use

Standard language promotes healthy market

Single Source

Alice published a graph:

:Alice :selling :item22
:item22 rdf:type apple:iPodNanoGen1.

Apple (vocabulary provider) says:

apple:iPodNanoGen1 rdfs:subClassOf pdx:MP3Player

This entails:

:item22 rdf:type pdx:MP3Player.

Who does the Reasoning?

Multi Source

Who does the Reasoning?

Alice doesn't know (or care) about Bob

Bob doesn't know (or care) about Alice

tree diagram showing conclusion of what Alice and Bob said

So, it has to be Charlie

... and they need a standard (RDFS here)

Part 3: Non-Standard Reasoning

Why Deviate

Subsets

Why?

What?

Result:

It's like deciding whether to consider other search results

When to Subset

Okay if data is already incomplete

Good if resources better used elsewhere

Not okay to present as complete

Not okay if negated

Supersets

What:

More information is good, right?

Only if it's right.

Beware unwarranted assumptions

Superset Exampls

Some possible supersets:

So when are superset semantics okay?

Safe Supersets

Did the source say that?

Did the source mean to imply that?

Or was it just something you inferred, on your own?

Safety is in how you present results:

Sorry, I didn't mean to imply you were a criminal...

The hard part: what was or was not implied?

Does this... Imply this?
:x rdf:type :A.
:A rdfs:subclassOf :B
:x rdf:type :B.
Does this... Imply this?
:z foaf:name "Sandro Hawke". :z foaf:firstName "Sandro".

If the shoe fits

PROPOSED: If you use the URI (in the right graph pattern), you're endorsing use of the published semantics.

Use "extensible semantics"; never make that ambiguous or contradictory.

Example: OWL 2

Okay for W3C Recommendations, but what about for all semantics with a web page?

Part 4: Some Ideas for Standards

class and property dereferencing

importing RIF

reasoner negotiation

downloading

PCID

Property and Class Identifier Dereferencing (PCID)

RIF

RIF meant to be used with RDF, but import from RDF

use owl:import? use PCID?

Additional RIF dialects, FOPL, LP, ....

Reasoner Negotiation

Charlie tells Alice the entailment regimes he'll be using, so she can skip doing those.

Skip-Inference: OWL-DIRECT

Alice tells Charlie which entailment regimes she has (completely) used, so he can skip doing those

Did-Inference: OWL-RL

... or put in in the graph, or in a metadata graph.

Downloadable Semantics

Downloadable Plugins

Advice to Users

Data Source Providers SHOULD include all useful entailments

Data Source Providers MUST publish only consistent data

Data Consumers SHOULD check for consistency across all included data sources.

Data Consumers SHOULD compute all entailments they'll find useful.

Reasoners MUST report the semantics they are using (including whether algorithm is incomplete/unsound)

Entailment Regimes MUST use Extensible Semantics.

Summary

  1. What do you mean, "Semantics"?
    • A semantics (or a logic, or an ER) is a spec for a set of equivalent reasoners
    • Intuitively: a (published) collection of inference rules
  2. Why do you want (Standard) Semantics?
    • Private Use: Better tools for ontologists
    • Single Source: Save on bandwidth
    • Multi Source: Emergent, synthesized knowledge
  3. Non-Standard Semantics
    • Subset are okay if you're incomplete anyway
    • Use supersets at your own risk
    • Alice States, Alice Implies, Charlie Infers.
    • Never define semantics which conflict someone else's
  4. Ideas for the Future
    • Promote deployment of PCID
    • Downloading Semantics: Standardize the Glue
    • Document Best Practices, Transition Strategies
    • More Workshops!