Monday, March 12, 2012

Semantic in Bullets - RDF


  • Ressource: alles, aber eindeutig
  • Description: Beschreibung durch Beziehungen → Graph
  • Framework: definiert erlaubte Beziehungen
  • Subject Property Object. (RDF Tripel)
    • Subject / Object: Ressource mit URI
    • Property: Attribute/Eigenschaften zur Beschreibung
  • Literale beschreiben Datenwerte
    • XML Schema Datentypen
  • Blank Nodes erlauben Existenzaussagen
  • Turtle endet mit “.”
    • <URI> “Literal”
    • Erlaubt XML Serialisierung
    • @prefix, @base
  • Mehrweritge Beziehungen über Blank Nodes
    • Derefenzierbare Knoten _:ID1
  • Container, Collections
    • rdf:Seq [ a rdf:Seq; rdf:_1 <>; rdf:_2 <>]
    • [rdf:first <>;rdf:rest [rdf:first <>; rdf:rest  rdf:nil]]
    • (<> <>)
  • RDF - Reification
    • Schachtelung von Statements
    • rdf:subject <>; rdf:predicate <>; rdf:object <>; a rdf:Statement.
    • notwendig
      • Herkunft, Trust, Metadaten
  • Charakteristika
    • Unabhängigkeit: jeder kann erfinden
    • austauschbar, skalierbar
    • Properties sind Ressourcen
    • Werte/ Statements können Ressourcen sein
    • keine Möglichkeit Schemawissen zu kodieren

Semantic in Bullets - Ontology Engineering


  • An ontology is an explicit, formal specification of a shared conceptualization.
  • Upper Onotology → Task- und Domainontologien → Application Ontology
  • Ontology Engineering
    • Ontology Design (Entwurf)
    • Ontology Mapping (effizienter Vergleich)
    • Ontology Merging (effiziente Kombination)
    • Ontology Learning (ableiten aus Daten)
  • Ontology Design Allgemein
    • Management
      • scheduling, control, quality assurance
    • Developement
      • 1. Pre-Developement
        • Environment / Feasibility Study
      • 2. Developement
        • Specification (Nutzen, Grund)
        • Conceptualization
        • Formalization → semiberechenbares Modell
        • Implementation → berechenbares Modell in Ontologysprache
      • 3. Post-Developement
        • Maintenance (Update, Korrektur)
        • Use/Reuse
    • Support Activities
      • Knowledge Acquisition, Evaluation, Integration, Merging
      • Alignment(Mapping), Documentation, Configuration Management
  • Ontology Design 101 (iterativer process)
    • determine scope (Wozu?)
    • consider reuse (Aufwand)
    • enumerate terms (Begriff, Eigenschaften)
    • define classes
    • define properties
    • define constraints → Property contraints
    • create instances
  • Ontology Learning
    • automatisch lernen
    • Natural Language Processing, Data Mining, Maschine Learning
    • Term Extraction → Conceptualization → Evaluation
    • Learning Tasks
      • Ontology creation (Entwurf durch Experten)
      • Ontology schema extraction (Schema aus Webdocs)
      • Extraction of ontology instances
      • Ontology integration and navigation
      • Ontology update (erweitern, umbauen)
      • Ontology enrichment (automatische Aktualisierung)
  • Ontology Mapping
    • versch. Partein, versch. Ontologien → Mapping
    • Schema Matching, Konzepte der Datenintegration
    • Heterogenität
      • syntaktisch (Sprache)
      • terminologisch (Namen)
      • konzeptionelle / semantisch (z.B. Granularität)
      • semiotisch / pragmatisch (Interpretation einer Domäne)
  • Ontology Merging
    • 2 → 1 - vereinheitlicht und ersetzt Basis
      • Union vs Intersection

