Linked (Open) Data is one key to coping with Big Data: it enables decentralised, collaborative management of big datasets, low-overhead information retrieval, and scalable reasoning. Big Data are created or consumed by technical processes or business processes. Their formal description, e.g. for software verification or compliance checking, requires logics whose complexity far exceeds that of the data. Restricting LOD to the RDF logic does not allow for integrating rich process descriptions with the data that these processes create, and therefore does not enable knowledge management, information retrieval and reasoning to take full advantage of rich background knowledge. In this talk I demonstrate different frontiers at which I have worked towards achieving an integration of process descriptions and data.
1. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Big Data to
Rich Process Descriptions
Christoph Lange1
1Project ‘‘Formal Mathematical Reasoning in Economics’’,
School of Computer Science, University of Birmingham, UK
http://cs.bham.ac.uk/~langec
2013-09-19
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 1
2. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
“Hello, World!”
2011 Ph.D. (Jacobs Univ. Bremen, with Michael
Kohlhase): Enabling Collaboration on
Semiformal Mathematical Knowledge by
Semantic Web Integration [Lan11]
2011–12 Postdoc (Univ. Bremen, with John Bateman,
Till Mossakowski): Ontology Integration and
Interoperability (OntoIOp) ↝ Distributed
Ontology Language (DOL) OMG standard [13]
2012–13 Postdoc (Univ. Birmingham, with Manfred
Kerber, Colin Rowat): Formal Mathematical
Reasoning in Economics (ForMaRE) [KLR]
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 2
3. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Big Data to
Rich Process Descriptions
Linked data is one key to coping with big data.
Big data are created or consumed
by technical/business processes.
Formal process descriptions are
more complex than data.
Why integrate process descriptions and data?
How to integrate them?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 3
4. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linked Data as a Key to Big Data
Linked (Open) Data enables . . .
decentralised, collaborative management of big
datasets,
low-overhead information retrieval, and
scalable reasoning.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 4
5. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Sources of Big Data
Big data =
)︀⌉︀⌉︀⌉︀
⌋︀
⌉︀⌉︀⌉︀]︀
high volume,
high velocity,
high variety
[︀⌉︀⌉︀⌉︀
⌈︀
⌉︀⌉︀⌉︀⌊︀
information [BL12]
Where does it come from?
Science 150 million sensors in the Large Hadron
Collider
Trade High-frequency trading (HFT) accounts for
50% of US equity trading.
Web 100 hours of video uploaded to YouTube
every minute
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 5
6. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Big Data Result from Processes
Science sensor measurements determined by
experimental setup
experiments inform hypotheses
Trade trading strategies influenced by
demand and supply
Web YouTube does not just store uploads,
but notifies
subscribers,
Facebook friends,
Twitter followers.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 6
7. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Formal Process Descriptions
Why describe processes formally?
to check their compliance with quality standards
to verify the software that controls them
Science workflows modelled using:
logic programming, computational tree logic,
linear temporal logic.
Trade Knight Capital HFT software repeatedly sold
shares below purchase price, lost $440
million within 1 hour – could formal
verification have helped?
Web social networks modelled using
epistemic modal logic, probabilistic soft logic
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 7
8. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Process Descriptions and Data
Knowledge Mgmt. Under what experimental setup
were these measurements taken?
Reasoning Given the current variance of
measurements, would it help to use a
sensor with different specifications?
Which trading strategy responds best
to the current offers?
Inform. Retrieval Which of my friends are actually
interested in my latest video upload?
Where can I buy the cheapest parts to
feed into my manufacturing process?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 8
9. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Logic of Linked Open Data?
RDF data and RDFS vocabularies do not suffice for
modelling processes – so . . . ?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 9
10. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Logic of Linked Open Data?
RDF data and RDFS vocabularies do not suffice for
modelling processes – so . . . ?
☀ make your stuff available on the Web
(whatever format) under an open license
☀☀ make it available as structured data (e.g.,
Excel instead of image scan of a table)
☀☀☀ use non-proprietary formats (e.g., CSV
instead of Excel)
☀☀☀☀ use URIs to denote things, so that people
can point at your stuff
☀☀☀☀☀ link your data to other data to provide
context [12]
Who says it needs to be RDF?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 9
11. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Think URIs, not RDF!
How to achieve an integration of . . . ?
rich process descriptions (expressive logics)
big data (scalability before expressivity)
Ad hoc extensions of RDF exist (e.g. for CSPs in product
range specification at Renault [BSP11])
My approach
systematically base expressive logics beyond RDF
and OWL on the URI foundation of LOD
thus enable large-scale data/knowledge integration
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 10
12. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Derived Values in Statistical Datasets
Comparing unemployment rates in micronations:
Principality of Sealand
:pop_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 7 .
:unemployed_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 2 .
:unemp_rate_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
sdmx-attr:unitMeasure :Ratio ;
sdmx-meas:obsValue 0.286 .
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 11
13. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Derived Values in Statistical Datasets
Comparing unemployment rates in micronations:
Principality of Sealand
:pop_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 7 .
:unemployed_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 2 .
:unemp_rate_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
sdmx-attr:unitMeasure :Ratio ;
sdmx-meas:obsValue 0.286 .
Republic of Kugelmugel
:pop_kugelmugel2012 a qb:Observation ;
sdmx-dim:refArea :KugelmugelRepublic ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 11 .
:unemployed_kugelmugel2012 a qb:Observation ;
sdmx-dim:refArea :KugelmugelRepublic ;
sdmx-dim:refPeriod :Year2012 ;
:refAgeGroup :People18to65years ;
sdmx-attr:unitMeasure :Count ;
sdmx-meas:obsValue 1 .
:unemp_rate_kugelmugel2012 a qb:Observation ;
sdmx-dim:refArea :KugelmugelRepublic ;
sdmx-dim:refPeriod :Year2012 ;
sdmx-attr:unitMeasure :Ratio ;
sdmx-meas:obsValue 0.091 .
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 11
14. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Derived Values in Statistical Datasets II
:unemp_rate_sealand2012 a qb:Observation ;
sdmx-dim:refArea :PrincipalityOfSealand ;
sdmx-dim:refPeriod :Year2012 ;
sdmx-attr:unitMeasure :Ratio ;
sdmx-meas:obsValue 0.286 .
:unemp_rate_kugelmugel2012 a qb:Observation ;
sdmx-dim:refArea :KugelmugelRepublic ;
sdmx-dim:refPeriod :Year2012 ;
sdmx-attr:unitMeasure :Ratio ;
sdmx-meas:obsValue 0.091 .
How to validate the derived values?
How to compute them for new data points?
How to collect data points and their dependencies?
Make the mathematical semantics explicit!
unemp. rate = unemployed
population ⇒ link to “division”
(→ OpenMath Content Dictionaries) [Vra+10; Lan10]
OpenMath CDs are LOD: decentrally extensible
Future work: OpenMath SPARQL entailment regime
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 12
15. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
The Big Picture of Interoperability
Ontology
Ontology Language/Logic
Knowledge Software Agents
written in
Concepts/Data/Individuals
represented in terms of
Service Description
Service Descr. Language
written in
Service
satisfies
processes
refers to
Target (Device)
accesses
Service-Oriented
Architecture
Smart Environment
Target Description
conforms to
Device
Target Descr. Language
written in
Ontology
Ontology Language/Logic
Concepts/Data/Individuals
Service Description
Service Descr. Language
Service Target (Device)
Target Description
Device
Target Descr. Language
Knowledge
Infrastructure
mappingsfor
interoperability
Hardware
Data
Models
Metamodels
For now we focus
on the “content”/
“knowledge”
column
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 13
16. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device Interoperability
Ambient Assisted Living Scenario
Clara, a vegetarian, instructs her wheelchair to get her to
the kitchen (next door to the living room). For dinner,
she would like to take a pizza from the freezer and bake
it in the oven. Afterwards she goes to bed.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
17. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device Interoperability
Ambient Assisted Living Scenario
Clara, a vegetarian, instructs her wheelchair to get her
to the kitchen (next door to the living room). For
dinner, she would like to take a pizza from the freezer
and bake it in the oven. Afterwards she goes to bed.
Existing ontologies (e.g. OpenAAL) cover core of that:
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
18. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device Interoperability
Ambient Assisted Living Scenario
Clara, a vegetarian, instructs her wheelchair to get her
to the kitchen (next door to the living room). For
dinner, she would like to take a pizza from the freezer
and bake it in the oven. Afterwards she goes to bed.
Existing ontologies (e.g. OpenAAL) cover core of that:
. . . but not all required concepts (e.g. food
ingredients ⇒ need other ontologies/modules; tap
into the Web of (Product, Geo) Data)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
19. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device Interoperability
Ambient Assisted Living Scenario
Clara, a vegetarian, instructs her wheelchair to get her
to the kitchen (next door to the living room). For
dinner, she would like to take a pizza from the freezer
and bake it in the oven. Afterwards she goes to bed.
Existing ontologies (e.g. OpenAAL) cover core of that:
. . . but not all required concepts (e.g. food
ingredients ⇒ need other ontologies/modules; tap
into the Web of (Product, Geo) Data)
. . . not necessarily at the required level of
complexity (e.g. space/time ⇒ need other logics)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
20. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
What do Devices Need to Know?
Some of the devices involved:
kitchen light switch
freezer (aware of its contents)
wheelchair (with navigation)
Services and Devices need to understand different
aspects of the world at different levels of complexity.
Quote from the “Hitchhiker”
“Suddenly [the door] slid open.
‘Thank you,’ it said, ‘for making a
simple door very happy.’”
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 15
21. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Different Devices and their Knowledge
Light Switch “switched on if and only if someone is in
and it’s dark outside”
Freezer “all toppings of a vegetarian pizza are
vegetarian”
Wheelchair “two areas are either the same, or intersect,
or border, or separate, or one is part of the
other”
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 16
22. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Different Devices = Different Logics
Light Switch: propositional logic “switched on if and
only if someone is in and it’s dark outside”
light_on ≡ person_in_room ∧ dark_outside
Freezer: description logic (Pizza ontology) “all
toppings of a vegetarian pizza are vegetarian”
VegetarianPizza ≡ Pizza ⊓ ∀hasTopping.Vegetarian
Wheelchair: first order logic (RCC-style spatial
calculus) “two areas are either the same, or intersect, or
border, or separate, or one is part of the other”
∀a1, a2.equal(a1, a2) ∨ overlapping(a1, a2) ∨
bordering(a1, a2) ∨ disconnected(a1, a2) ∨
part_of(a1, a2) ∨ part_of(a2, a1)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 17
23. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
The OntoIOp Initiative
OntoIOp (Ontology Integration and
Interoperability) initiative started in 2011 with ISO
now continued with OMG
Request for Proposals to be issued this autumn
proposals due Dec. 2014
50 experts participate, ∼ 15 have contributed
Relevant communities represented:
different ontology languages and logics
conceptual and theoretical foundations
technical foundations
applications: manufacturing, business rules,
model-driven software engineering
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 18
24. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Distributed Ontology Language (DOL)
“distributed” means . . .
logically heterogeneous
modular
interlinked: interpretations, equivalences, alignments
decentrally maintained (using URIs)
DOL: a logic-agnostic meta-language for
ontologies, modeling and specification [MKL12;
Lan+12]
supports ontologies in several relevant languages
framework can be decentrally extended with new
languages, logics, serializations, translations
Tool support:
Hets: syntax check, theorem proving, model finding
Ontohub: web-based repository engine
http://ontoiop.org
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 19
25. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
The OntoIOp Registry (Subset)
Common Logic
SROIQDL-LiteR
CLIF
XCL
Manchester Syntax
OWL 2 XML
RDF / XML
Turtle
OWL 2 DL
RDF
RDFS
Common Logic
RDFS
RDF
OWL 2 QL
OWL 2 RL
OWL 2 EL
DL-RL
EL
++
Serializations Ontology Languages Logics
supports serialization sublanguage of
induced translation exact logical expressivity
translatable to
sublogic of
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 20
26. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
27. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
28. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
29. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
30. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
31. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example
%prefix( : <http://dfki.de/example/ouraal/> openaal: <http://openaal.org/SAM/Ontology#>
productdb: <http://productdb.org/ean/> pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
lang: <http://purl.net/dol/languages/> log: <http://purl.net/dol/logics/>
trans: <http://purl.net/dol/translations/> ser: <http://purl.net/dol/serializations/> )%
distributed-ontology AAL
language lang:OWL2/DL
ontology OpenAALAdapted =
openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {
Class: LightSwitch SubClassOf: openaal:Device
Class: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1Person
EquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOn
EquivalentTo: openaal:Room that inverse openaal:is-in-room only
(not (LightSwitch that openaal:has-power-state value openaal:Off)) }
then logic log:Propositional syntax ser:Prop/CASLLike : {
props light_on, person_in_room, dark_outside
. light_on ⇔ person_in_room ∧ dark_outside }
with translation
trans:PropositionalToSROIQ
person_in_room ↦ RoomWith1Person,
light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
32. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
33. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
34. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
35. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
36. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
37. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
DOL AAL Example II
then language lang:OWL2/DL : pizza:
then logic log:CommonLogic syntax ser:CommonLogic/CLIF : {
(forall (area1 area2)
(or (equal area1 area2) (overlapping area1 area2) %% skipping some cases ...
%% (define mutual disjointness of these predicates)
(forall (area1 area2)
(if (or (equal area1 area2) %% ...
(exists (door)
(and (openaal:Door door)
(openaal:is-in-room door area1)
(openaal:is-in-room door area2))))
(openaal:is-connected-to-room area1 area2))) }
ontology ConcreteScenario =
OpenAALAdapted hide along trans:RDFtoSROIQ
and productdb:
then language lang:RDF syntax ser:RDF/Turtle : {
productdb:4001724819806 pizza:hasTopping
[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DL
then { pizza:
then syntax ser:OWL2/Manchester : {
Individual: productdb:4001724819806
Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
38. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Importance of Auctions
Auctions: a mechanism to distribute resources
Applications eBay, mobile spectrum, internet domains
Significance $268.5 billion in 2008 in the US
Given a set of bids on goods (proxying valuations)
Goals give goods to those valuing them most
determine prices
maximise revenue
attract participants
incentive compatibility
(no need for tactic over-/underbidding)
Auctions are designed; properties are tested and
proved.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 23
39. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Generating Verified Auction Software
2. Theorems
1. Definitions
formal specification
(written by Isabelle user, needs
review by auction designer)
Code
(executable Scala)
3. Proof
(4. checked by Isabelle)
state soundness
and other properties of
known to implement (by proof
and by trusting code generator)
5. code generation
(Isabelle)
proves
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 24
40. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Combinatorial Auctions [CSS06]
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 25
41. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Combinatorial Vickrey Auction
Bids on any subset of the set of available goods X.
Winning allocation:
X∗
∈ argmax
X1,...,XN
N
∑
n=1
bn (Xn) s.t.
N
⋃
n=1
Xn ⊆ X0, n ≠ n′
iff Xn∩Xn′ = ∅
Prices: pn ≡ αn − ∑m≠n bm (X∗
m) where
αn ≡ max
Xm
m=1,...,N,m≠n
{∑
m≠n
bm (Xm)⋁︀ ⋃
m≠n
Xm ⊆ X0 (︀
Bidder n pays the maximum sum of bids if the auction
had been run without n (= αn), minus the winning bids
on the items n did not get [AM06; Cam+13].
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 26
42. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Generating Verified Software: Comb.
Vickrey Auction [Cam+13]
paper-like
formalisation
X∗
∈ argmax∑...
{R ⊆ P(N)×N
∃P ∈ parts(G).
Dom(R) ⊆ P ∧...}
{P ⋃P = A
∧∀x ∈ P....}
depends on
depends on
executable
formalisation
argmax (x # xs) f =
if f x > f (hd (argmax xs f)) then ...
alloc G N = concat [
[ R . R ← inj_fun P (list N) ]
. P ← parts (list G) ]
parts (x # xs) =
⋃ inject x ‘ (parts xs)
depends on
depends on
!
≡
winner
determination
!
≡
allocations
!
≡
set partitions
papersource(auctiondesigner)
verifiedcode(auctionsoftware)
human
formali-
sation
code
gene-
ration
http://formare.github.io/auctions/
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 27
43. Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Conclusion
Formal descriptions help to understand, verify and
improve processes in general.
Process executions create or consume data.
Integrating process descriptions and data improves
knowledge management
reasoning
information retrieval
A wider view on linked data (beyond RDF) helps to
integrate . . .
process descriptions
(often ≥ first-order logic; expressive)
big data created or consumed by processes
(often RDF; scalable)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 28
44. References
References I
5 star Open Data. Apr. 3, 2012. url:
http://5stardata.info/ (visited on 2013-09-18).
OntoIOp (Ontology Integration and Interoperability)
Standard Development Initiative. 2013. url:
http://ontoiop.org (visited on 2013-09-18).
L. M. Ausubel and P. Milgrom. “The Lovely but Lonely
Vickrey Auction”. In: Combinatorial auctions. Ed. by
P. Cramton, Y. Shoham, and R. Steinberg. MIT Press,
2006. Chap. 1, pp. 17–40.
M. A. Beyer and D. Laney. The Importance of ‘Big Data’:
A Definition. June 21, 2012. url:
http://www.gartner.com/resId=2057415.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 29
45. References
References II
F. Badra, F.-P. Servant, and A. Passant. “A Semantic
Web Representation of a Product Range
Specification based on Constraint Satisfaction
Problem in the Automotive Industry”. In: Proceedings
of the 1st Workshop on Ontology and Semantic Web for
Manufacturing, Extended Semantic Web Conference.
(Hersonissos, Crete, Greece, May 29, 2011). Ed. by
A. García Castro, C. Toro, L. Ramos, and L. Schröder.
CEUR Workshop Proceedings 748. Aachen, 2011,
pp. 37–50. url: http://ceur-ws.org/Vol-748/.
M. B. Caminati, M. Kerber, C. Lange, and C. Rowat.
Proving soundness of combinatorial Vickrey auctions
and generating verified executable code. 2013. arXiv:
1308.1779 [cs.GT].
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 30
46. References
References III
P. Cramton, Y. Shoham, and R. Steinberg, eds.
Combinatorial auctions. MIT Press, 2006.
M. Kerber, C. Lange, and C. Rowat. ForMaRE. Formal
Mathematical Reasoning in Economics. url: http://
cs.bham.ac.uk/research/projects/formare/
(visited on 2013-02-10).
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 31
47. References
References IV
C. Lange, T. Mossakowski, O. Kutz, C. Galinski,
M. Grüninger, and D. Couto Vale. “The Distributed
Ontology Language (DOL): Use Cases, Syntax, and
Extensibility”. In: Terminology and Knowledge
Engineering Conference (TKE). (Madrid, Spain,
June 20–21, 2012). Ed. by G. Aguado de Cea,
M. C. Suárez-Figueroa, R. García-Castro, and
E. Montiel-Ponsoda. 2012, pp. 33–48. arXiv:
1208.0293 [cs.AI]. url: http://oeg-
lia3.dia.fi.upm.es/tke2012/proceedings.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 32
48. References
References V
C. Lange. “Towards OpenMath Content Dictionaries
as Linked Data”. In: 23rd OpenMath Workshop. Ed. by
M. Kohlhase and C. Lange. July 2010. arXiv:
1006.4057v1 [cs.DL]. url:
http://cicm2010.cnam.fr/om/.
C. Lange. “Enabling Collaboration on Semiformal
Mathematical Knowledge by Semantic Web
Integration”. PhD thesis. Jacobs University Bremen,
2011.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 33
49. References
References VI
T. Mossakowski, O. Kutz, and C. Lange. “Three
Semantics for the Core of the Distributed Ontology
Language”. In: Formal Ontology in Information
Systems. 7th International Conference (FOIS 2012).
(Graz, Austria, July 24–27, 2012). Ed. by M. Donnelly
and G. Guizzardi. Frontiers in Artificial Intelligence
and Applications 239. (The paper has won the best
paper award. Also published at IJCAI 2013 track on Best
Papers in Sister Conferences.) Amsterdam: IOS Press,
2012, pp. 337–352. url:
http://interop.cim3.net/file/pub/
OntoIOp/Publications/FOIS_2012/paper.pdf.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 34
50. References
References VII
D. Vrandečić, C. Lange, M. Hausenblas, J. Bao, and
L. Ding. “Semantics of Governmental Statistics Data”.
In: Proceedings of WebSci’10: Extending the Frontiers of
Society On-Line. Web Science Trust, 2010. url:
http://journal.webscience.org/400/.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 35