Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Big Data toRich 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
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
“Hello, World!”
2011 Ph.D. (Jacobs Univ. Bremen, with MichaelKohlhase): Enabling Collaboration onSemiformal Mathematical Knowledge bySemantic Web Integration [Lan11]
2011–12 Postdoc (Univ. Bremen, with John Bateman,Till Mossakowski): Ontology Integration andInteroperability (OntoIOp)↝ DistributedOntology Language (DOL) OMG standard [13]
2012–13 Postdoc (Univ. Birmingham, with ManfredKerber, Colin Rowat): Formal MathematicalReasoning in Economics (ForMaRE) [KLR]
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 2
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Big Data toRich Process Descriptions
Linked data is one key to coping with big data.Big data are created or consumedby technical/business processes.Formal process descriptions aremore 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
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linked Data as a Key to Big Data
Linked (Open) Data enables . . .decentralised, collaborativemanagement of bigdatasets,low-overhead information retrieval, andscalable reasoning.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 4
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 HadronCollider
Trade High-frequency trading (HFT) accounts for50% of US equity trading.
Web 100 hours of video uploaded to YouTubeevery minute
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 5
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Big Data Result from Processes
Science sensor measurements determined byexperimental setupexperiments inform hypotheses
Trade trading strategies influenced bydemand 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
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Formal Process DescriptionsWhy describe processes formally?
to check their compliancewith quality standardsto verify the software that controls them
Science workflows modelled using:logic programming, computational tree logic,linear temporal logic.
Trade Knight Capital HFT software repeatedly soldshares below purchase price, lost $440million within 1 hour – could formalverification have helped?
Web social networks modelled usingepistemic modal logic, probabilistic soft logic
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 7
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Linking Process Descriptions and Data
Knowledge Mgmt. Under what experimental setupwere these measurements taken?
Reasoning Given the current variance ofmeasurements, would it help to use asensor with different specifications?Which trading strategy responds bestto the current offers?
Inform. Retrieval Which of my friends are actuallyinterested in my latest video upload?Where can I buy the cheapest parts tofeed into my manufacturing process?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 8
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Logic of Linked Open Data?
RDF data and RDFS vocabularies do not suffice formodelling 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., CSVinstead of Excel)☀☀☀☀ useURIs to denote things, so that peoplecan point at your stuff☀☀☀☀☀ link your data to other data to providecontext [12]
Who says it needs to be RDF?
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 9
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Logic of Linked Open Data?
RDF data and RDFS vocabularies do not suffice formodelling 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., CSVinstead of Excel)☀☀☀☀ useURIs to denote things, so that peoplecan point at your stuff☀☀☀☀☀ link your data to other data to providecontext [12]
Who says it needs to be RDF?Lange Linking Big Data to Rich Process Descriptions 2013-09-19 9
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 productrange specification at Renault [BSP11])
My approachsystematically base expressive logics beyond RDFand OWL on the URI foundation of LODthus enable large-scale data/knowledge integration
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 10
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
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
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 themathematical semantics explicit!unemp. rate = unemployed
population ⇒ link to “division”(→OpenMath Content Dictionaries) [Vra+10; Lan10]OpenMath CDs are LOD: decentrally extensibleFuture work: OpenMath SPARQL entailment regime
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 12
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
map
ping
s fo
rin
tero
pera
bilit
y
Hardware
Data
Models
Metamodels
For now we focuson the “content”/“knowledge”column
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 13
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device InteroperabilityAmbient Assisted Living ScenarioClara, a vegetarian, instructs her wheelchair to get her tothe kitchen (next door to the living room). For dinner,she would like to take a pizza from the freezer and bakeit in the oven. Afterwards she goes to bed.
Existing ontologies (e.g. OpenAAL) cover core of that:
. . . but not all required concepts (e.g. foodingredients⇒ need other ontologies/modules; tapinto the Web of (Product, Geo) Data). . . not necessarily at the required level ofcomplexity (e.g. space/time⇒ need other logics)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device InteroperabilityAmbient Assisted Living ScenarioClara, a vegetarian, instructs herwheelchair to get herto the kitchen (next door to the living room). Fordinner, she would like to take a pizza from the freezerand 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. foodingredients⇒ need other ontologies/modules; tapinto the Web of (Product, Geo) Data). . . not necessarily at the required level ofcomplexity (e.g. space/time⇒ need other logics)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device InteroperabilityAmbient Assisted Living ScenarioClara, a vegetarian, instructs herwheelchair to get herto the kitchen (next door to the living room). Fordinner, she would like to take a pizza from the freezerand 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. foodingredients⇒ need other ontologies/modules; tapinto the Web of (Product, Geo) Data)
. . . not necessarily at the required level ofcomplexity (e.g. space/time⇒ need other logics)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Towards Device InteroperabilityAmbient Assisted Living ScenarioClara, a vegetarian, instructs herwheelchair to get herto the kitchen (next door to the living room). Fordinner, she would like to take a pizza from the freezerand 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. foodingredients⇒ need other ontologies/modules; tapinto the Web of (Product, Geo) Data). . . not necessarily at the required level ofcomplexity (e.g. space/time⇒ need other logics)
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 14
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
What do Devices Need to Know?
Some of the devices involved:kitchen light switchfreezer (aware of its contents)wheelchair (with navigation)
Services and Devices need to understand differentaspects of the world at different levels of complexity.
Quote from the “Hitchhiker”“Suddenly [the door] slid open.‘Thank you,’ it said, ‘for making asimple door very happy.’”
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 15
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 inand it’s dark outside”
Freezer “all toppings of a vegetarian pizza arevegetarian”
Wheelchair “two areas are either the same, or intersect,or border, or separate, or one is part of theother”
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 16
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Different Devices = Different LogicsLight Switch: propositional logic “switched on if andonly if someone is in and it’s dark outside”light_on ≡ person_in_room ∧ dark_outsideFreezer: description logic (Pizza ontology) “alltoppings of a vegetarian pizza are vegetarian”VegetarianPizza ≡ Pizza ⊓ ∀hasTopping.VegetarianWheelchair: first order logic (RCC-style spatialcalculus) “two areas are either the same, or intersect, orborder, 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
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
The OntoIOp Initiative
OntoIOp (Ontology Integration andInteroperability) initiative started in 2011 with ISO
now continued with OMGRequest for Proposals to be issued this autumnproposals due Dec. 2014
50 experts participate, ∼ 15 have contributedRelevant communities represented:
different ontology languages and logicsconceptual and theoretical foundationstechnical foundationsapplications: manufacturing, business rules,model-driven software engineering
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 18
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Distributed Ontology Language (DOL)“distributed” means . . .
logically heterogeneousmodularinterlinked: interpretations, equivalences, alignmentsdecentrally maintained (using URIs)
DOL: a logic-agnostic meta-language forontologies, modeling and specification [MKL12;Lan+12]
supports ontologies in several relevant languagesframework can be decentrally extended with newlanguages, logics, serializations, translations
Tool support:Hets: syntax check, theorem proving, model findingOntohub: web-based repository engine
http://ontoiop.orgLange Linking Big Data to Rich Process Descriptions 2013-09-19 19
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
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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/DLontology OpenAALAdapted =openaal: %(import_of_openaal)% with openaal:AP ↦ AssistedPerson
then %(some_extensions)% syntax ser:OWL2/Manchester {Class: LightSwitch SubClassOf: openaal:DeviceClass: Freezer SubClassOf: openaal:Device %(freezer_sub_device)%
Class: RoomWith1PersonEquivalentTo: openaal:Room that inverse openaal:is-in-room min 1 AssistedPerson
Class: RoomWithAllLightsOnEquivalentTo: 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 translationtrans:PropositionalToSROIQperson_in_room ↦ RoomWith1Person,light_on ↦ RoomWithAllLightsOn
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 21
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
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:RDFtoSROIQand productdb:
then language lang:RDF syntax ser:RDF/Turtle : {productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .
} with translation trans:RDFtoOWL2DLthen { pizza:then syntax ser:OWL2/Manchester : {Individual: productdb:4001724819806Types: pizza:hasTopping exactly 2 }
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 22
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Importance of AuctionsAuctions: a mechanism to distribute resourcesApplications eBay, mobile spectrum, internet domainsSignificance $268.5 billion in 2008 in the US
Given a set of bids on goods (proxying valuations)Goals give goods to those valuing themmost
determine pricesmaximise revenueattract participantsincentive compatibility(no need for tactic over-/underbidding)
Auctions are designed; properties are tested andproved.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 23
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
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
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Combinatorial Vickrey AuctionBids on any subset of the set of available goods X .Winning allocation:
X∗ ∈ argmaxX1 ,...,XN
N
∑n=1bn (Xn) s.t.
N
⋃n=1Xn ⊆ X0, n ≠ n′ iff Xn∩Xn′ = ∅
Prices: pn ≡ αn −∑m≠n bm (X∗m)whereαn ≡ max
Xmm=1,...,N,m≠n
{∑m≠nbm (Xm) ⋁︀⋃m≠nXm ⊆ X0(︀
Bidder n pays the maximum sum of bids if the auctionhad been run without n (= αn), minus the winning bidson the items n did not get [AM06; Cam+13].
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 26
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Generating Verified Software: Comb.Vickrey Auction [Cam+13]
paper-likeformalisation
X ∗ ∈ argmax∑ . . .
{R ⊆P(N)×N ∣∃P ∈ parts(G).Dom(R) ⊆ P∧ . . .}
{P ∣ ⋃P = A∧∀x ∈ P. . . .}
depends on
depends on
executableformalisation
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
papers
ource(
auctiondesig
ner)
veri�e
dcode
(auctio
nso�w
are)
humanformali-sation
codegene-ration
http://formare.github.io/auctions/Lange Linking Big Data to Rich Process Descriptions 2013-09-19 27
Introduction Motivation Math. Semantics Ontology Integration & Interoperability Software Verification Conclusion
Conclusion
Formal descriptions help to understand, verify andimprove processes in general.Process executions create or consume data.Integrating process descriptions and data improves
knowledge managementreasoninginformation retrieval
A wider view on linked data (beyond RDF) helps tointegrate . . .
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
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 LonelyVickrey Auction”. In: Combinatorial auctions. Ed. byP. 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
References
References IIF. Badra, F.-P. Servant, and A. Passant. “A SemanticWeb Representation of a Product RangeSpecification based on Constraint SatisfactionProblem in the Automotive Industry”. In: Proceedingsof the 1st Workshop on Ontology and Semantic Web forManufacturing, Extended Semantic Web Conference.(Hersonissos, Crete, Greece, May 29, 2011). Ed. byA. 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 auctionsand generating verified executable code. 2013. arXiv:1308.1779 [cs.GT].
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 30
References
References III
P. Cramton, Y. Shoham, and R. Steinberg, eds.Combinatorial auctions. MIT Press, 2006.
M. Kerber, C. Lange, and C. Rowat. ForMaRE. FormalMathematical 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
References
References IV
C. Lange, T. Mossakowski, O. Kutz, C. Galinski,M. Grüninger, and D. Couto Vale. “The DistributedOntology Language (DOL): Use Cases, Syntax, andExtensibility”. In: Terminology and KnowledgeEngineering Conference (TKE). (Madrid, Spain,June 20–21, 2012). Ed. by G. Aguado de Cea,M. C. Suárez-Figueroa, R. García-Castro, andE. 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
References
References V
C. Lange. “Towards OpenMath Content Dictionariesas Linked Data”. In: 23rd OpenMathWorkshop. Ed. byM. Kohlhase and C. Lange. July 2010. arXiv:1006.4057v1 [cs.DL]. url:http://cicm2010.cnam.fr/om/.
C. Lange. “Enabling Collaboration on SemiformalMathematical Knowledge by Semantic WebIntegration”. PhD thesis. Jacobs University Bremen,2011.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 33
References
References VI
T. Mossakowski, O. Kutz, and C. Lange. “ThreeSemantics for the Core of the Distributed OntologyLanguage”. In: Formal Ontology in InformationSystems. 7th International Conference (FOIS 2012).(Graz, Austria, July 24–27, 2012). Ed. by M. Donnellyand G. Guizzardi. Frontiers in Artificial Intelligenceand Applications 239. (The paper has won the bestpaper award. Also published at IJCAI 2013 track on BestPapers 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
References
References VII
D. Vrandečić, C. Lange, M. Hausenblas, J. Bao, andL. Ding. “Semantics of Governmental Statistics Data”.In: Proceedings of WebSci’10: Extending the Frontiers ofSociety On-Line. Web Science Trust, 2010. url:http://journal.webscience.org/400/.
Lange Linking Big Data to Rich Process Descriptions 2013-09-19 35