Data and Knowledge Evolution Giorgos Flouris fgeo@ics.forth.gr Open Data Tutorials, May 2013 Giorgos Flouris Slides available at: http://www.ics.forth.gr/~fgeo/Publications/WOD13.ppt Open Data Tutorials, May 2013 1 World Wide Web WWW (and HTML) focus on human readability Page presentation (fonts, colors, images, …) Human understanding Presentation Semantical content Content is not formally described (for a machine to understand) WWW contains documents, not data Giorgos Flouris Open Data Tutorials, May 2013 2 Problems with the Current Web Search and access becomes difficult Software ignorant of the semantical content of a web page Keyword search High recall, low precision Terminological issues Synonyms (heart disease = cardiac disease) Hyponyms/hypernyms (parliament members are politicians) Queries on the semantical content cannot be made Fetch articles that support B. Obama’s foreign policy Fetch the home pages of all members of the Greek Parliament Giorgos Flouris Open Data Tutorials, May 2013 3 Semantic Web The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation [BLHL01] The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries http://www.w3.org/2001/sw/ [Semantic Web] is a collaborative effort led by W3C with participation from a large number of researchers and industrial partners http://www.w3.org/2001/sw/ Giorgos Flouris Open Data Tutorials, May 2013 4 Semantic Web in Practice Web of data, rather than documents HTML for presentation Semantical languages for semantical content Readable and understandable by humans and machines Semantic Web languages, protocols, etc Web page annotation (metadata descriptions etc) Publication of data on the Internet Efficient communication and manipulation of data over the Internet Different applications Efficient searching Sharing of data (e-science, e-government, remote learning, …) Linked Open Data (more on that later) Giorgos Flouris Open Data Tutorials, May 2013 5 Ontologies and Data (Datasets) An ontology is an explicit specification of a shared conceptualization of a domain [Gru93] Precise, logical account of the intended meaning of terms Common (shared) interpretation of terms Formal vocabulary for information exchange (humans/machines) Ontologies (vocabularies) allow the description of data Terminology: Ontology = vocabulary = schema Data = instances Dataset = data and the related ontology (i.e., a dataset may contain schema and/or data) Giorgos Flouris Open Data Tutorials, May 2013 6 Dataset Dynamics Datasets change constantly World changes (dynamic models) View on the world changes (new knowledge, measurements, etc) Perspective and usage changes Example: Gene Ontology (information about gene products): daily versions DBPedia: 1,4 updates/second (http://live.dbpedia.org/LiveStats/) [MLA+12] Need methodologies to cope with the problems related to dynamicity Evolution (modify a dataset in response to a change) Versioning (keep track of versions and their relations) Debugging, cleaning, repairing, quality (maintain consistency and quality in a dynamic environment) Change monitoring, detection and propagation (identify changes and use them to synchronize remote datasets) … Giorgos Flouris Open Data Tutorials, May 2013 7 Linked (Open) Data Datasets can be interlinked Sharing knowledge Reusing knowledge Modular development Reuse of schemas Linked Open Data (LOD) movement Constantly growing 31 billion triples and 295 datasets as of September 2011 Giorgos Flouris Open Data Tutorials, May 2013 8 Linked Open Data Cloud Diagram Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/ Giorgos Flouris Open Data Tutorials, May 2013 9 Linked Open Data Challenges Both a blessing and a curse Added-value benefits Discovery of unknown correlations, connections, relationships Vast amount of interrelated knowledge No central control, everyone can publish and relate to others Quality of datasets lies/depends on different providers A change in one dataset affects all related ones Several new problems related to dynamics Propagation of changes among interrelated datasets Maintaining the quality of local datasets Co-evolution Giorgos Flouris Open Data Tutorials, May 2013 10 Scope: Dynamic Linked Datasets You are here Dynamic Datasets Giorgos Flouris Linked Datasets Open Data Tutorials, May 2013 11 Purpose of This Talk To survey different research areas related to dynamic LOD Remote Change Management Repair Data and Knowledge Evolution Categorize and classify works in each field Broad but shallow description Several references for more in-depth study No claims of completeness (references are just indicative) Two relevant surveys: [FMK+08, ZAA+13] Emphasis on some related work done in FORTH Will avoid technical discussion References will be given for further details Giorgos Flouris Open Data Tutorials, May 2013 12 Defining Remote Change Management Managing the effects of remote changes on interlinked datasets Remote changes have profound effects on local datasets Good practices are important —Proper versioning, change logging, adaptation to remote changes, … Attention exploded after the success of the LOD paradigm Related research questions How should I version my data? How can I efficiently monitor changes in my dataset? How can I detect changes in remote datasets? How does the evolution of remote datasets affect my data? How can I efficiently propagate changes from one dataset to another? Giorgos Flouris Open Data Tutorials, May 2013 13 Remote Change Management: Visualization RD1 Versioning, Change Monitoring Remote Site RD0 Change Detection LD1 Change Propagation Giorgos Flouris Open Data Tutorials, May 2013 Local Site LD0 14 Remote Change Management: Structure Three subfields Versioning Change monitoring and detection Change propagation Structure Introduction, definition of subfields Literature review An approach for change detection [PFF+13] Giorgos Flouris Open Data Tutorials, May 2013 15 Defining Repair Assessing and improving the quality and the semantical or structural integrity of the data Maintaining consistency, coherency, validity Restoring consistency, coherency, validity, when violated Assessing and improving quality Preserve quality/integrity in the face of remote changes Related research questions How can I preserve the integrity and quality of my data in a dynamic and interlinked environment? How can I guarantee consistency and validity? How can I restore consistency and validity, if violated? Giorgos Flouris Open Data Tutorials, May 2013 16 Repair: Visualization D0 D1 Repair Process (Cleaning, Debugging, Repairing, Quality Enhancement) Assessment Module (Diagnosis, Quality Assessment) Giorgos Flouris Open Data Tutorials, May 2013 17 Repair: Structure Four subfields Cleaning Debugging Validity repair Quality enhancement Structure Introduction, definition of subfields Literature review An approach for validity repair [RFC11] Giorgos Flouris Open Data Tutorials, May 2013 18 Defining Evolution Modifying a dataset in response to a change in the domain or its conceptualization Identify the result of applying new information on the dataset Determine the result of change propagation from remote datasets Understand the process of change Related research questions What is the semantics of evolution and change? How can I efficiently compute the ideal evolution result? Giorgos Flouris Open Data Tutorials, May 2013 19 Evolution: Visualization Real World D0 Dataset Giorgos Flouris Evolution Algorithm D1 Delete_Class(…) Pull_Up_Class(…) Rename_Class(…) … Open Data Tutorials, May 2013 20 Evolution: Summary Evolution topics Understanding the evolution challenges Understanding the process of change —Balancing between philosophical and practical considerations Cross-fertilization with belief change Structure Introduction, connection with belief change Understanding the process of change Literature review Giorgos Flouris Open Data Tutorials, May 2013 21 General Structure of this Talk A. Introduction to RDF/S, DLs, OWL B. Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C. Repair Part I (2 hours) 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D. Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Part II (1 hour) The final few slides contain citations for the references in this talk Giorgos Flouris Open Data Tutorials, May 2013 22 Talk Structure (A) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 23 Datasets Basic structures Classes (or concepts): collections of objects (e.g., Actor, Politician) Properties (or roles): binary relationships between objects (e.g., started_on, member_of) Instances (or individuals): objects (e.g., Giorgos, B. Obama) Relations between them Subsumption (Parliament_Member subclass of Politician), instantiation (B. Obama instance of Politician), … The allowed relations and their semantics depend on the language Different representation languages for LOD RDF/S, OWL Giorgos Flouris Open Data Tutorials, May 2013 24 Visualization, Triples, Serialization Visualization Triple Representation Period Actor Event participants Existing started_on Stuff Onset Birth Define classes [Period type Class] Define properties [participants type Property] [participants domain Onset] [participants range Actor] Instantiate/define individuals [G_Birth type Birth] [Giorgos type Actor] [G_Birth participants Giorgos] Define hierarchies [Event subClass Period] participants Giorgos G_Birth Serialization (RDF/XML) <rdfs:Class rdf:ID=“Period”> </rdfs:Class> <rdf:Property rdf:ID=“participants”> <rdfs:domain rdf:resource=“Onset”/> <rdfs:range rdf:resource=“Actor”/> </rdf:Property> <G_Birth rdf:about Birth> <participants> <Giorgos rdf:about Actor/> </participants> </G_Birth> <rdfs:Class rdf:ID=“Event”> <rdfs:subClassOf rdf:resource=“Period”/> </rdfs:Class> instantiation subsumption Giorgos Flouris Open Data Tutorials, May 2013 25 RDF and RDFS An RDF dataset consists of triples RDFS adds semantics Subsumption hierarchies (classes and properties) —Transitive Instantiation —Inheritance, implicit instantiation Sometimes more than subsumption/instantiation is needed Combining concepts, roles to form more complex relations —Concept definitions: a mother is a female who has a child —Other knowledge: all items stored in warehouse X are flammable Constraints on data —Each person must have one mother Giorgos Flouris Open Data Tutorials, May 2013 26 Extensions of RDF/S: DLs (1/2) Description Logics (DLs) http://dl.kr.org/ Formal underpinning of web representation languages Family of logical formalisms —Well-defined semantics —Model-theoretic reasoning based on interpretations Formally studied —Expressiveness, reasoning tools, computational complexity, … Components Individuals: specific objects (instances) – Giorgos Concepts: sets of individuals (classes) – Parent Roles: sets of pairs of individuals (properties) – has_child Operators: , ⊓, , {.}, ⊤, … Connectives: ⊑, ≡, … Giorgos Flouris Open Data Tutorials, May 2013 27 Extensions of RDF/S: DLs (2/2) Definitions, partial definitions, constraints, subsumptions, … A mother is a female who has a child —Mother ≡ has_child ⊓ Female Each person must have one mother —Person ⊑ has_child-1.Mother A great variety of DLs (trade-off involved) Different properties Different expressive power Different reasoning complexity Giorgos Flouris Open Data Tutorials, May 2013 28 Extensions of RDF/S: OWL OWL (Web Ontology Language) http://www.w3.org/2004/OWL/ General-purpose representation language Compatible with the architecture of the Semantic Web A family of languages Flavors: OWL-Lite, OWL-DL, OWL Full Profiles: OWL 2 EL, OWL 2 QL, OWL 2 RL Different expressiveness (and complexity) Each corresponds to a specific DL Useful from a modeling perspective Expressive but not too complex Appealing computationally Giorgos Flouris Open Data Tutorials, May 2013 29 Representation Languages in LOD Mostly RDF With RDFS semantics —Instantiations —Class subsumption —Property subsumption is rare Some OWL Mostly OWL Lite Extensive use of owl:sameAs —Often abusing it [HHM+10] OWL 2 profiles are gaining ground Giorgos Flouris Open Data Tutorials, May 2013 30 Talk Structure (B1) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 31 Motivation for Remote Change Management Crucial problem for dynamic linked datasets Linking: datasets linked to other datasets (e.g., vocabularies) Dynamics: changes cause problems to linked datasets No central curation or control —No control over (or knowledge of) other datasets’ evolution process Curators don’t bother annotating and logging changes —Temporal and versioning information is usually missing [RPH+12] Remote change management seeks solutions to allow: DR Keeping track of versions Restoring previous versions uses Assessing compatibility of versions Monitoring and detecting changes Tracing back the evolution history (of datasets, concepts, …) DL —For visualization and understanding Propagating changes to synchronize linked datasets Giorgos Flouris Open Data Tutorials, May 2013 32 Subfields of Remote Change Management Remote Change Management Versioning —Keep track of versions Change monitoring and detection —Monitoring: record changes as they happen —Detection: identify changes after they happen Change propagation —Propagate changes across linked datasets for synchronization purposes Giorgos Flouris Open Data Tutorials, May 2013 33 Versioning Versioning Keep track of versions Identify different versions of a dataset Enable transparent access to the “correct” version (smooth interoperation) Issues involved Identification —Determine which versions to store and how to identify them —Manually or automatically (syntactical, semantical considerations) —Packaging of changes Relation between versions —A sequence or a tree Compatibility information —Backwards/forwards compatibility and how to determine it (often manually) —Dataset-wide compatibility or fine-grained compatibility (e.g., at resource level) —Metadata on the different versions Transparent access —Relate versions with (compatible) data sources, applications etc Giorgos Flouris Open Data Tutorials, May 2013 34 Change Monitoring and Detection Change monitoring Record changes as they happen —Manual (error-prone and often incorrect) —Automatic (not used in practice) In the good will of the dataset owner Sometimes change logs are inaccessible Change detection DR uses Identify changes after they happen Based on the previous and current versions DL In both cases, a change language is required Supported set of changes, along with their semantics Can be low-level or high-level Giorgos Flouris Open Data Tutorials, May 2013 35 Change Propagation Change propagation Communicate changes to linked datasets for synchronization Push-based or pull-based propagation Push-based: locally-initiated, via “registration” or via monitoring and versioning Pull-based: consumer-initiated Communication based on deltas (rather than versions) Reduce communication overhead Reduce storage requirements On average, 2-3% of a dataset changes between versions [OK02] Deltas are based on a language of changes Giorgos Flouris Open Data Tutorials, May 2013 36 Talk Structure (B2) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 37 Versioning Approaches (1/3) Capture different aspects of versioning, such as: Detecting versions Storing versions efficiently Allow cross-snapshot queries —Find gene products whose functions have not changed in the last 50 versions —Determine price fluctuation for x along different versions of the product catalog Early versioning approaches inspired by SVN Good for files, not directly adaptable to semantical languages SHOE language [HH00] Machine-readable version information (e.g., compatibility) Provided by curator as SHOE statements Memento [SSN+10] Fine-grained versioning at URI level (resources, web pages) Machine-readable version information, in the HTTP header —Timestamps, traversal information (prior/current versions) etc Giorgos Flouris Open Data Tutorials, May 2013 38 Versioning Approaches (2/3) Theoretical foundations for versioning [HP04] Formal definitions to capture notions such as: —Compatibility (between versions) —Commitment (resources committing to a certain ontology) —Ontology perspectives (the part of the web committing to an ontology) Temporal approaches [HS05, PTC05, KLGE07] For capturing temporal relations between versions For allowing cross-snapshot queries Versioning in multi-editor environments [RSDT08] Via change monitoring Giorgos Flouris Open Data Tutorials, May 2013 39 Versioning Approaches (3/3) Automatically detecting version relationships [AAM09] Using heuristics based on URIs Study of “relatedness” between versions [CQ13] A model of “relatedness” between vocabularies from various sources Similar to links in web pages POI: Partial Order Index [TTA08] Efficient method for storing versions and their differences Stores several versions, exploiting their common triples for efficient storage Giorgos Flouris Open Data Tutorials, May 2013 40 Change Languages (1/2) Change languages necessary for monitoring, detection, propagation Granularity Low-level (or atomic, or elementary) —Simple add/remove operations —Add(s,p,o), Delete(s,p,o) —Simple to detect and define —Focus on machine-readability: determinism, well-defined semantics High-level (or complex, or composite) —More coarse-grained, compact, closer to editor’s perception and intuition —Generalize_Domain(P,A), Delete_Class(A) —More interesting; harder to detect and define —Focus on human-understandability: often unclear and/or informal semantics Giorgos Flouris Open Data Tutorials, May 2013 41 Change Languages (2/2) Many different high-level languages (no standard) [HGR12, JAP09, PFF+13, SK03, AH06, DA09, PTC07, …] Some are domain-specific (e.g., [HGR12]) Some are dynamic (e.g,, [AH06, DA09, PTC07]) —Allow custom, user-defined changes Some allow terminological changes (e.g., [PFF+13]) —Rename, merge, split —Common, but tough to detect (easily confused with add/delete) Giorgos Flouris Open Data Tutorials, May 2013 42 Representation Issues Deltas are just sets of changes from the change language Changes usually represented using a change ontology Ontology represents changes A specific change is an instance of such an ontology Deltas associated with sets of such instances Different proposals [NCLM06, KFKO02, KN03, PT05] Allows the manipulation and communication of deltas/changes using standard Semantic Web technologies Giorgos Flouris Open Data Tutorials, May 2013 43 Change Monitoring Approaches Using a version log [PT05] Logging actions on the dataset Use it for change detection, as well as proper versioning Good quality, high-level change monitoring Based on a dynamic language of changes Using migration specifications [ZZL+03] Similar to logs, but with a more formal structure DBPedia change monitoring [MLA+12] http://live.dbpedia.org/ Live versions, as opposed to “standard” versions Giorgos Flouris Open Data Tutorials, May 2013 44 Low-Level Change Detection (1/2) SemVersion [VWS+05] Developed in Karlsruhe (FZI, AIFB) Low-level change detection tool for RDF Provides also versioning functionalities Allows cross-snapshot queries For RDF [ILK12] Low-level change detection based on set difference Aggregating and compressing deltas Also dealing with versioning issues For RDF/S [ZTC11] Takes into account semantics (RDFS inference) Four different methods to compute deltas (all based on set difference) Formal analysis of these methods’ properties and semantics Extension: effect of blank nodes on change detection [TLZ12] Giorgos Flouris Open Data Tutorials, May 2013 45 Low-Level Change Detection (2/2) Bubastis (http://www.ebi.ac.uk/fgpt/sw/bubastis/index.html) Simple diff tool (triple-based comparison) Basically RDF, but also supports OWL For DL-Lite [KWZ08] Formal, semantical approach For EL [KWW08] Uses a concept-based description of changes For propositional knowledge bases [FMV10] Propositional, but generic; it can be applied to DLs Formal analysis of the problem Also dealing with propagation semantics Giorgos Flouris Open Data Tutorials, May 2013 46 High-Level Change Detection (1/2) For OWL: PromptDiff [NKKM04], OntoView [KFKO02] Employ heuristics and probabilistic methods Evaluation using precision/recall metrics against a gold standard Integrated into tools that also provide versioning functionalities For RDF/S [PFF+13] Dealing with both machine-readability and humanunderstandability Also dealing with propagation (applying changes) To be discussed in detail later COnto-Diff [HGR12] Rule-based approach Also dealing with propagation Giorgos Flouris Open Data Tutorials, May 2013 47 Change Propagation Approaches Usually part of other tools [SMMS02, MMS+03] Versioning, monitoring tools (push-based propagation) Detection tools (pull-based propagation) Evolution and repair tools (pull-based propagation) —Adapt your data to be “compatible” with the new remote version SparqlPush [PM10] Push-based propagation of changes on SPARQL “views” PRISM, PRISM++ [CMZ08, CMDZ10] High-level language of schema changes for relational data —Also supports changes on the integrity constraints Identifies and propagates the changes required in the data for abiding to the new schema Query and update rewriting —For applications that try to access the old schema Giorgos Flouris Open Data Tutorials, May 2013 48 Other Change Management Approaches Complete approach for XML [SP10] Representing changes inline with the data using a graph (“evograph”) Supports different change representation languages (both lowlevel and high-level) Timestamps changes Monitoring: evograph can be used to log the changes Propagation: changes can be accessed and propagated Versioning: timestamps in changes can be used to generate snapshots (versions) at different times Allows cross-snapshot queries Fairly generic, can be adapted for RDF Giorgos Flouris Open Data Tutorials, May 2013 49 Talk Structure (B3) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 50 Our Approach on Change Detection Purpose of this work: change detection [PFF+13] A posteriori detect the differences (delta or diff) between versions in a concise, intuitive and correct way Main design choices Change detection based on a general-purpose high-level language Human-understandable, but also machine-readable Clear, formal semantics Provable formal properties and functionality guarantees Detection and application (propagation) semantics V1 Giorgos Flouris C1 V2 C2 V3 C3 Open Data Tutorials, May 2013 V4 C4 V5 51 Sample Evolution Version 1 (V1) Version 2 (V2) Period Actor Actor Event Event Persistent participants Existing participants started_on Onset started_on Onset Birth Evolution Stuff Stuff Birth participants Giorgos G_Birth participants Giorgos G_Birth instantiation subsumption instantiation subsumption Giorgos Flouris Open Data Tutorials, May 2013 52 Analyzing the Evolution (Using Triples) Triples in V1 (partial list) Triples in V2 (partial list) [Event type Class] [Period type Class] [Event subclass Period] [participants type Property] [participants domain Onset] [participants range Actor] [Giorgos type Actor] [Existing type Class] [Stuff subclass Existing] [started_on domain Existing] [Onset subclass Event] [Birth subclass Onset] … Giorgos Flouris [Event type Class] [participants type Property] [Event domain participants] [participants range Actor] [Giorgos type Actor] [Persistent type Class] [Stuff subclass Persistent] [started_on domain Persistent] [Onset subclass Event] [Birth subclass Event] … Open Data Tutorials, May 2013 53 Low-Level Delta Triples in V2 but not in V1 Triples in V1 but not in V2 (added triples) (deleted triples) [Event domain participants] [Persistent type Class] [Stuff subclass Persistent] [started_on domain Persistent] [Birth subclass Event] Version 1 (V1) [Period type Class] [Event subclass Period] [participants domain Onset] [Existing type Class] [Stuff subclass Existing] [started_on domain Existing] [Birth subclass Onset] Version 2 (V2) Period Actor Actor Event Event Persistent participants Existing participants started_on Onset started_on Onset Birth Evolution Stuff Stuff Birth participants Giorgos participants Giorgos G_Birth instantiation subsumption Giorgos Flouris instantiation subsumption G_Birth Low-Level Delta Add([Event domain participants]) Add([Persistent type Class]) … Del([Period type Class]) … Open Data Tutorials, May 2013 54 Analyzing the Evolution (Visually) Version 1 (V1) Version 2 (V2) Period participants Actor Actor Event Persistent Event started_on Birth Onset participants Existing started_on Onset Evolution Stuff participants Stuff Birth participants Giorgos G_Birth instantiation subsumption Giorgos Flouris Giorgos G_Birth High-Level Delta Generalize_Domain(participants, Onset, Event) Pull_Up_Class(Birth, Onset, Event) Delete_Class(Period, Ø, {Event}, Ø, Ø, Ø, Ø) Rename_Class(Existing, Persistent) Open Data Tutorials, May 2013 55 Comparing the Deltas Version 1 (V1) Version 2 (V2) Period participants Actor Actor Event Persistent Event started_on Onset Birth participants Existing started_on Onset Evolution Stuff participants Stuff Giorgos Birth participants Giorgos G_Birth instantiation subsumption Giorgos Flouris Low-level delta Del([participants Del([Period Del([Birth subclass type domain Class]) Onset]) Onset]) Add([participants Del([Event Add([Birth subclass subclass domain Period]) Event]) Event]) Open Data Tutorials, May 2013 G_Birth High-level delta Generalize_Domain Delete_Class Pull_Up_Class (Period,Ø,{Event},Ø,Ø,Ø,Ø) (participants, (Birth, Onset, Onset, Event) Event) 56 Associations (Partitioning) Low-Level Changes Associated High-Level Changes Del([participants domain Onset]) Generalize_Domain (participants, Onset, Event) Add([participants domain Event]) Del([Birth subclass Onset]) Pull_Up_Class(Birth, Onset, Event) Add([Birth subclass Event]) Del([Period type Class]) Delete_Class (Period, Ø, {Event}, Ø, Ø, Ø, Ø) Del([Event subclass Period]) Del([Existing type Class]) Del([Stuff subclass Existing]) Del([started_on domain Existing]) Add([Persistent type Class]) Rename_Class(Existing, Persistent) Add([Stuff subclass Persistent]) Add([started_on domain Persistent]) Giorgos Flouris Open Data Tutorials, May 2013 57 Challenges for High-Level Languages High-level deltas are superior More concise (e.g., Rename_Class) More intuitive (e.g., Pull_Up_Class) Carry additional information (e.g., Generalize_Domain) Challenges for high-level languages Must be deterministic (exactly one high-level delta) Must be fine-grained enough to capture subtle changes Must be coarse-grained enough to be concise Must be intuitive and close to editor’s perception of the changes Compatible detection and application algorithms Intuitive results Efficient Giorgos Flouris Open Data Tutorials, May 2013 58 Proposed Language L The formal definition of a change consists of: Changes required in the low-level delta (added/deleted triples) Conditions that should hold in V1 and/or V2 Generalize_Domain(P, X, Y) Del([P domain X]) Add([P domain Y]) P existing property in both V1, V2 X, Y existing classes in both V1, V2 X subclass of Y in both V1, V2 Generalize_Domain(participants, Onset, Event): detectable Similarly for the other changes in L (132 high-level ones) Giorgos Flouris Open Data Tutorials, May 2013 59 Types and Number of Defined Changes Changes (134) Low-Level (2) High-Level (132) Add Del Giorgos Flouris Basic (54) Composite (51) Heuristic (27) Delete_Subclass Delete_Domain Pull_Up_Class Change_Domain Rename_Class Split_Class Open Data Tutorials, May 2013 60 Results on L: Granularity Granularity problem: solved by defining levels of changes Basic Changes: fine-grained, roughly correspond to low-level Composite Changes: coarse-grained, group several basic changes together Heuristic Changes: based on heuristics, necessary for Rename, Merge, Split etc; require mappings between URIs Problems with determinism One evolution could correspond to different sets of basic/composite changes Priorities in detection Heuristic Composite Basic Giorgos Flouris Open Data Tutorials, May 2013 61 Results on L: Determinism Each low-level change is associated with exactly one detectable high-level change Full partitioning of low-level changes into high-level ones Each pair of versions (V1, V2) is associated with: Exactly one low-level delta Exactly one high-level delta Determinism is necessary More than one would lead to ambiguities Less than one would make some inputs (V1, V2) irresolvable Giorgos Flouris Open Data Tutorials, May 2013 62 Results on L: Propagation Version 1 (V1) Version 2 (V2) Period Actor Actor Event Event Detect C participants Existing participants started_on Onset Persistent started_on Onset Birth Apply C Stuff Apply C-1 Stuff Birth participants Giorgos G_Birth participants Giorgos G_Birth Giorgos Flouris Open Data Tutorials, May 2013 63 Results on L: Deltas Keep Version History Can reproduce all versions as long as you keep (any) one version and the deltas Deltas are more concise than the versions themselves Storage and communication efficiency V1 Giorgos Flouris C1 V2 C2 V3 C3 Open Data Tutorials, May 2013 V4 C4 V5 64 Change Detection: Evaluation Detection and application algorithms implemented for evaluation Performance Complexity: O(max{N1,N2,N2}) Performance depends on the detected changes (type, number) Bottleneck: calculating the low-level delta (>80% of total time) Intuitiveness Changes in our language are used in practice Results confirmed by literature/editor notes (CIDOC, GO) Better than CIDOC’s manually recorded changes (18 changes missed) Conciseness Basic ≈ Low-Level Basic + Composite + Heuristic << Low-Level Up to 80% reduction, depending on the case Giorgos Flouris Open Data Tutorials, May 2013 65 Summary and Conclusions: RCM Remote change management is at the heart of LOD Uncontrolled character of LOD makes it critical Various related fields Versioning, change monitoring and detection, change propagation Unfortunately, not used in practice in LOD Presented a formal approach for change detection [PFF+13] Other possible directions (related to LOD) Best practices should be studied and promoted —Automated versioning and monitoring mechanisms embedded in evolution tools/editors —Understand and use temporal and provenance metadata on versions Improved change monitoring and detection —A standard change language? Giorgos Flouris Open Data Tutorials, May 2013 66 Talk Structure (C1) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 67 Motivation for Repair Published data is usually problematic Several different types of problems in LOD [HHP+10] Pedantic web initiative (http://pedantic-web.org/) —Advice for data owners on how to prevent common problems in their data Giorgos Flouris Open Data Tutorials, May 2013 68 Causes of Data Problems Several reasons for data problems Erroneous data (faulty sensors, human mistakes etc) Different symbolisms and terminology Modeling errors (e.g., all birds fly) Requirements (constraints) on the data may change —E.g., when applications’ needs change Reuse data by different providers (no quality guarantees) Quality jeopardized by re-use and open evolution Integration/merging of datasets Giorgos Flouris Open Data Tutorials, May 2013 69 Generic Approaches Four ways to deal with problems in data [HHH+05] Prevent it (careful evolution, merging etc) —Can only prevent problems caused by changes in the local dataset Correct it (repair) —Actively address the problem (after it appears) Ignore it (consistent query answering, non-monotonic reasoning) —CQA: popular in database community; prevents user from noticing the problem by rewriting queries (common denominator approach) —NMR: popular in AI community; avoid trivialization of reasoning (paraconsistent reasoning, defeasible reasoning, default reasoning, …) Use versions (versioning) —Make sure you refer to the correct (compatible) version —Only when the problem is due to a remote change Giorgos Flouris Open Data Tutorials, May 2013 70 Subfields of Repair Cleaning Mainly related to literal quality Terminology, symbols, metric units etc Debugging Consistency (at least one model) Coherency (no unsatisfiable classes) Relevant for DL/OWL only Validity repair Satisfaction of custom integrity constraints (e.g., business rules) Expressed in OWL, DL, Datalog or predicate logic Quality enhancement Assessing and improving the quality of data Different dimensions (timeliness, completeness, reputation, …) Giorgos Flouris Open Data Tutorials, May 2013 71 Cleaning Literals in LOD are often messy, and have to be “cleaned up” Different formats for names, dates etc —&gf name “Giorgos Flouris” —&gf birth_date 03/05/76 —&gf birthplace “Hellas” &gf name “Flouris, Giorgos” &gf birth_date 05/03/76 &gf birthplace “Greece” —Paris land_area 105,4 —Paris population 2.234.105 Paris land_area 105.4 Paris population 2,234,105 —Paris land_area 105,4 —&x price 30 Paris land_area 40,7 &x price 39 —&x price 0 &x price “free” —LIP6 addr “4, P. Jussieu” LIP6 street “P. Jussieu” Different symbols Different metric units Inconsistent values Data is not in the desired form (data transformation) Giorgos Flouris Open Data Tutorials, May 2013 LIP6 streetno 4 72 Debugging Coherency No unsatisfiable classes Indicates good modeling hasHorns hasHorns Consistency At least one model Avoids reasoning triviality canFly Horse canFly Bird Relevant for DL/OWL only Unicorn Penguin Pengo Giorgos Flouris Open Data Tutorials, May 2013 73 Validity Repair Validity repair Satisfaction of custom integrity constraints (e.g., business rules) Encode context- or application-specific requirements —PROV-DM: http://www.w3.org/TR/2013/REC-prov-constraints-20130430/ Applications may be useless over invalid data Expressed in OWL, DL, Datalog, Datalog±, predicate logic, … Different expressive power Different semantics (OWA/CWA, UNA) [TSBM10, MHS09] Various types of constraints Functional, inverse functional, transitivity, cardinality constraints Disjointness constraints Primary key, foreign key, inclusion constraints Tuple-generating dependencies (tgd), equality-generating dependencies (egd) Giorgos Flouris Open Data Tutorials, May 2013 74 Quality Enhancement Quality is defined as “fitness for use” [Jur74] Multi-faceted (timeliness, completeness, reputation, …) Task-dependent Subjective Assessing quality Via assessment functions (e.g., [BC09]) or SPARQL queries (e.g., [FH10]) Some kind of combined scoring over the relevant dimensions Improving (enhancing) quality Usually manual Tries to improve the assessment score Giorgos Flouris Open Data Tutorials, May 2013 75 Talk Structure (C2) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 76 Cleaning Tool: OpenRefine Open source Originally developed by google (GoogleRefine) http://openrefine.org/ Applies on various representations of the input data CSV/TSV, Excel, JSON, XML, RDF as XML, etc RDF extension Functionalities (related to this talk) Data exploration and cleaning —Both automated and manual (interface assists in manual cleaning) Data transformation (format conversion) —Uses GREL (Google Refine Expression Language) and regular expressions Giorgos Flouris Open Data Tutorials, May 2013 77 Cleaning Tool: ODCleanStore Web application, written in Java Developed by Charles University (Prague) http://www.ksi.mff.cuni.cz/~knap/odcs/sections/odcs.html Functionalities (related to this talk) Cleaning —Via “transformers” (policies for cleaning) —Expressed using SPARQL or regular expressions Quality assessment —Transformer assigns a score to data Validity repair —Supports conflict resolution for functional properties —Decides what to drop based on the quality of the data items involved —Supports aggregation functionalities based on “aggregation policies” Giorgos Flouris Open Data Tutorials, May 2013 78 Other Cleaning Approaches Involve users in the loop [KHS12] Manual requests for improvements (cleaning, quality, …) Patch Request Ontology (PRO) Use a GWAP (Game With A Purpose) for identifying data problems Giorgos Flouris Open Data Tutorials, May 2013 79 Debugging: Literature Overview Identify and resolve inconsistency/incoherency Two phases Diagnosis: identify inconsistency/incoherency Repair: remove inconsistency/incoherency Literature mostly dealing with diagnosis Repair requires additional user input Diagnosis is more than reasoning Pinpoint the causes of inconsistency/incoherency Repair User input required (manual or semi-automatic approaches) Automatic approaches also require user input or domain knowledge (ad-hoc solutions) Giorgos Flouris Open Data Tutorials, May 2013 80 Debugging Approaches Diagnosis using tableau-based algorithms for various DLs Identify minimal sets of responsible axioms —[SC03, MLBP06, PT06, WHR+05] Identify responsible parts of axioms (more fine-grained) —[KPS+06, LPSV06] Repair Manual: editors and related tools —Onion [MWK00], PROMPT [NM00], Chimaera [MFRW00] Semi-automatic —Interactive approach via suggestions: ORE tool [LB10] Automatic: —Using external information, e.g., for stratified datasets [QP07, MLB05] Giorgos Flouris Open Data Tutorials, May 2013 81 Validity Repair: Literature Overview Identify and resolve invalidity (custom constraints) Two phases Diagnosis: identify invalidity Repair: remove invalidity Literature mostly dealing with diagnosis Repair requires additional user input Diagnosis is more than validation Pinpoint the causes of invalidity Repair User input required (manual or semi-automatic approaches) Automatic approaches also require user input or domain knowledge (ad-hoc solutions) Giorgos Flouris Open Data Tutorials, May 2013 82 Validity Repair Approaches Not much work in repairing custom constraints in LOD A large body of related work for the relational setting —For various constraint types and repair methodologies Existing tools Stardog (http://www.stardog.com/docs/) —Commercial RDF database that supports validation of custom constraints Rondo (relational/XML) [Mel04] —Repair based on a fixed “importance” of data items Declarative repairing based on preferences [RFC11] —To be discussed in detail later Repairing functional properties ([FRPV+12], Sieve [MMB12]) Giorgos Flouris Open Data Tutorials, May 2013 83 Data Quality Frameworks (1/4) Many different quality assessment methodologies and frameworks Several different quality dimensions Different works consider different dimensions Different proposals for their classification and organization There is no single, generally accepted data quality framework Cannot be one Different applications have different needs Giorgos Flouris Open Data Tutorials, May 2013 84 Data Quality Frameworks (2/4) Quality dimensions, quality indicators, scoring functions and assessment metrics [BC09] Different quality dimensions —Timeliness, completeness, reputation, … Each dimension associated with different indicators —Timeliness: last modification date, creation date, … Each indicator associated with different scoring functions —E.g., days since last update Scoring functions from relevant indicators are combined using assessment metrics —E.g., Reputation_value*0,6 + days_since_update*0,4 Giorgos Flouris Open Data Tutorials, May 2013 85 Data Quality Frameworks (3/4) [RH09] Giorgos Flouris Open Data Tutorials, May 2013 86 Data Quality Frameworks (4/4) [ADA98] Giorgos Flouris Open Data Tutorials, May 2013 87 Talk Structure (C3) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 88 Our Approach on Validity Repair Declarative approach for validity repair [RFC11] Main design choices Both diagnosis and repair Applicable for RDF/S Adopted relational semantics (CWA) for the constraints Generality on the supported constraints (DEDs) Minimal user interaction (all info provided at input) Automatic diagnosis Automatic repair using preferences (provided by the user at input) Giorgos Flouris Open Data Tutorials, May 2013 89 RDF/S Representation Model Express RDF/S over an adequate relational schema Hybrid method —C_IsA(A,B): A is a subclass of B —C_Inst(x,A): x is an instance of A —Domain(P,A): the domain of P is A —… Alternatives Schema-specific —One table/predicate for each class/property (A(x), B(x), P(x,y), …) —Not amenable to changes (e.g., delete class) Schema-agnostic (triple-store) —One table with three columns (spo) —Harder to define constraints, less intuitive Giorgos Flouris Open Data Tutorials, May 2013 90 Allowed Constraints Considered a very general class of constraints Disjunctive Embedded Dependencies (DEDs) [Deu09] Very general class Functional, inverse functional, transitivity, cardinality constraints Disjointness constraints Primary key, foreign key, inclusion constraints Tuple-generating dependencies (tgd), equality-generating dependencies (egd) Giorgos Flouris Open Data Tutorials, May 2013 91 Constraints Express validity constraints over the aforementioned schema: Class subsumption must be acyclic —x,y C_IsA(x,y) C_IsA(y,x) ⊥ Correct classification in property instances —x,y,p,a P_Inst(x,y,p) Domain(p,a) C_Inst(x,a) —x,y,p,a P_Inst(x,y,p) Range(p,a) C_Inst(y,a) Closed World Assumption (CWA) Failure to prove something, is a proof for its negation Syntactical manipulations on constraints allow Diagnosis —Finding violated constraints Repair —Identifying repairing options per violation Giorgos Flouris Open Data Tutorials, May 2013 92 Repairing Example Dataset D0 Class(Sensor), Class(SpatialThing), Class(Observation) Prop(geo:location) Sensor Domain(geo:location,Sensor) Range(geo:location,SpatialThing) Observation Inst(Item1), Inst(ST1) P_Inst(Item1,ST1,geo:location) C_Inst(Item1,Observation), C_Inst(ST1,SpatialThing) Correct classification in property instances x,y,p,a P_Inst(x,y,p) Domain(p,a) C_Inst(x,a) Item1 geo:location SpatialThing Schema Data geo:location ST1 Item1 geo:location ST1 P_Inst(Item1,ST1,geo:location)D0 Sensor is the domain of geo:location Domain(geo:location,Sensor)D0 Item1 is not a Sensor C_Inst(Item1,Sensor)D0 Remove P_Inst(Item1,ST1,geo:location) Remove Domain(geo:location,Sensor) Add C_Inst(Item1,Sensor) Giorgos Flouris Open Data Tutorials, May 2013 93 Preferences for Repair Which repairing option is best? Data owner determines that via preferences Preferences Specified beforehand High-level “specifications” for the ideal repair Serve as “instructions” to determine the preferred (optimal) solution Giorgos Flouris Open Data Tutorials, May 2013 94 Preferences (On Datasets) D1 Score: 3 D2 Score: 4 D3 D0 Score: 6 Giorgos Flouris Open Data Tutorials, May 2013 95 Preferences (On Deltas) D1 Score: 2 D2 -P_Inst (Item1,ST1, geo:location) D3 D0 Score: 1 -Dom (geo:location, Sensor) +C_Inst (Item1,Sensor) Score: 5 Giorgos Flouris Open Data Tutorials, May 2013 96 More Details on Preferences Preferences on datasets are result-oriented Consider the quality of the repair result Ignore the impact of repair Popular options: prefer newest/trustable information, prefer a specific schema structure Preferences on deltas are impact-oriented Consider the impact of repair Ignore the quality of the repair result Popular options: minimize schema changes, minimize addition/deletion of information, minimize delta size Properties of preferences Quality metrics can be used for stating preferences Metadata on the data can be used (e.g., provenance) Can be qualitative or quantitative Giorgos Flouris Open Data Tutorials, May 2013 97 Generalizing the Approach For one violated constraint 1. Diagnose invalidity 2. Determine minimal ways to resolve it 3. Determine and return preferred solution based on the preference For many violated constraints Problem becomes more complicated More than one resolution steps are required Issues: 1. Resolution order 2. When and how to filter non-optimal solutions? 3. Constraint (and resolution) interdependencies Giorgos Flouris Open Data Tutorials, May 2013 98 Constraint Interdependencies A given resolution may: Cause other violations (bad) Resolve other violations (good) Optimal resolution unknown ‘a priori’ Cannot predict a resolution’s ramifications Exhaustive, recursive search required (resolution tree) Two ways to create the resolution tree Globally-optimal (GO) / locally-optimal (LO) When and how to filter non-optimal solutions? Giorgos Flouris Open Data Tutorials, May 2013 99 Resolution Tree Creation (GO) – – Find all minimal resolutions for all the violated constraints, then find the optimal ones Globally-optimal (GO) Find all minimal resolutions for one violation Explore them all Repeat recursively until valid Return the optimal leaves Giorgos Flouris Open Data Tutorials, May 2013 Optimal repairs (returned) 100 Resolution Tree Creation (LO) – – Find the minimal and optimal resolutions for one violated constraint, then repeat for the next Locally-optimal (LO) Find all minimal resolutions for one violation Explore the optimal one(s) Repeat recursively until valid Return all remaining leaves Giorgos Flouris Open Data Tutorials, May 2013 Optimal repair (returned) 101 Comparison (GO versus LO) Characteristics of GO Characteristics of LO Exhaustive Less efficient: Greedy More efficient: large resolution trees Always returns optimal repairs Insensitive to constraint syntax Deterministic (result does not depend on resolution order) small resolution trees May return sub-optimal repairs Sensitive to constraint syntax Non-deterministic (result may depend on resolution order) Giorgos Flouris Open Data Tutorials, May 2013 102 Repair: Generality Results The approach is very general Thanks to the generality/flexibility of preferences Repair approaches can be captured using adequately designed preferences Using either the LO or the GO strategy All the current approaches that we checked Practically all future ones —This has been proved, under some general conditions regarding the behavior of the repair approach Our model can be viewed as a general approach engulfing other repair approaches Giorgos Flouris Open Data Tutorials, May 2013 103 Repair: Algorithms and Complexity Implemented both algorithms Detailed complexity analysis for GO/LO and various different types of constraints and preferences Inherently difficult problem Exponential complexity (in general) Main exception: LO is polynomial (in special cases) Theoretical complexity is misleading as to the actual performance of the algorithms Giorgos Flouris Open Data Tutorials, May 2013 104 Performance in Practice Performance in practice Linear with respect to dataset size Linear with respect to tree size —Types of violated constraints (tree width) —Number of violations (tree height) – causes the exponential blowup —Constraint interdependencies (tree height) —Preference (for LO): affects pruning (tree width) Further performance improvement Use optimizations Use LO with restrictive preference Currently considering a redesign for further improvement Giorgos Flouris Open Data Tutorials, May 2013 105 Summary and Conclusions: Repair Data usually problematic Different types of problems Repair is done using different approaches depending on the type of the problem Cleaning, debugging, repairing, quality assessment and enrichment Presented a formal approach for validity repair [RFC11] Other possible directions (related to LOD) Most approaches detect problems, but don’t resolve them Efficiency problems (for repairing algorithms) Exploit external knowledge on the cause of the problem (e.g., propagation of invalidity by a linked dataset) Giorgos Flouris Open Data Tutorials, May 2013 106 Talk Structure (D1) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 107 Motivation for Evolution Reasons for evolution New observations or experiments Change in the viewpoint or usage of the dataset Newly gained access to information (previously classified, unknown or otherwise unavailable) Incomplete or inaccurate conceptualization Changes in the world itself Repairing Change propagation (cascading evolution in LOD) Not an LOD-specific problem But critical for LOD as well Giorgos Flouris Open Data Tutorials, May 2013 108 Definition of Evolution The process of modifying a dataset in response to a change in the domain or its conceptualization Dealing with both data and schema changes Original Dataset Evolution Algorithm Modified Dataset New Data/Knowledge Giorgos Flouris Open Data Tutorials, May 2013 109 Evolution: Setting the Scope Evolution is an overloaded term Phases of evolution Six phases in [SMMS02], five phases in [PT05] Detecting the need for evolution, change propagation, logging changes, versioning etc Scope: apply the change and compute the new dataset Out of scope: deciding on the change, evaluating the result, managing versions, logging changes etc Giorgos Flouris Open Data Tutorials, May 2013 110 Explaining Evolution (1/4) Chess Dataset Representation Language: RDF Chess Piece Wooden Plastic Change: Add([King rdf:type Red]) Red White Black Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 111 Explaining Evolution (2/4) Chess Dataset Representation Language: RDF Chess Piece Wooden Plastic Is the King Wooden? Red White Change: Del([King rdf:type Black]) Black Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 112 Explaining Evolution (3/4) Chess Dataset Representation Language: RDF Chess Piece Wooden Plastic Red White Black Change: Del([King rdf:type Wooden]) Some domain knowledge required (extra-logical considerations) Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 113 Explaining Evolution (4/4) Chess Dataset Representation Language: OWL Chess Piece Wooden and Plastic are disjoint [Wooden owl:disjointClass Plastic] Plastic disjoint Wooden Change: Add([King rdf:type Plastic]) Red White Black Schema Level Data Level Is the King Black? Is the King Wooden? King Giorgos Flouris Open Data Tutorials, May 2013 114 Side-effects in Evolution Changes should not undermine the “quality” of the dataset Side-effects: additional changes that need to be applied along with the original change to maintain knowledge integrity and quality Consistency, coherency, custom constraints, quality metrics, … Main challenge in determining the evolution result Determining side-effects Giorgos Flouris Open Data Tutorials, May 2013 115 Determining Side-effects Challenges in determining side-effects Evolution result not always obvious (even for humans) —Understand the process of change —Various philosophical considerations involved Selection involved (extra-logical considerations) —Domain expertise —Preferences (trust, provenance, axiom “strength” or “entrenchment”) Early evolution approaches rather naïve in this respect Ignored such issues or addressed them in an ad-hoc manner Giorgos Flouris Open Data Tutorials, May 2013 116 Belief Change Belief change (often referred to as belief revision) The process of modifying a knowledge base in the face of new, possibly contradictory knowledge Mature, well-established field Focuses for logical formalisms (propositional, first-order logic) Recent survey on belief change [FH11] Aims to understand the process of change The philosophical/logical counterpart of dataset evolution Can provide solutions and inspiration Giorgos Flouris Open Data Tutorials, May 2013 117 Cross-Fertilization with Belief Change Cross-fertilization beneficial [Flo06, FPA05, FPA06] Benefits Similar problems Differences on the underlying intuitions are minimal Belief change field more mature Frame problems and provide inspiration towards a solution Protect from pitfalls Avoid “reinventing the wheel” Problems Representation languages and formalisms are different Assumptions regarding the underlying representation language —These assumptions do not hold for LOD representation languages Can reuse the ideas, not the results themselves Giorgos Flouris Open Data Tutorials, May 2013 118 Talk Structure (D2) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 119 Challenges and Considerations List of challenges and problems related to evolution As well as some answers from the belief change field Challenges and the complexity of formalisms Some of the problems do not appear in simpler formalisms (RDF) Some of the problems are only relevant in the presence of schema —Data changes are simpler (on a fixed schema) Part of the discussion only relevant for DL, OWL Giorgos Flouris Open Data Tutorials, May 2013 120 Importance of Implicit Data (Example) Chess Dataset Representation Language: RDF Chess Piece Wooden Plastic Is the King Wooden? Red White Change: Del([King rdf:type Black]) Black Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 121 Importance of Implicit Data Explicit and implicit data equally important Explicit data more important than implicit The coherence viewpoint King is Wooden The closure of the dataset is The foundational viewpoint King is not Wooden Only explicit knowledge is considered during changes considered during changes —Belief set semantics —Belief base semantics Implicit data persistent Implicit data volatile —Explicit support not necessary for —Retained only as long as there is implicit data explicit support No discrimination Discrimination —No need to distinguish explicit —Explicit data should be explicitly data from implicit —Redundant data can be deleted marked as such —Redundant data should persist Giorgos Flouris Open Data Tutorials, May 2013 122 Redundant Data Chess Dataset Representation Language: RDF Chess Piece Wooden Plastic Change: Add([King rdf:type Black]) Red White Black Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 123 The King Is Black Chess Dataset Representation Language: RDF Chess Piece Observation: the King is Black Wooden Plastic Change: Add([King rdf:type Black]) Red White Black Is the King Wooden? Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 124 Paint It Black Chess Dataset Representation Language: RDF Chess Piece Action: King is painted Black Wooden Plastic Change: Add([King rdf:type Black]) Red White Black Is the King Wooden? Schema Level Data Level King Giorgos Flouris Open Data Tutorials, May 2013 125 Static and Dynamic Worlds Same dataset, same change, but different expected result Different semantics between the two cases [KM91] Different operations Static world change semantics The world does not change, but our perception of it changes Modeling or conceptualization problems, new observation etc Dynamic world change semantics The world changes, and we need to keep ourselves up-to-date No problems with the original conceptualization Giorgos Flouris Open Data Tutorials, May 2013 126 Types of Operations Static world Revision (add) Contraction (delete) Static Dynamic world Addition Revision Update (add) Erasure (delete) Dynamic Update Deletion Contraction Erasure Plus some more (forget, expansion, …) Less well-studied Ignored for this talk Irrelevant for LOD or trivial Giorgos Flouris Open Data Tutorials, May 2013 127 Example: Revision and Contraction Chess Dataset Representation Language: OWL Chess Piece Wooden Plastic Change #1 I believe that the King is not Black Add([King rdf:type NotBlack], [NotBlack owl:complementOf Black]) Red White Black NotBlack Schema Level Data Level Change #2 I do not believe that the King is Black Del([King rdf:type Black]) King Giorgos Flouris Open Data Tutorials, May 2013 128 Expressing the Change Different paradigms for expressing the change Modification-based —“Add([King rdf:type NotBlack], [NotBlack owl:complementOf Black])” —The exact modifications that should be applied to accommodate the new knowledge —Must know the conceptualization —Closer to the ontology expert Fact-based —“I believe that the King is not Black” —A new fact that should be accommodated in the dataset —Extra layer of abstraction (extra step required to determine modifications) —Closer to the domain expert Handling multiple changes Iterated belief change Package versus choice semantics (contraction and erasure) Merging Giorgos Flouris Open Data Tutorials, May 2013 129 Evolution Principles (Partial List) Principle of Success (Primacy of New Information) New information is unconditionally accepted Non-prioritized belief change Principle of Validity (Consistency Maintenance) Belief change: usually logical consistency LOD evolution: consistency, coherency, custom constraints, … Principle of Minimal Change Determine the side-effects that have minimal impact —But satisfying the other principles Corresponds to the selection process Minimality depends on the task, context, user, application, … Different postulates and intuitions (recovery, relevance etc) Different metrics (model-based, formula-based, cardinality etc) Giorgos Flouris Open Data Tutorials, May 2013 130 Understanding the Principles Chess Dataset Representation Language: OWL Chess Piece Wooden and Plastic are disjoint [Wooden owl:disjointClass Plastic] Plastic disjoint Wooden Change: Add([King rdf:type Plastic]) Red White Black Schema Level Data Level Invalidity (basically, inconsistency) The King is both Wooden and Plastic Three options (Minimal Change) King Giorgos Flouris Open Data Tutorials, May 2013 131 Non-obvious Side-effects Chess Dataset Chess_Piece Representation Language: ALC DL Chess Piece White White Wooden Plastic Plastic I don’t believe that all White items are Chess_Pieces Red White Black Schema Level Data Level Replace subsumptions with: White ⊓ Chess_Piece ⊑ Plastic Plastic ⊑ White ⊔ Chess_Piece King Giorgos Flouris Open Data Tutorials, May 2013 132 Talk Structure (D3) A.Introduction to RDF/S, DLs, OWL B.Remote change management 1. Introduction, definition of subfields 2. Literature review 3. An approach for change detection [PFF+13] C.Repair 1. Introduction, definition of subfields 2. Literature review 3. An approach for validity repair [RFC11] D.Data and Knowledge Evolution 1. Introduction, connection with belief change 2. Understanding the process of change 3. Literature review Giorgos Flouris Open Data Tutorials, May 2013 133 Classes of Belief Change Approaches (1/2) Postulates (one set for each operation) Formalize the principles, using logical conditions Essentially define the properties of a rational change operator —Some principles not considered or given varying semantics —Principle of Minimal Change is the most controversial Do not uniquely define an operator —A class of operators (expected rational results) —Extra-logical considerations would determine the actual result —Operator-specific (preferences, axiom strength, hard-coded semantics, …) Belief change context [AGM85, KM91, Han91] Evolution context [FKAC13, WWT10, QLB06a, QLB06b] Giorgos Flouris Open Data Tutorials, May 2013 134 Classes of Belief Change Approaches (2/2) Construction methods Intuitive constructions for a family of operators of a certain type Representation theorems —Proof that the constructed family corresponds exactly to the class of operators that satisfy a certain set of postulates Can be used as “templates” to construct rational change operators Parameterized selection process —Preferences, axiom strength, etc Popular in belief change, not so much in evolution Explicit algorithms Implement a specific operator that satisfies some of the postulates Hard-coded or parameterized selection process Popular in evolution context, not so much in belief change Giorgos Flouris Open Data Tutorials, May 2013 135 Discussion on the Operator Types (1/2) Connections between the various operators Static: revision/contraction interdefinable [AGM85] Dynamic: update/erasure interdefinable [KM91] Model-theoretic characterization of the connection between static/dynamic worlds (revision-update, contraction-erasure) [KM91] Postulates critical for establishing those results Revision and update more useful in practice Contraction/erasure only used to express agnosticism Contraction and erasure more interesting from a theoretical perspective More fundamental operations Giorgos Flouris Open Data Tutorials, May 2013 136 Discussion on the Operator Types (2/2) Revise with φ (in belief change) Contract ¬φ —This resolves, a priori, any potential inconsistency problems Add φ (without side-effects) Revise with φ (in LOD) Contract data that could potentially cause problems —Inconsistency, incoherency, … Add φ (without side-effects) Contraction is the basis for revision Simpler operation Basically, if you know how to contract, you know how to revise Most of the focus in belief change and also in LOD evolution Same for update/erasure Giorgos Flouris Open Data Tutorials, May 2013 137 Evolution via Editors Features Intuitive interfaces Easy to add/delete triples (but not facts) Some help for determining the side-effects of a change —Embedded reasoners and/or debugging/repair tools to propose side-effects Additional facilities —Versioning, monitoring, undo/redo, … Main problems User should be both ontology and domain expert Not applicable in some cases —Examples: automated agents, time-critical applications, massive streaming input No formal properties Examples Protégé (http://protege.stanford.edu/) NeOn toolkit (http://neon-toolkit.org/wiki/Main_Page) OntoStudio (http://www.semafora-systems.com/en/products/ontostudio/) KAON2 (http://kaon2.semanticweb.org/) Giorgos Flouris Open Data Tutorials, May 2013 138 Declarative Approaches SPARQL Update (http://www.w3.org/TR/sparql11-update/) For RDF Fixed semantics, no side-effects Data and schema operations (also bulk changes) RUL [MSCK05] For RDF/S, taking into account RDFS semantics Fixed semantics, predefined set of side-effects per operation Only for data operations (also bulk changes) EvoPat [RHTA10] Declaratively associate changes with side-effects (using SPARQL) SPARQL queries determine whether side-effects should be applied SPARQL update statements represent such side-effects Tempus fugit [LRV09] Event-driven, declarative specification of the operators’ semantics Giorgos Flouris Open Data Tutorials, May 2013 139 Fixed-Operations Approach Standard approach in the early days (e.g., [SMMS02]) Set of supported operations (Add_Class, Add_Domain, …) Identify potential problems and side-effects per operation —Decision is hard-coded or user-defined (from a set of options) —Example: when deleting a subsumption, how about implicit subsumptions? Automatic or semi-automatic Problems No consensus on the language of changes No limit on the number of operations —What about unknown/unsupported operators? No exhaustive formal analysis of potential side-effects No formal properties or other guarantees Incomplete understanding of the change process Giorgos Flouris Open Data Tutorials, May 2013 140 Approaches Inspired by Belief Change (1/2) Revision in ALU DL [LM04] Using preferences among axioms Inspired by “epistemic entrenchment” Revision in generic DLs [QD09] Three model-based revision operators for DLs Emphasis on the Principle of Irrelevance of Syntax —Semantical, rather than syntactical, considerations should drive the result Revision in DL-Lite [GQW12] Using a graph-based algorithm For data changes only (Abox) Update and erasure in RDF/S [GHV06, GHV11] Taking into account RDFS inference Update is trivial, erasure is challenging (due to RDFS inference) Giorgos Flouris Open Data Tutorials, May 2013 141 Approaches Inspired by Belief Change (2/2) Using the maxi-adjustment algorithm [MLB05, QLB06a, QLB06b] Used to repair inconsistencies in propositional knowledge bases Requires a stratification in the knowledge Adapted for disjunctive DLs Using kernel operators [Han94] Kernels: minimal sets of formulas leading to inconsistency —Minimal Inconsistency Preserving Sub-Tboxes (MIPS) [SC03] OWL [HWK06] DLs [QHHP08] Generic formalisms with no negation (such as RDF) [RW07] Giorgos Flouris Open Data Tutorials, May 2013 142 Postulation Approaches in Evolution (1/3) AGM: dominating paradigm in belief change [AGM85] The single most influential work in the field of belief change Contributions AGM postulates: two sets of 6 basic and 2 supplementary postulates —One set for each operator (revision and contraction) Plus various related results —Partial meet contraction —Representation theorems —Connections between operators Only for classical logics (satisfying certain assumptions) Propositional, first-order, modal logics, … Not for LOD formalisms (RDF/S, DLs, OWL) Giorgos Flouris Open Data Tutorials, May 2013 143 Postulation Approaches in Evolution (2/3) AGM contraction postulates adapted for monotonic logics [Flo06, FPA05, FPA06] Includes all LOD formalisms But: no satisfying contraction operator exists for many such logics Cannot find a proper result in certain cases Necessary and sufficient conditions for the existence of such an operator [FPA06, Flo06] Negative results for RDF/S, OWL, most DLs [FPA05, RWFA13] Problem stems from the postulate of recovery [AGM85] Captures the Principle of Minimal Change Controversial [Han91] Giorgos Flouris Open Data Tutorials, May 2013 144 Postulation Approaches in Evolution (3/3) Replacing recovery with optimal recovery [FPA06, FHP+06] Equivalent to recovery for classical logics But weaker in general Not particularly successful either Replacing recovery with relevance [Han91] An intuitive, well-established alternative to recovery Equivalent with recovery for classical logics Applicable under quite general conditions [RWFA13] —Applicable for all compact logics —Includes RDF/S, practically all DLs and OWL flavors and profiles Adequate for expressing the principles of contraction in LOD languages Connections with recovery established for non-classical logics Giorgos Flouris Open Data Tutorials, May 2013 145 Principle of Adequacy of Representation Principle of Adequacy of Representation The evolution result should be expressible in the same formalism as the original dataset Obvious and trivial Not always compatible with our requirements for the evolution result Postulates (e.g., AGM postulates) Specific incarnations of the Principle of Minimal Change Specific computational methods or classes of operators Two stages for the computation [CGKZ12] Find the “optimal” evolution result according to the requirements Express it in the target language (not always possible) —Inexpressibility results Giorgos Flouris Open Data Tutorials, May 2013 146 Inexpressibility for Classes of Operators Generic contraction methods [CGKZ12] Syntactic: remove a minimal set of explicit axioms Formula-based: remove a minimal set of axioms from the closure —Three different semantics for minimality Model-based: modify the model in a minimal manner —Eight different methods to find the “minimal” distance between models Existing contraction algorithms can be categorized along these generic classes of methods Different contraction methods not compatible in general (for DLs) Model-based and formula-based are compatible in classical logics Inexpressibility results for DL-Lite, EL (i.e., OWL2 QL, OWL2 EL) [CGKZ12] Proposal: a “hybrid” operator combining ideas from syntactic and formula-based approaches [CGKZ12] Giorgos Flouris Open Data Tutorials, May 2013 147 More Inexpressibility Results DL-Lite evolution [CKNZ10] Focusing on model-based and formula-based approaches for contraction Inexpressibility results Propose a formula-based approach DL revision [LLMW06] Model-based approach, limited to Abox only (data level) Inexpressibility results Propose a new DL that supports model-based evolution Approximations DL-LiteF [GLPR07, GLPR09] —Update and erasure approximation algorithms for data-level changes only —Alternative: extend DL-LiteF to make sure that result is expressible DL-Lite [WWT10] —Provide postulates and approximation algorithms for revision Giorgos Flouris Open Data Tutorials, May 2013 148 Other Approaches Evolution using ideas from argumentation frameworks [MRF08] ALC DL Inconsistency in a dataset is an “attack” between arguments Acceptability semantics used to resolve such attacks and eliminate inconsistencies Useful for both debugging and evolution Evolution can be reduced to debugging/repair [HHH+05] Apply the change Then repair the result to resolve problems (Principle of Validity) —Making sure the change is not “undone” during repair (Principle of Success) Giorgos Flouris Open Data Tutorials, May 2013 149 Evolution Under Custom Constraints Evolution in the presence of custom validity constraints [KFAC07, FKAC13] Methodology Apply the change (Principle of Success) Guarantee satisfaction of constraints (Principle of Validity) Use a preference to determine minimality (Principle of Minimal Change) Features Generic method, applied for RDF/S evolution A formal expression of the principles for the proposed setting Exhaustive method to determine all possible side-effects and identify the “best” (according to the preference) Constrain allowed preferences for rationality and performance Based on similar ideas as the repairing approach of [RFC11] Giorgos Flouris Open Data Tutorials, May 2013 150 Summary and Conclusions: Evolution The problem of evolution is very challenging Several issues need to be considered —Not obvious to a newcomer —Often ignored Evolution approaches Direct: manual, based on fixed operators, declarative Indirect: postulation attempts Adapted: adapting belief change algorithms or methods Other possible directions (related to LOD) Adapt for the “linked” character of LOD —Evolution during propagation or after change detection —Extra knowledge that can be exploited for adapting preferences, fine-tuning of automated algorithms etc Giorgos Flouris Open Data Tutorials, May 2013 151 Thank You! Giorgos Flouris Open Data Tutorials, May 2013 152 References (1/18) [AAM09] C. Allocca, M. d'Aquin, E. Motta. Detecting Different Versions of Ontologies in Large Ontology Repositories. IWOD-09, 2009. [ADA98] M.L. Abate, K.V. Diegert, H.W. Allen. A Hierarchical Approach to Improving Data Quality. Data Quality Journal, 4(1), 1998. [AGM85] C. Alchourron, P. Gärdenfors, D. Makinson. On the Logic of Theory Change: Partial Meet Contraction and Revision Functions. Journal of Symbolic Logic, 50:510-530, 1985. [AH06] S. Auer, H. Herre. A Versioning and Evolution Framework for RDF Knowledge Bases. PSI-06, Revised Papers, 2006. [BC09] C. Bizer, R. Cyganiak. Quality-driven Information Filtering Using the WIQA Policy Framework. Journal of Web Semantics, 7:1–10, 2009. [BLHL01] T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web. Scientific American, 2001. Giorgos Flouris Open Data Tutorials, May 2013 153 References (2/18) [CGKZ12] B. Cuenca Grau, E. Kharlamov, D. Zheleznyakov. Ontology Contraction: Beyond the Propositional Paradise. AMW-12, 2012. [CKNZ10] D. Calvanese, E. Kharlamov, W. Nutt, D. Zheleznyakov. Evolution of DLLite Knowledge Bases. ISWC-10, 2010. [CMDZ10] C.A. Curino, H.J. Moon, A. Deutsch, C. Zaniolo. Update Rewriting and Integrity Constraint Maintenance in a Schema Evolution Support System: PRISM++. PVLDB 4(2):117-128, 2010. [CMZ08] C.A. Curino, H.J. Moon, C. Zaniolo. Graceful Database Schema Evolution: The PRISM Workbench. PVLDB 1(1):761-772, 2008. [CQ13] G. Cheng, Y. Qu. Relatedness Between Vocabularies on the Web of Data: A Taxonomy and an Empirical Study. Web Semantics: Science, Services and Agents on the World Wide Web, 2013. Available at: http://dx.doi.org/10.1016/j.websem.2013.02.001 Giorgos Flouris Open Data Tutorials, May 2013 154 References (3/18) [Deu09] A. Deutsch. FOL Modeling of Integrity Constraints (Dependencies). Encyclopedia of Database Systems, 2009. [DA09] R. Djedidi, M. Aufaure. Change Management Patterns (CMP) for Ontology Evolution Process. IWOD-09, 2009. Giorgos Flouris Open Data Tutorials, May 2013 155 References (4/18) [FH10] C. Furber, M. Hepp. Using Semantic Web Resources for Data Quality Management. EKAW-10, 2010. [FH11] E. Ferme, S.O. Hansson. AGM 25 Years: Twenty-five Years of Research in Belief Change. Journal of Philosophical Logic 40:295-331, 2011. [FHP+06] G. Flouris, Z. Huang, J.Z. Pan, D. Plexousakis, H. Wache. Inconsistencies, Negations and Changes in Ontologies. AAAI-06, 2006. [FKAC13] G. Flouris, G. Konstantinidis, G. Antoniou, V. Christophides. Formal Foundations for RDF/S KB Evolution. International Journal on Knowledge and Information Systems, 35(1):153-191, 2013. [Flo06] G. Flouris. On Belief Change and Ontology Evolution. Ph.D. thesis, University of Crete, 2006. Giorgos Flouris Open Data Tutorials, May 2013 156 References (5/18) [FPA05] G. Flouris, D. Plexousakis, G. Antoniou. On Applying the AGM Theory to DLs and OWL. ISWC-05, 2005. [FPA06] G. Flouris, D. Plexousakis, G. Antoniou. On Generalizing the AGM Postulates. STAIRS-06, 2006. [FMK+08] G. Flouris, D. Manakanatas, H. Kondylakis, D. Plexousakis, G. Antoniou. Ontology Change: Classification and Survey. Knowledge Engineering Review, 23(2):117152, 2008. [FMV10] E. Franconi, T. Meyer, I. Varzinczak. Semantic Diff as the Basis for Knowledge Base Versioning. NMR-10, 2010. [FRPV+12] G. Flouris, Y. Roussakis, M. Poveda-Villalon, P.N. Mendes, I. Fundulaki. Using Provenance for Quality Assessment and Repair in Linked Open Data. EvoDyn-12, 2012. Giorgos Flouris Open Data Tutorials, May 2013 157 References (6/18) [GHV06] C. Gutierrez, C. Hurtado, A. Vaisman. The Meaning of Erasing in RDF Under the Katsuno-Mendelzon Approach. WebDB-06, 2006. [GHV11] C. Gutierrez, C. Hurtado, A. Vaisman. RDFS Update: From Theory to Practice. ESWC-11, 2011. [GLPR07] G. Giacomo, M. Lenzerini, A. Poggi, R. Rosati. On the Approximation of Instance Level Update and Erasure in Description Logics. AAAI-07, 2007. [GLPR09] G. Giacomo, M. Lenzerini, A. Poggi, R. Rosati. On Instance-level Update and Erasure in Description Logic Ontologies. Journal of Logic and Computation 19(5):745-770, 2009. [GQW12] S. Gao, G. Qi, H. Wang. A New Operator for ABox Revision in DL-Lite. AAAI-12, 2012. [Gru93] T.R. Gruber. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, 5 (2), 1993. Giorgos Flouris Open Data Tutorials, May 2013 158 References (7/18) [Han91] S.O. Hansson. Belief Contraction Without Recovery. Studia Logica 50(2):251-260, 1991. [Han94] 859, 1994. S.O. Hansson. Kernel Contraction. Journal of Symbolic Logic, 59(3):845- [HGR12] M. Hartung, A. Gross, E. Rahm. COnto-diff: Generation of Complex Evolution Mappings for Life Science Ontologies. Journal of Biomedical Informatics, 2012. [HH00] J. Heflin, J. Hendler. Dynamic Ontologies on the Web. AAAI-00, 2000. [HHM+10] H. Halpin, P.J. Hayes, J.P. McCusker, D.L. McGuiness, H.S. Thompson. When owl:sameAs Isn’t the Same: An Analysis of Identity in Linked Data. ISWC-10, 2010. [HHH+05] P. Haase, F. van Harmelen, Z. Huang, H. Stuckenschmidt, Y. Sure. A Framework for Handling Inconsistency in Changing Ontologies. ISWC-05, 2005. [HHP+10] A. Hogan, A. Harth, A. Passant, S. Decker, A. Polleres. Weaving the Pedantic Web. LDOW-10, 2010. [HP04] J. Heflin, J.Z. Pan. A Model Theoretic Semantics for Ontology Versioning. ISWC-04, 2004. [HS05] Z. Huang, H. Stuckenschmidt. Reasoning with Multi-version Ontologies: A Temporal Logic Approach. ISWC-05, 2005. [HWK06] C. Halaschek-Wiener, Y. Katz. Belief Base Revision for Expressive Description Logics. OWLED-06, 2006. Giorgos Flouris Open Data Tutorials, May 2013 159 References (8/18) [ILK12] D.H. Im, S.W. Lee, H.J. Kim. A Version Management Framework for RDF Triple Stores. International Journal of Software Engineering and Knowledge Engineering, 22(1):85-106, 2012. [JAP09] M. Javed, Y. Abgaz, C. Pahl. A Pattern-based Framework of Change Operators for Ontology Evolution. OTM-09, 2009. [Jur74] Giorgos Flouris J.M. Juran. The Quality Control Handbook. McGraw-Hill, New York, 1974. Open Data Tutorials, May 2013 160 References (9/18) [KFAC07] G. Konstantinidis, G. Flouris, G. Antoniou, V. Christophides. Ontology Evolution: A Framework and its Application to RDF. SWDB-ODBIS-07, 2007. [KFKO02] M. Klein, D. Fensel, A. Kiryakov, D. Ognyanov. Ontology Versioning and Change Detection on the Web. EKAW-02, 2002. [KHS12] M. Knuth, J. Hercher, H. Sack. Collaboratively Patching Linked Data. USEWOD-12, 2012. [KLGE07] N. Keberle, Y. Litvinenko, Y. Gordeyev, V. Ermolayev. Ontology Evolution Analysis with OWL-MeT. IWOD-07, 2007. [KM91] H. Katsuno, A.O. Mendelzon. On the Difference Between Updating a Knowledge Base and Revising It. KR-91, 1991. [KN03] M. Klein, N. Noy. A Component-based Framework for Ontology Evolution. IJCAI-03 Workshop on Ontologies and Distributed Systems, CEUR-WS, vol. 71, 2003. [KPS+06] A. Kalyanpur, B. Parsia, E. Sirin, B. Cuenca Grau. Repairing Unsatisfiable Concepts in OWL Ontologies. ESWC-06, 2006. [KWW08] B. Konev, D. Walther, F. Wolter. The Logical Difference Problem for Description Logic Terminologies. IJCAR-08, 2008. [KWZ08] R. Kontchakov, F. Wolter, M. Zakharyaschev. Can you Tell the Difference Between DL-Lite Ontologies? KR-08, 2008. Giorgos Flouris Open Data Tutorials, May 2013 161 References (10/18) [LB10] J. Lehmann, L. Buhmann. ORE - A Tool for Repairing and Enriching Knowledge Bases. ISWC-10, 2010. [LLMW06] KR-06, 2006. H. Liu, C. Lutz, M. Milicic, F. Wolter. Updating Description Logic ABoxes. [LM04] K. Lee, T. Meyer. A Classification of Ontology Modification. AI-04, 2004. [LPSV06] S.C. Lam, J. Pan, D. Sleeman, W. Vasconcelos. A Fine-grained Approach to Resolving Unsatisfiable Ontologies. WI-06, 2006. [LRV09] U. Lusch, S. Rudolph, D. Vrandecic. Tempus Fugit: Towards an Ontology Update Language. ESWC-09, 2009. Giorgos Flouris Open Data Tutorials, May 2013 162 References (11/18) [Mel04] S. Melnik. Generic Model Management: Concepts and Algorithms. Springer, 2004. [MFRW00] D.L. McGuinness, R. Fikes, J. Rice, S. Wilder. An Environment for Merging and Testing Large Ontologies. KR-00, 2000. [MHS09] B. Motik, I. Horrocks, U. Sattler. Bridging the Gap Between OWL and Relational Databases. Journal of Web Semantics, 7(2):74-89, 2009. [MLA+12] M. Morsey, J. Lehmann, S. Auer, C. Stadler, S. Hellmann. DBpedia and the Live Extraction of Structured Data from Wikipedia. Program: Electronic library and Information Systems, 46(2):157-181, 2012. [MLB05] T. Meyer, K. Lee, R. Booth. Knowledge Integration for Description Logics. AAAI-05, 2005. [MLBP06] T. Meyer, K. Lee, R. Booth, J.Z. Pan. Finding Maximally Satisfiable Terminologies for the Description Logic ALC. AAAI-06, 2006. Giorgos Flouris Open Data Tutorials, May 2013 163 References (12/18) [MMB12] P. Mendes, H. Muhleisen, C. Bizer. Sieve: Linked Data Quality Assessment and Fusion. LWDM-12, 2012. [MMS+03] A. Maedche, B. Motik, L. Stojanovic, R. Studer, R. Volz. An Infrastructure for Searching, Reusing and Evolving Distributed Ontologies. WWW-03, 2003. [MRF08] M. Moguillansky, N. Rotstein, M. Falappa. A Theoretical Model to Handle Ontology Debugging and Change through Argumentation. IWOD-08, 2008. [MSCK05] M. Magiridou, S. Sahtouris, V. Christophides, M. Koubarakis. RUL: A Declarative Update Language for RDF. ISWC-05, 2005. [MWK00] P. Mitra, G. Wiederhold, M.L. Kersten. A Graph-oriented Model for Articulation of Ontology Interdependencies. EDBT-00, 2000. Giorgos Flouris Open Data Tutorials, May 2013 164 References (13/18) [NCLM06] N. Noy, A. Chugh, W. Liu, M. Musen. A Framework for Ontology Evolution in Collaborative Environments. ISWC-06, 2006. [NKKM04] N. Noy, S. Kunnatur, M. Klein, M. Musen. Tracking Changes During Ontology Evolution. ISWC-04, 2004. [NM00] N.F. Noy, M.A. Musen. Prompt: Algorithm and Tool for Automated Ontology Merging and Alignment. In AAAI/IAAI-00, 2000. [OK02] D. Ognyanov, A. Kiryakov. Tracking Changes in RDF(S) Repositories. EKAW-02, 2002. Giorgos Flouris Open Data Tutorials, May 2013 165 References (14/18) [PFF+13] V. Papavassiliou, G. Flouris, I. Fundulaki, D. Kotzinos, V. Christophides. High-Level Change Detection in RDF(S) KBs. Transactions on Database Systems (TODS), 38(1), 2013. [PM10] A. Passant, P.N. Mendes. SparqlPuSH: Proactive Notification of Data Updates in RDF Stores Using PubSubHubbub. SFSW-10, 2010. [PT05] P. Plessers, O. de Troyer. Ontology Change Detection Using a Version Log. ISWC-05, 2005. [PT06] P. Plessers, O. de Troyer. Resolving Inconsistencies in Evolving Ontologies. ESWC-06, 2006. [PTC05] P. Plessers, O. de Troyer, S. Casteleyn. Event-based Modeling of Evolution for Semantic-driven Systems. CAiSE-05, 2005. [PTC07] P. Plessers, O. de Troyer, S. Casteleyn. Understanding Ontology Evolution: A Change Detection Approach. Web Semantics: Science, Services and Agents on the WWW, 2007. Giorgos Flouris Open Data Tutorials, May 2013 166 References (15/18) [QD09] G. Qi, J. Du. Model-based Revision Operators for Terminologies in Description Logics. IJCAI-09, 2009. [QHHP08] G. Qi, P. Haase, Z. Huang, J.Z. Pan. A Kernel Revision Operator for Terminologies. DL-08, 2008. [QLB06a] G. Qi, W. Liu, D. Bell. Knowledge Base Revision in Description Logics. JELIA-06, 2006. [QLB06b] G. Qi, W. Liu, D. Bell. A Revision-based Approach for Handling Inconsistency in Description Logics. NMR-06, 2006. [QP07] G. Qi, J. Pan. A Stratification-based Approach for Inconsistency Handling in Description Logics. IWOD-07, 2007. Giorgos Flouris Open Data Tutorials, May 2013 167 References (16/18) [RFC11] Y. Roussakis, G. Flouris, V. Christophides. Declarative Repairing Policies for Curated KBs. HDMS-11, 2011. [RH09] T. Ravn, M. Hoedbolt. How to Measure and Monitor the Quality of Master Data. 2009. Available at: http://www.informationmanagement.com/issues/2007_58/master_data_management_mdm_quality-100153581.html [RHTA10] C. Riess, N. Heino, S. Tramp, S. Auer. EvoPat - Pattern-based Evolution and Refactoring of RDF Knowledge Bases. ISWC-10, 2010. [RPH+12] A. Rula, M. Palmonari, A. Harth, S. Stadtmüller, A. Maurino. On the Diversity and Availability of Temporal Information in Linked Open Data. ISWC-12, 2012. [RSDT08] T. Redmond, M. Smith, N. Drummond, T. Tudorache. Managing Change: An Ontology Version Control System. OWLED-08, 2008. [RW07] M.M. Ribeiro, R. Wassermann. Base Revision in Description Logics – Preliminary Results. IWOD-07, 2007. [RWFA13] M.M. Ribeiro, R. Wassermann, G. Flouris, G. Antoniou. Minimal Change: Relevance and Recovery Revisited. AI Journal (to appear), 2013. Giorgos Flouris Open Data Tutorials, May 2013 168 References (17/18) [SC03] S. Schlobach, R. Cornet. Non-Standard Reasoning Services for the Debugging of Description Logic Terminologies. IJCAI-03, 2003. [SMMS02] L. Stojanovic, A. Maedche, B. Motik, N. Stojanovic. User-driven Ontology Evolution Management EKAW-02, 2002. [SK03] H. Stuckenschmidt, M. Klein. Integrity and Change in Modular Ontologies. IJCAI-03, 2003. [SP10] Y. Stavrakas, G. Papastefanatos. Supporting Complex Changes in Evolving Interrelated Web Databanks. CoopIS-10, 2010. [SSN+10] H. Van de Sompel, R. Sanderson, M.L. Nelson, L.L. Balakireva, H. Shankar, S. Ainsworth. An HTTP-Based Versioning Mechanism for Linked Data. LDOW10, 2010. [TSBM10] J. Tao, E. Sirin, J. Bao, D.L. McGuinness. Integrity Constraints in OWL. AAAI-10, 2010. [TTA08] Y. Tzitzikas, Y. Theoharis, D. Andreou. On Storage Policies for the Semantic Web Repositories that Support Version. ESWC-08, 2008. [TLZ12] Y. Tzitzikas, C. Lantzaki, D. Zeginis. Blank Node Matching and RDF/S Comparison Functions. ISWC-12, 2012. Giorgos Flouris Open Data Tutorials, May 2013 169 References (18/18) [VWS+05] M. Volkel, W. Winkler, Y. Sure, S. Kruk, M. Synak. SemVersion: A Versioning system for RDF and Ontologies. ESWC-05, 2005. [WHR+05] H. Wang, M. Horridge, A. Rector, N. Drummond, J. Seidenberg. Debugging OWL-DL Ontologies: A Heuristic Approach. ISWC-05, 2005. [WWT10] Z. Wang, K. Wang, R. Topor. A New Approach to Knowledge Base Revision in DL-Lite. AAAI-10, 2010. [ZAA+13] F. Zablith, G. Antoniou, M. d’Aquin, G. Flouris, H. Kondylakis, E. Motta, D. Plexousakis, M. Sabou. Ontology Evolution: A Process Centric Survey. Knowledge Engineering Review (to appear). [ZTC11] D. Zeginis, Y. Tzitzikas, V. Christophides. On Computing Deltas of RDF/S Knowledge Bases. ACM Transactions on the Web (TWEB) 5(3), 2011. [ZZL+03] Z. Zhang, L. Zhang, C.X. Lin, Y. Zhao, Y. Yu. Data Migration for Ontology Evolution. Poster ISWC-03, 2003. Giorgos Flouris Open Data Tutorials, May 2013 170