Semantic in Bullets - Rules with RIF/SWRL


  • OWL-Konzept als Abfragesprache ungenügend
  • SPARQL für RDF keine direkte OWL Unterstützung
    • OWL beschreibt viele mögl. Interpretationen
    • mit unendlich vielen Elementen
  • Ziel: ausdrucksstärkere Anfragen nach Individuen
    • konjunktive Anfragen
      • logische Formeln
      • OWL kann Existenz unbenannter Elemente implizieren
        • Unbestimmte Variablen
  • SPARQL Erweiterung müsste alle herleitbaren Ergebniselemente zurückliefern
    • Blank Node vs unbenanntes Element
    • Schlussfolgern sehr komplex (NExpTime vollständig)
    • Konjunktiveanfragen sehr komplex, Entscheidbarkeit nicht bekannt
  • Regelsprachen
    • Logische Regeln (Implikation in PL)
    • Prozedurale Regeln
    • Logikprogrammierung
  • Prädikatenlogische Regeln
    • Regeln als Hornklauseln (Implikationsformeln)
    • Disjunktive Regeln
      • Disjunktion von mehreren nicht negierten Atomen
    • Klausel
      • Disjunktion von negierten oder nicht negierten Atomen
    • Hornklausel
      • Klausel mit max. einem nicht negiertem Atom
    • Definite Klausel
      • Klausel mit genau einem nicht negiertem Atom
    • Fakt
      • Klausel aus einem einzigen nicht negiertem Atom
  • DATALOG
    • besteht aus Hornklauseln ohne Funktionssymbole
      • Konjunktion, Konstanten, Allquantoren, Prädikatssymbol
    • ExpTime berechenbar
  • Regeln für OWL mit SWRL
    • Regeln werden formuliert als Implikation eines Antezedenz(Prämisse) und einer Konsequenz
    • SWRL ist unentscheidbar, OWL2 DL N2ExpTime
    • praktisch
      • Algorithmen die alle Schlussfolgerung für einige Wissensbasen ziehen
      • Algos die einige Schlussfolgerungen für alle SWRL Wissenbasen ziehen
    • Entscheidbare Fragmente
      • Description Logic Rules
        • Regeln die bereits in OWL2 ausgedrückt werden können
        • indirekt durch OWL Reasoner untestützt
      • DL-Safe
        • jede Variable muss im Rumpf(Prämisse) ohne OWL-Klasse oder Rollen auftreten
        • Regeln nur für bekannte Individuen
        • DL-safety lässt sich erzwingen
  • RIF- Rule Interchange Format
    • W3C Standard zum Austausch von Regeln für Rule Engines

Thursday, March 8, 2012

Semantic in Bullets - OWL2


  • Vgl OWL1
    • neue ontologische Axiome, neue Syntaxvariante
    • Erhaltung der Entscheidbarkeit von OWL2 DL
  • OWL DL basiert auf Beschreibungslogik SHOIN(D)
    • Axiome
      • TBox: Subklassenbeziehungen
      • RBox Subrollenbeziehungen, inverse Rollen, Transitivität
      • ABox: Fakten zu Klassen, Rollen, a=b, a!=b
    • Klassenkonstruktoren
      • Konjunktionen, Diskunktion, Negation
      • beschränkte Rollenrestriktion (Existenz/All per Class)
      • Kardinalitätsrestriktionen
      • abegschlossene Klassen
      • Datentypen
  • SHOIN(D) zu SHROIQ(D)
    • SHROIQ(D) erlaubt
      • negierte Rollenbeziehung
      • qualifizierte Kardinalitätsrestriktionen
      • SELF
      • zusätzliche Rollenaxiome
        • Antisymmetrie, Reflexivität, Irreflexivität, Disjunktheit
      • universelle Rolle
      • Rolleninklusion
        • Einschränkung auf Reguläre Sprachen (nicht kontext-frei)
        • entscheidbar
        • Beschränkt auf einfache Rollen
          • nicht zusammengesetzt
          • nicht einfach, wenn die Rolle direkt oder indirekt von Verkettung abhängt
      • strukturelle Einschränkungen für Entscheidbarkeit
        • Regularität → RBox Axiome
        • einfache Rollen in Kardnialitätsrestriktionen
  • Überblick
    • Klassenausdrücke
      • Klassen, Konjunktion, Disjunktion, Negation, Exist. Rollenrestriktion, Univ. Rollenrestriktion, Self, größer-als, kleiner-als, Nominale (Individuen)
    • Rollen
      • Rollen, einfache Rollen, inverse Rollen, universelle Rolle
    • TBox
      • Inklusion, Äquivalenz
    • RBox
      • Inklusion, Allg. Inklusion
      • transitiv, symmetrisch, reflexiv, irreflexiv, disjunkt
    • ABox
      • Klassenzugehörigkeit, Rollenbeziehungen, Negierte Rollenbeziehungen, Gleichheit, Ungleichheit
  • Syntax
    • owl:NamedIndividual → keine direkte Klassenzugehörigkeit
    • owl:AllDisjointClasses, owl:disjointUnionOf
    • owl:AsymmetricProperty / ReflexiveProperty / IrreflexivProperty
    • owl:hasKey (nicht beschreibungslogisch)
    • owl:propertyDisjointWith
    • owl:topObjectProperty, owl:bottomObjectProperty, owl:inverseOf
    • owl:PropertyChainAxiom
    • a owl:Restriktion; owl:onClass Cls
    • owl:hasSelf
    • [] rdf:type owl:negativePropertyAssertion
  • Komplexität
    • SHOIN(D) → NExpTime
    • SHROIQ(D) entscheidbar, N2ExpTime
    • erweiterung Tableau durch RBox-Automaten
  • Metamodellierung
    • Punning → einfache Metadaten
  • OWL 2 Profile
    • Subsprachen von OWL2 in Polynomialzeit entscheidbar
    • eleminieren Ursache - Nicht-Determinismus
      • Disjunktion, maxCardinality
      • Kombi aus Existenz und Allq.
      • abgeschlossene Klassen

Tuesday, March 6, 2012

Semantic in Bullets - OWL semantics


  • ALC and OWL DL
    • Klassen, Rollen und Individuen
    • owl:Thing, owl:Nothing
    • Klasseninklusion, -disjunktion, -äquivalenz
    • owl:complementOf, owl:intersectionOf, owl:unionOf
    • rdfs:domain, rdfs:range
  • SHOIN(D)
    • owl:sameAs, owl:differentFrom → erweitert mit a=b (schon in DL)
    • owl:oneOf, owl:hasValue
    • Kardinalitätsrestriktion
    • Rollenkonstruktoren: rdfs:subPropertyOf, inverse, transitiv, symetrisch Rollen
    • beliebig komplexes Schachteln

Monday, March 5, 2012

Semantic in Bullets - OWL


  • OWL
    • Klassen, Properties, Instanzen
    • Open World Assumption
    • No Unique Name Assumption
    • Fragment von FOL
    • OWL Lite < OWL DL < OWL Full
  • OWL Lite SHIF(D)
    • keine Aufzählung, Kardinalität, Disjunkheit → ExpTime
  • OWL DL SHOIN(D) bzw. SHROIQ(D)
    • entscheidbar, vollständig, korrekt
    • Typentrennung: rdfs:Class/Property nicht erlaubt
    • Konkrete Rollen nicht transitiv
    • NExpTime
  • OWL Full
    • OWL + RDFS
    • Schachtelung
    • Unentscheidbar
    • keine Typentrennung owl:Thing rdfs:Resource
  • Mighty
    • Disjunktheit von Klassen, Inverse Properties
    • Verschiedenheit von Instanzen, Klassenbeschreibungen
  • Syntax
    • owl:class, Thing, Nothing
    • abstrakte Rollen (Object Properties) owl:ObjectProperty, rdfs:domain, rdfs:range
    • konkrete Rollen (Datatype Properties) owl:DatatypeProperty &xsd,string
    • owl:disjointWith, rdfs:subClassOf, owl:equivalentWith, owl:sameAs, owl:differentFrom
    • owl:oneOf (abgeschlossene Klasse)
    • Klassenkonstruktoren owl:intersectionOf, owl:unionOf owl:complementof (kombiniert mit subClassOf, owl:equivalentClass)
    • Rolleneinschränkungen: owl:hasValue, owl:allValuesFrom, owl:cardinality (min/max) → rdfs:subClassOf[ a owl:Restriktion; owl:onProperty :testeMich; owl:allValuesFrom :Class].
    • Rolleneigenschaften
      • rdfs:subPropertyOf, owl:inverseOf
      • rdf:type TransitiveProperty, SymmetricProperty, FunctionalProperty
  • Terminologische OWL Anfragen
    • Klassenäquivalenz, Disjunktheit von Klassen
    • Widerspruchsfreiheit
    • Klassenkonsistenz = Äquivalent zu owl:Nothing
  • Assertionale Anfragen
    • Instanzüberprüfung
    • Klassenextension (alle Instanzen einer Klasse)
    • Rollenüberprüfung (2 Instanzen verknüpft)
    • Rollenextension

Wednesday, February 29, 2012

Semantic in Bullets - Linked Data Engineering


  • Daten verschlossen, unterschiedliche APIs und Austauschformate
  • → semantische Technologien um Daten zu publizieren und zu verbinden
  • Linked Open Data
    • 1. use URIs for things
      • reale und abstrakte Objekte
    • 2. use HTTP uris to lookup
      • lesbar für Mensch und Maschine (Content Negotiation)
    • 3. give useful information using standards (RDF/SPARQL)
      • alle URIs dereferenzierbar
    • 4. include links to other resources
      • inhaltlich zusammenhängen
      • relationship, identity, vocabulary
    • → Entstehung des Web of Data → DBPedia in Mitte
  • Anwendung
    • Semantic Mashups
      • Anwendung nutzt vernetzte RDF Daten aus unterschiedliche Datenquellen
    • Browser für Linked Data
    • Linked Open Data Rating
      • Available → Maschine-readable → non-proprietary format → RDF and SPARQL → Link to other data
    • Linked Data Ontologien
      • owl:sameAs, owl:equivalentClass to connect ontologies
      • Upper Ontology z.B. Umbel
      • Link Ontology SKOS
    • Zugriff über SPARQL Endpoints (RESTfull)
      • komplexe Abfragen über mehrere
        • nacheinander
        • LOD repo → zentraler Speicher (nicht immer aktuell)
        • local copy (Wartung)
        • föderiert: Mediator, Link Traversal Based Query Execution (zeitaufwändig)
  • Challenges
    • quality, performance, data consumption, usability
    • Research
      • Crawl, Analysis (Structural, Content), Cleansing, Ranking, Augmenting