Austausch von Katalog-Informationen über Ontologien am Beispiel des OXID Shop-Systems und UBL

Größe: px
Ab Seite anzeigen:

Download "Austausch von Katalog-Informationen über Ontologien am Beispiel des OXID Shop-Systems und UBL"

Transkript

1 JOHANN WOLFGANG GOETHE UNIVERSITÄT FRANKFURT AM MAIN Fachbereich Informatik und Mathematik Institut für Informatik Datenbanken und Informationssysteme Austausch von Katalog-Informationen über Ontologien am Beispiel des OXID Shop-Systems und UBL Diplomarbeit von Alicja Koppe Erstprüfer: Prof. Dott.-Ing. Roberto V. Zicari Betreuer: Dr. Karsten Tolle Abgabetermin: 01. März 2012

2 2

3 Eidesstattliche Erklärung Hiermit erkläre ich, dass ich die vorliegende Diplomarbeit selbständig verfasst und keine anderen als die angegebenen Quellen, Hilfsmittel und Geräte benutzt habe. Frankfurt am Main, 01. März 2012 Alicja Koppe 3

4 4

5 Danksagung An dieser Stelle möchte ich mich bei allen Personen bedanken, die mich über die gesamte Studienzeit und insbesondere bei der Erstellung meiner Diplomarbeit unterstützt haben. Ein besonderes Dankeschön geht an Herrn Dr. Karsten Tolle, der mich während meiner Diplomarbeit hervorragend betreut hat und mir immer mit wertvollen Hinweisen und Ratschlägen zur Seite stand. Ich danke ganz herzlich meinem Mann Michael Koppe für sein jahrelanges Verständnis und seine großartige Unterstützung und möchte ihm diese Arbeit widmen. Danke, dass Du immer an mich geglaubt hast! Nicht zuletzt möchte ich meinen Eltern danken, die mir das Studium überhaupt erst ermöglicht haben. 5

6 6

7 Inhaltsverzeichnis 1 Allgemeines Motivation Zielsetzung Gliederung der Arbeit 10 2 Grundlagen EDI Electronic Data Interchange XML- basierte Standards OASIS Universal Business Language (UBL) UBL-Katalog Online Shop System OXID Was ist eine Ontologie? Aufbau von Ontologien Ontologiemodellierung und Ontologiesprachen Web Ontology Language OWL Ontologie als Adapter 30 3 Konzeption Modellierung der Ontologie Mapping zwischen Datenbank und Ontologie Mapping zwischen Ontologie und XML 35 4 Erstellung der Ontologie Struktur der OXID- Datenbank Modellierung der Ontologie 41 5 Mapping von einer Datenbank auf eine Ontologie Umwandlung der OXID- Datenbank in eine Ontologie Bewertung von Mapping-Werkzeug IwOnto 53 6 Mapping einer Ontologie auf einen UBL-Katalog Existenz von passenden Mapping-Werkzeugen Prolog vor der Entwicklung des Programms Implementierung Testen von UBL-Katalog auf die Gültigkeit 59 7 Zusammenfassung und Ausblick Zusammenfassung Ausblick 62 7

8 A Die Produkt-Ontologie in RDF/XML Syntax 63 B Schema der OXID-Datenbank 66 C Schema für den UBL-Katalog 67 D Inhaltsbeschreibung der CD 69 Literaturverzeichnis 71 8

9 Kapitel 1 Allgemeines 1.1 Motivation Die Kommunikation zwischen Kunden, Lieferanten oder anderen Geschäftspartnern basiert auf dem Austausch von Geschäftsdokumenten, z.b. Angebot, Bestellung, Lieferschein oder Rechnung. Heutzutage tauschen immer mehr Unternehmen ihre Geschäftsdokumente auf dem elektronischen Wege aus. Damit ein reibungsloser Dokumentenaustausch zwischen jeweiligen Systemen stattfinden kann, müssen die Dokumente ein standarisiertes Datenformat haben. Es gibt viele Standards für den Austausch von Geschäftstransaktionen, die je nach Branche eingesetzt werden, z.b. SWIFT für Banken oder EDITEX in der Textilbranche. Mit der Nutzung vom elektronischen Datenaustausch läuft die Kommunikation schneller und automatisierter ab. Dies führt zur enormen Ersparnis von Zeit und Geld und ist mit hoher Effizienz verbunden. Im elektronischen Handel werden Waren im Internet zum Kauf und Verkauf angeboten. Für die Online- Präsentation und -Verkauf der Waren benutzen viele Händler einen Internet- Onlineshop, der auf einem Shop-System basiert. Auf dem Markt findet man viele verschiedene Shopsysteme, die die Erstellung, Verwaltung und Vermarktung eines Onlineshops ermöglichen. Es gibt kommerzielle Shopsysteme zum mieten bzw. kaufen oder die Open- Source- Shopsysteme zum kostenlosen Runterladen und Installieren. Der Austausch und Abgleich von Kataloginformationen könnte für einen Händler, der mehrere Online-Shops betreibt, von Nutzen sein. Angenommen ein Händler besitzt einen privaten Online-Shop sowie ein Konto auf dem Internetaktionshaus Ebay, die beide auf einem Datenbankartikelbestand basieren. Nach Verkauf eines Artikels in einem Shop müssten dementsprechend die Artikelbestände im zweiten Shop aktualisiert werden. Es ist aber nicht gewährleistet, dass alle Partner alle Dokumente im gleichen Format benutzen. Da dieses Problem unabhängig von der Branche ist, sollte für eine Lösung, um möglichst viele Händler zu erreichen, ein Austauschformat gewählt werden, welches unabhängig von Brachen ist. Mit diesem Ziel brachenunabhängig zu sein, wurde die Universal Business Language (UBL) [UBL] entwickelt. UBL soll den Austausch von Geschäftstransaktionen zwischen Unternehmen aus vertikalen Märkten ermöglichen. 9

10 Sollte sich dies durchsetzen, könnte mittels dann eingebauter UBL-Schnittstellen in den Onlineshops oder dem Ebay-System, die UBL-Dateien aufgenommen und Daten für das entsprechende Konto aktualisiert werden. Da klar ist, dass UBL nicht der einzige Standard sein wird, muss überlegt werden, wie mit einer größeren Anzahl von Standards zu verfahren ist. Hierbei bietet sich eine zusätzliche Abstraktionsebene an, in der eine Konzentration auf die logische Ebene stattfindet. Dies kann z.b. über eine Ontologie geschehen, in der die semantischen Konzepte beschrieben würden. In unserem Fall also Beschreibung der Produkte, wie viele im Lager vorrätig sind und vieles mehr. Soll ein weiterer Standard unterstützt werden, muss so nur eine Abbildung auf die Ontologie stattfinden und nicht auf alle anderen genutzten Standards. 1.2 Zielsetzung Das Ziel dieser Diplomarbeit ist es eine Abbildung von Datenbankinhalten einer relationalen Datenbank auf ein Standardaustauschformat für Geschäftsdokumente durchzuführen. Der Elektronische Shop speichert seine Daten in der vom Shop erzeugten SQL-Datenbank. Mit Hilfe von Softwarewerkzeugen sollen die Artikelinformationen aus der oben genannten Datenbank gelesen und in Form eines Standardaustauschformates für Geschäftsdokumente ausgegeben werden. Dies wird am Beispiel eines kostenlosen, quelloffenen und vorgegebenen OXID eshop Community Edition und eines vorgegebenen Austauschformates für Geschäftsdokumente Universal Business Language (UBL) durchgeführt. 1.3 Gliederung der Arbeit Das Kapitel GRUNDLAGEN (Kapitel 2) ab Seite 13 stellt die grundlegenden Begriffe und Arbeitsmittel vor, die in dieser Arbeit verwendet werden. Insbesondere wird auf die Ontologien eingegangen, sowie auf das Datenaustauschformat Universal Business Language und OXID Shop-System. Im Kapitel KONZEPTION (Kapitel 3) ab Seite 33 werden der Arbeitsablauf der Diplomarbeit und die dazugehörigen Techniken beschrieben, die für das Erreichen des gesetzten Zieles der Arbeit durchgeführt und eingesetzt werden. Im Kapitel ERSTELLUNG DER ONTOLOGIE (Kapitel 4) ab Seite 39 wird eine Ontologie mit Hilfe von einem Ontologie-Editor modelliert und die dazugehörigen Schritte ausführlich dokumentiert. 10

11 Das Kapitel MAPPING VON EINER DATENBANK AUF EINE ONTOLOGIE (Kapitel 5) ab Seite 49 beschreibt den Prozess der Abbildung zwischen der relationalen Datenbank des vorgestellten Shop-Systems und einer Ontologie. Anschließend findet die Bewertung des Mapping-Werkzeugs statt. Das Kapitel MAPPING EINER ONTOLOGIE AUF EINEN UBL-KATALOG (Kapitel 6) ab Seite 55 beschäftigt sich mit der Abbildung der modellierten Ontologie auf den UBL-Katalog. Es werden zu diesem Zweck verschiedene Werkzeuge auf ihre Nützlichkeit geprüft. Da kein geeignetes Werkzeug gefunden wurde, wird ein eigenes Programm implementiert, mit dem das gewünschte Mapping funktionieren wird. Das Kapitel ZUSAMMENFASSUNG UND AUSBLICK (Kapitel 7) ab Seite 61 fasst die Diplomarbeit kurz zusammen. Im Abschnitt Ausblick werden die Vorschläge zur Erweiterung und Verbesserung des entwickelten Programmes gegeben. 11

12 12

13 Kapitel 2 Grundlagen In diesem Kapitel werden die grundlegenden Arbeitsmittel vorgestellt, die in dieser Arbeit benutzt werden. Im ersten Abschnitt wird der elektronische Datenaustausch EDI (Kap. 2.1), mit Fokus auf die XML- basierten Austauschformaten, dargestellt. Es wird dabei näher auf das Austauschformat UBL eingegangen. Dann wird der UBL-Katalog, ein Dokumenttyp von UBL, beschrieben. Im Weiteren wird das Online Shop System OXID (Kap. 2.2) vorgestellt. Anschließend werden Ontologien (Kap. 2.3) beschrieben, die die Darstellung, den Austausch und die Wiederverwendung von Wissen in digitalisierter Form möglich machen. Die Ontologiesprache Web Ontology Language (OWL) wird charakterisiert. 2.1 EDI Electronic Data Interchange Der elektronische Austausch von Geschäftsdokumenten (Elektronic Data Interchange, EDI) wurde Ende der 60er Jahren entwickelt und eingeführt. Die ersten EDI-Lösungen wurden aus dem Grund entwickelt, weil ein Großteil der zwischenbetrieblichen Kommunikation schriftlich über mehrere Stationen erfolgte. Die Dokumente, die per Post oder per Telefax ausgetauscht wurden, müssten zuerst in jeweiligen Unternehmen erstellt, ausgedruckt und an den Geschäftspartner geschickt werden, wo sie erneut in das System eingegeben werden mussten. Die traditionelle zwischen- und innerbetriebliche Kommunikation war somit sehr zeitaufwendig und fehleranfällig [WHB01,6]. Bei EDI handelt es sich um einen schnellen und automatischen Austausch von elektronischen Geschäftsdaten zwischen beteiligten Unternehmen und deren Computersystemen. Es werden Papierdokumente wie Bestellungen, Rechnungen, Zahlungsaufträge usw. elektronisch erstellt und über Computernetze übertragen. Damit der Austausch von diesen Informationen überhaupt stattfinden kann, müssen die Dokumente so formatiert sein, dass das Computersystem eines anderen Unternehmens sie weiterbenutzen kann. Es muss ein gemeinsamer Standard zur Repräsentation der Daten festgelegt werden, dessen Syntax und Semantik [Sch94,15] bekannt ist. Erst dann können die Geschäftspartner miteinander kommunizieren. Mit der Verwendung standarisierter Datenformate müssen die Daten nur einmal in das System eingeben werden, was mit einem Gewinn an Zeit und Geld verbunden ist [WHB01,6]. 13

14 Da beim EDI menschliche Aufgaben im Kommunikationsprozess z.b. das Sortieren, Ablegen und Versand entfallen, wird die Fehlereingabe reduziert, was wiederum zu einer genaueren und zuverlässigeren Information führt [Fis96, C413.04]. Seit der Einführung von EDI wurden im laufe der Jahre viele internationale und branchenübergreifende EDI-Standards entwickelt. Dazu gehören zum Beispiel [EDA]: SWIFT- Standard für Banken, UN/EDIFACT United Nations Electronic Data Interchange For Administration, Commerce and Transport, VDA - Standard der deutschen Automobilindustrie, Extensible Markup Language (XML) - basierte Standards Und andere. Nachfolgend möchte ich näher auf die XML- basierte Standards eingehen XML-basierte Standards 1998 wurde vom World Wide Web Consortium (W3C) die erste Ausgabe von XML- Spezifikation herausgegeben. XML sollte ein Standard zur Beschreibung von Struktur und Inhalt von Dokumenten werden, wobei der Inhalt und Darstellung voneinander getrennt werden sollen [WHB, 3]. Das hat die Möglichkeiten von Hypertext Markup Language (HTML) übertroffen, da HTML keine Informationen über den Inhalt angibt [XML]. XML ist eine textbasierte Metasprache und eine Untermenge von Standard Generalized Markup Language (SGML; deutsch: Normierte Verallgemeinerte Auszeichnungssprache), von der aber große Teile in XML nicht übernommen wurden [WHB, 18]. XML ist beliebig erweiterbar, die Strukturelemente können nach Bedarf definiert und benannt werden [NIE, 14]. Die Struktur und der Inhalt von XML-Dokumenten werden durch ein XML-Schema beschrieben. Das mit XSD (XML Schema Definition) abgekürzte XML- Schema legt fest, aus welchen Elementen das konkrete XML- Dokument bestehen soll, welchen Inhalt und Attribute die Elemente haben und wie sie miteinander verschachtelt sein sollten. Jedem Element wird ein Typ zugeordnet. Es gibt einfache ( simpletype ) und komplexe ( complextype ) Typen. Einfache Typen sind vordefinierte Datentypen, z.b. String oder Integer. Komplexe Typen können weitere Unterelemente oder Attribute enthalten. 14

15 Damit ein XML-Dokument als solches genannt werden kann, muss das Dokument eine Reihe von Regeln erfüllen [Kno03]: Jedes XML-Dokument muss mit einer XML-Deklaration beginnen, die die XML- Version und die Codierung des Dokumentes angibt. Jedes XML-Dokument muss genau ein Wurzelelement (Root-Element) enthalten, das das Dokument einschließt und alle weiteren Elemente enthält. Jedes Element hat ein Start- und ein Ende- tag oder besteht aus leeren Element. Im folgenden Beispiel (Text 2.1) wird ein XML- Schema dargestellt, dessen Struktur der Daten durch die Verschachtelung wiedergegeben wird. 1.<?xml version="1.0" encoding="utf-8"?> 2.<xsd:schema xmlns:xsd=" 3. <xsd:complextype name= Person > 4. <xsd:sequence> 5. <xsd:element name="name" type="xsd:string"/> 6. <xsd:element name="ort" type="xsd:string"/> 7. </xsd:sequence> 8. </xsd:complextype> 9.</xsd:schema> Text 2.1: Beispiel für XML-Schema In der zweiten Zeile werden das öffnende Wurzelelement schema und der Namensraum für XSD definiert. Das Element Person vom komplexen Typ, enthält weitere Elemente Name und Ort, die vom Datentyp String sind. Das Element sequence definiert eine geordnete Struktur mit fester Reihenfolge. Für das oben genannte XML- Schema wird jetzt im Text 2.2 ein XML- Dokumentbeispiel, so genanntes Instanzdokument dargestellt. Das Dokument stellt den Namen und den Wohnort einer Person vor. <?xml version="1.0"?> <Person> <Name>Alicja Koppe </Name> <Ort>Frankfurt</Ort> </Person> Text 2.2: Beispiel für XML- Dokument OASIS Universal Business Language (UBL) Die, von der Organization for the Advancement of Structured Information Standards (OASIS) entwickelte Universal Business Language (UBL), definiert eine Sammlung von 15

16 internationalen branchenunabhängigen XML- basierten Standards für Geschäftsdokumentenaustausch. Das Ziel der UBL-Entwicklung war unter anderem, den Datenaustausch zwischen Unternehmen zu erleichtern, die unterschiedlichen Branchen angehören und daher keinen gemeinsamen, branchenspezifischen Standard besitzen [UBL10]. UBL ist die erste internationale Implementation von Electronic Business XML (ebxml) Core Components Technical Spezifikation (CCTS 2.01, ISO 1500) [OAUBL, Punkt 13]. Die erste, im November 2004 veröffentlichte Version enthielt neun Dokumenttypen [OAUBL, Punkt 3]. Dank der UBL Version 2.0, die Ende 2006 um weitere 23 Dokumenttypen erweitert wurde, existieren momentan mehr als 30 Dokumenttypen [OAUBL, Punkt 3, 17]. UBL Schemas sind modular, wieder verwendbar, und so wie XML leicht erweiterbar. Die kostenfreie UBL Bibliothek basiert auf ebxml CCTS Business Information Entities (BIEs), den so genannten Informationseinheiten oder Bausteinen. Die aus diesen Informationseinheiten zusammengesetzten UBL-Dokumente können in verschiedenen Geschäftsdokumenten verwendet werden [UBL10]. UBL definiert folgende Metamodellierungselemente: Core Components Types (CCT) und Data Types (DT) identifizieren die Typen der Bausteine eines Dokumentes Aggregate Core Components (ACC) definieren zusammengesetzte Geschäftsstrukturen; kann als Objekt oder eine Objektklasse repräsentiert werden und enthält Attribute oder Eigenschaften Basic Core Components (BCC) und Association Core Components (ASCC) definieren einfache und zusammengesetzte Eigenschaften von ACC Core Components (CC) oder Business Information Entities (BIE) definieren Informationseinheiten [NAL05,7]; man unterscheidet drei Arten von CC und BIEs: BBIE = Basic Business Information Entities bezeichnen einzelne Informationen über Objekte auf Elementarebene. Die Informationseinheiten sind nicht mehr zerlegbar, haben also atomaren Charakter, z.b. Zahlen (VerisonID), Vor- und Nachnamen von Personen. ABIE = Aggregate Business Information Entities beschreiben Informationseinheiten auf Aggregatebene, die immer oder oft zusammen vorkommen, z. B. um Adressen oder Kombinationen von Waren- und 16

17 Mengenbezeichnungen. Die Informationseinheiten auf dieser Ebene sind aus verschiedenen Einheiten zusammengesetzt, die ihrerseits elementar sind oder selbst Aggregate sein können. ASBIE = Association Business Information Entity beschreiben Informationselemente, die aus verbundenen ABIEs bestehen. ABIEs assozieren miteinander, z.b., eine Käuferadresse, ABIEs: Käufer und Adresse. Die folgende Abbildung 2.1 soll den Zusammenhang zwischen BBIE, ABIE und ASBIE verdeutlichen. Abbildung 2.1: Zusammenhang zwischen BBIE, ABIE und ASBIE [LK07] UBL-Katalog In diesem Teil der Diplomarbeit konzentrieren wir uns auf den Dokumenttyp UBL-Katalog, der fünf verschiedene Dokumententypen enthält. Mit den Dokumenten kann ein neuer elektronischer Katalog angefordert, erstellt oder gelöscht werden. Man kann die enthaltenen Artikel verwalten und aktualisieren. Abbildung 2.2 zeigt die allgemeine Prozesserstellung eines Kataloges und die darin verwendeten Dokumenttypen. Die beteiligten Akteure sind der Kunde und der Lieferant des Kataloges. 17

18 Abbildung 2.2: Allgemeiner UBL-Katalogprozess zwischen Kunde und Lieferant [UBL10] Beispiel: Ein Krankenhaus braucht immer wieder neue Operationsabdeckung und Zubehör, z.b. OP-Masken, OP-Kompressen, OP-Nähten, etc. Das Krankenhaus hat mit einigen Lieferanten Verträge abgeschlossen und erwirbt die Ware bei denen. Bevor der Geschäftsprozess stattfinden kann, treffen sich die beiden Geschäftspartner und legen den Inhalt des UBL-Kataloges fest. Das Krankenhaus muss eine Schnittstelle einbauen, mit deren Hilfe das UBL-Dokument in das System aufgenommen werden kann. Ein Lieferant benutzt das OXID System, was auf der OXID- Datenbank basiert. Ein Krankenhausmitarbeiter aus der Einkaufsabteilung braucht neue Ware, z.b. Spritzen und möchte die bei einem Lieferanten bestellen. Er fordert den UBL-Katalog bei dem Lieferanten an. Die Informationen aus OXID- 18

19 DB werden jetzt mit Hilfe der getesteten Werkzeuge und der eingebauten Ontologie in das Austauschformat UBL umgewandelt und als UBL-Katalog ausgegeben. Der UBL-Katalog in Form eines XML- Dokumentes wird von der integrierten Schnittstelle des Krankenhausbestellsystems (KHBS), das auf der Datenbank basiert, aufgenommen, interpretiert und in der Datenbank mit Artikelinformationen gespeichert (z.b. Spritzen von Lieferant1, Lieferant2 usw.). Ein Mitarbeiter aus der Einkaufsabteilung kann bei Bedarf auf das KHBS eingreifen und somit von dem günstigeren Lieferanten die Waren bestellen. Die folgende Abbildung 2.3 stellt das beschriebene Beispiel graphisch dar. Datenbank von OXID OXID MySQL Ontologie Integrierte Schnittstelle des KHBS UBL-Catalog Spritzen KHBS XML-Dokument INPUT Datenbank mit Artikelinformationen, Z.B. Spritzen von Lieferant 1, Lieferant 2 usw. Krankenhaus Einkauf Abbildung 2.3 Austausch von Geschäftsdaten zwischen Krankenhaus und Lieferanten In der unten stehenden Tabelle 2.1 werden die Elemente des UBL-Kataloges, deren Komponentenart und Definition beschrieben. Der UBL-Katalog besitzt viele Elemente. In dieser Arbeit wird nur auf die notwendigen Elemente für ein UBL-Katalog eingegangen. 19

20 ELEMENT TYPE BESCHREIBUNG ID BBIE Ein Identifikator für den Katalog zugeteilt vom Verkäufer IssueDate BBIE Das Datum, an dem Katalog ausgestellt wurde ProviderParty ASBIE Informationen über Kataloganbieter(Name, Adresse, Kontakt) ReceiverParty ASBIE Informationen über Katalogempfänger (Name, Adresse, Kontakt) CataloqueLine ASBIE Verbindung von Elementen, die gekauft werden können Hier findet man alle Informationen zu den Artikeln Tabelle 2.1 : Die Beschreibung der notwendigen Elemente eines UBL-Kataloges [UBC] Die, in der Tabelle 2.1 beschriebenen Elemente, werden jetzt mit zufälligen Werten in einer Beispielontologie (Text 2.3) dargestellt. Beispiel eines UBL-Kataloges <Catalogue > <cbc:id>cat-ex-1</cbc:id> <cbc:issuedate> </cbc:issuedate> <cac:providerparty /> <cbc:endpointid schemeagencyid="9" schemeid="gln"> </cbc:endpointid> <cac:partyname> // ID oder/und Name <cbc:name>aluras Shop</cbc:Name></cac:PartyName> <cac:postaladdress> <cbc:addressformatcode listagencyid"320" listid="urn:oioubl:codelist:addressformatcode-1.1"> StructuredDE</cbc:AddressFormatCode> <cbc:streetname>vatterstrasse</cbc:streetname> <cbc:buildingnumber>40</cbc:buildingnumber> <cbc:cityname>frankfurt</cbc:cityname> <cbc:postalzone>60386</cbc:postalzone> <cac:country><cbc:identificationcode>de</cbc:identificationcode></cac:country> </cac:postaladdress> <cac:partylegalentity> <cbc:companyid schemeid="de:cvr">de </cbc:companyid></cac:partylegalentity> </cac:providerparty > +<cac:receiverparty > <cac:catalogueline > <cbc:id >SUB </cbc:ID> <cbc:actioncode listschemeuri="urn:oioubl:codelist:catalogueactioncode-1.0 > ADD</cbc:ActionCode> <cbc:orderableindicator >true</cbc:orderableindicator> <cbc:orderableunit>ea</<cbc:orderableunit> //wenn true, dann Unit pflicht <cbc:contentunitquantity unitcode="ea" >1</cbc:ContentUnitQuantity> <cac:requireditemlocationquantity /> //notwendig wegen Preis <cac:price> <cbc:priceamount currencyid="eur">65.00</cbc:priceamount> //Betrag <cbc:basequantity unitcode="ea">1</cbc:basequantity> //65.00 EUR für 1 Artikel <cbc:orderableunitfactorrate>1</cbc:orderableunitfactorrate> //BaseQuantity zu OrdUnit.Wenn beide 1, dann OrdUnitFactorR =1 </cac:price></cac:requireditemlocationquantity> 20

21 <cac:item> <cbc:name >Jeans</cbc:Name> //Name im Katalog eventuell <cbc:description> </ cbc:description> eventuell <cbc:brandname >Lee</cbc:BrandName> //Marke eventuell <cbc:modelname >Botcut</cbc:ModelName> //Modell <cac:sellersitemidentification /> //Beschreibung des Artikels <cbc:id>1234</cac:id> //ArtikelNummer <cac:physicalattribute> //Eigenschaften (Color, Size) <cbc:attributeid>color</cac: AttributeID> <cbc:description>blue</cac:description><cac:physicalattribute> <cac:sellersitemidentification /> <cac:commodityclassification/> // Klassifikationsstandard für Produkte(UNSPSC) <cbc:itemclassificationcode listname="unspsc"listversionid="7.0401"> </cbc:ItemClassificationCode></cac:CommodityClassification> </cac:item> </cac:catalogueline> </Catalogue> Text 2.3: Beispiel für einen UBL-Katalog mit den notwendigen Elementen 2.2 Online Shop System OXID In einem Onlineshop bekommt man Waren und Produkte, die man online erwerben kann. Um ein Onlineshop betreiben zu können, benötigt man ein Shopsystem, also eine Software, die alle Abwicklungen im Hintergrund des Shops ablaufen lässt. Man bekommt auf dem Markt viele verschiedene Shopsysteme, die die Erstellung, Verwaltung und Vermarktung eines Onlineshops möglich machen. Es gibt Miet-, fertige Kauf- und kostenlose Open- Source- Shopsysteme. Um das Ziel dieser Diplomarbeit zu erreichen und die dazugehörige Lösung zu testen, benutzen wir ein kostenloses Shopsystem OXID Community Edition [OCE]. In der Abbildung 2.4 wird die Hauptseite von OXID Community Edition dargestellt. Die Architektur von OXID ist modular, objektorientiert und kann einfach erweitert und individuell angepasst werden. Modulare Architektur bedeutet, dass sich die Software aus Modulen (Bausteinen, Bauelementen) zusammensetzt. Die Objektorientierung hilft bei der Definition von Modulen und der Interaktion zwischen Modulen [OCE]. 21

22 Abbildung 2.4: Screenshot von OXID eshop Community Edition [OCE] 2.3 Was ist eine Ontologie? Der Begriff Ontologie wird sowohl in der Philosophie als auch in der Informatik verwendet. Um diesen Begriff in der Informationsverarbeitung zu verstehen, muss zuerst erläutert werden, was die Informationsverarbeitung ist. Die fundamentale Aufgabe von Informationssystemen ist Objekte der realen Welt in einer geeigneten Form darzustellen, so dass diese vom Computer verarbeitet werden können. Diese vorgenommenen Veränderungen, müssen wieder in der realen Welt abgebildet werden [Stu09, 5]. In der Informatik gibt es eine große Anzahl von Definitionen für diesen Begriff. Die bekannteste stammt von T.Gruber, der die Ontologie als an explicit specification of a conceptualization [Gru93] definiert. Auf Deutsch lautet diese Definition: eine explizite Spezifikation einer Konzeptualisierung. Diese Definition wurde später von Studer erweitert, der die Ontologie als eine formale, explizite Spezifikation einer gemeinsam genutzten Konzeptualisierung definiert [Stu09, 22]. Im Gegensatz zu einer klassischen Datenbank beschreibt eine Ontologie detailliert eine Menge von Begriffen eines Weltausschnittes und deren Beziehungen im Bereich einer bestimmten Domäne. Die Regeln über deren Zusammenhang ermöglichen es, die Rückschlüsse aus den vorhandenen Daten zu ziehen, Widersprüche in den Daten zu erkennen und fehlendes Wissen selbstständig aus dem 22

23 Vorhandenen zu ergänzen [ONT]. Die Ontologie soll einen formalen Aufbau haben und keine natürliche Sprache enthalten, um dabei maschinenlesbar sein zu können Aufbau von Ontologien Damit eine Ontologie von Maschinen benutzt werden kann, muss sie eine genau definierte Struktur besitzen. Eine Ontologie besteht aus folgenden Bestandteilen [ONT]: Begriffe auch als Klassen bezeichnet. Beschreiben eine Menge von Objekten der realen Welt mit dazugehörigen Attributen Instanzen repräsentieren Objekte eines Begriffs Relationen beschreiben Beziehungen zwischen Instanzen Vererbung: Relationen und Eigenschaften der Begriffe können vererbt werden, wobei alle Eigenschaften an das abgeleitete Instanz weitergegeben werden. Axiome: Aussagen über Begriffe, die immer wahr sind. Diese repräsentieren Wissen, das sich nicht aus den Begriffen ableiten lassen. Die Abbildung 2.5 zeigt eine Beispielontologie mit ihren Elementen. Aus dieser Ontologie kann man herausfinden, welches Outfit mit passenden Schuhen und dazugehörigen Accessoires die Person gerne trägt. Abbildung 2.5 : Begriffe, Instanzen und Relationen einer Beispielontologie 23

24 2.3.2 Ontologiemodellierung und Ontologiesprachen Man unterscheidet zwischen unterschiedlichen Typen von Ontologien. Ein sehr wichtiges Kriterium ist die Art, in der das Wissen dargestellt wird. Ontologien, die allgemeine, grundlegende und bereichübergreifende Konzepte der Welt beschrieben, werden als Upperlevel, Top-level, Foundational oder allgemeine Ontologien bezeichnet. Zu den Upperlevel Ontologien gehören z.b. die Suggested Upper Merged Ontology (SUMO), Ontologie von Russel und Norvig, SOWA- Ontologie, DOLCE und weitere [NL05,6]. Die Ontologien, die ein spezielles Wissensgebiet beschrieben, bezeichnet man als Low-level- oder Domänen- Ontologien. Zu den weiteren Typen gehören Application- (Anwendungs-) oder Task- (Aufgaben-) Ontologien [Stu09,56]. Es gibt eine Vielzahl von Ontologiebeschreibungssprachen. Dazu gehören unter anderem das RDF- Schema, DAML+OIL, F- Logic, die Web Service Modeling Language (WSML) und das von World Wide Web Consortium (W3C) standardisierte Web Ontologie Language (OWL) als Ontologiesprache für das semantische Web [ONT]. Es gibt verschiedene Ontologie-Editoren, mit denen man Ontologien in der Informatik modellieren kann. Neben den kostenpflichtigen Editoren gibt es auch zahlreiche kostenlose, wie zum Beispiel Protégé [PRO] oder Swoop [SWO]. Unsere Ontologie wird mit dem Ontologie- Editor Protégé modelliert Einer der bekanntesten Ontologie-Editoren ist Protégé der Stanford University. Protégé wird als Open- Source Anwendung zur Verfügung gestellt und kann das Wissen mit den Ontologiesprachen wie OWL und RDF modellieren. Die Wissensmodellierung mit formalen Beschreibungssprachen ist in Protégé auf zwei Arten möglich: mit Protégé-Frames und mit Protégé-OWL. Protege-Frames erlaubt frame-basierte Ontologien zu erstellen und basiert auf dem Open Knowledge Base Connectivity protocol (OKBC). Protege-OWL unterstützt OWL (Web Ontology Language) ist ein Standard zur Ontologie-Erstellung unterhalb des Semantic Web [PRO]. Die detaillierten Gründe für den Einsatz von Protégé entnahm ich der Diplomarbeit von Mario Bachman [Bach11, 24-27]. Der Prozess der Ontologie- Modellierung ist iterativ und setzt sich aus mehreren Schritten zusammen. Bis das perfekte Ergebnis erreicht wird, muss das Modell oft mehrmals überarbeitet oder um neue Klassen ergänzt werden. Ein Designprozesses setzt sich aus folgenden Schritten zusammen: 24

25 1. Umfangbestimmung Im ersten Schritt muss geklärt werden, von wem und für was die Ontologie eingesetzt und angewendet wird. Um den Umfang der Ontologie zu bestimmen und zu begrenzen, muss festgelegt werden, welche Aspekte einer Domäne in der Ontologie beschrieben werden sollen und welche nicht. Eine große Hilfe dabei bieten die so genannten Competency Questions. Competency Questions sind Fragen, die man am Anfang zusammenstellt und die am Ende der Modellierung von der Ontologie beantworten werden sollen [Stu09, 161]. Zum Beispiel im Bereich Wein und Essen soll die Ontologie beantworten, welche Weine zu welchen Essen passen. Beispielhafte Fragen wären: Ist ein Dornfelder ein Rotwein oder ein Weißwein? Passt ein Dornfelder zu dunklem Fleisch? Welche Art von Wein passt am besten zu Schweinefleisch? Die Liste der Fragen kann im Laufe der Erstellung um neue Fragen ergänzt oder verkürzt werden. Je mehr Fragen, desto mehr kann der Ontologieumfang eingeschränkt werden. Mit diesen Fragen wird später die Ontologie auf alle gewünschten Informationen geprüft. Wenn sich alle Fragen vollständig beantworten lassen, weist das auf die korrekte Erstellung der Ontologie hin. 2. Wiederverwendung von bestehenden Ontologien Es ist erlaubt existierende Ontologien entweder komplett oder teilweise wieder zu verwenden. Man spart dabei die Erstellungszeit und nutzt den Vorteil, dass die bestehenden Ontologien bereits auf Fehler getestet worden sind. Im Internet stehen viele verschiedene Quellen für die Suche nach Ontologien zur Verfügung. Es existieren Bibliotheken von Ontologien, die es erlauben nach den Begriffen zu suchen, z.b. Ontolingua Ontology Library [OOL] oder DAML Ontology Library [DOL]. Außerdem gibt es spezielle Suchmaschinen, in denen man nach Begriffen der Ontologie im semantischen Web suchen kann. Zum Beispiel Swoogle [SWO] oder Watson [WAT] [Stu09, 164]. 3. Begriffe auflisten In diesem Schritt wird eine Liste aller Begriffe erstellt, die in der Ontologie vorkommen sollen. Diese Therme, die eine Menge von Objekten mit gemeinsamen Eigenschaften beschreiben, sind gute Kandidaten für gesuchte Begriffe. Als Grundlage für die Identifikation 25

26 von Begriffen können die Competency Questions oder andere Informationsquellen wie Datenbanken dienen. Normalerweise werden Substantive verwendet, da diese wahrscheinlich die Begriffe beschreiben. In der Datenbank sind z.b. die Namen der Tabellen und deren Spalten für die Suche nach Begriffen relevant. Außerdem werden alle Eigenschaften aufgelistet, die diese gefundenen Begriffe beschreiben. Viele dieser Eigenschaften sind Verben und stellen eventuell relevante Relationen zwischen den Begriffen dar [Stu09, 165]. 4. Klassenhierarchie Die aufgelisteten Klassen müssen jetzt so angeordnet sein, dass sie ein einheitliches Modell darstellen. Das bedeutet, dass die in einer Hierarchie aus Ober- und Unterklassen angeordnet werden müssen. Es existieren verschiedene Verfahren für diesen Arbeitsschritt. Die Top-Down Methode bestimmt zuerst die allgemeine Klasse im Ontologiebereich und ergänzt das um die direkten Unterklassen. In der Wein-Ontologie wäre Wein die allgemeine Klasse und Rotwein und Weißwein die Unterklassen. Nachdem diese Ebene fertig gestellt wird, wendet man diese Methode rekursiv auf die nächsten Ebenen an. In der Bottom-Up Methode arbeitet man genau in der umgekehrten Richtung. Man sucht die Blätter der Ontologie ab und bildet nach den gemeinsamen Eigenschaften dafür eine Oberklasse. Wie der Top-Down Ansatz, wendet man Bottom-Up rekursiv auf die weiteren Ebenen an. Es besteht auch die Möglichkeit, eine Kombination aus den beiden Methoden zu benutzen. 5. Klasseneigenschaften Die Klassen aus der Klassenhierarchie werden nun um seine Eigenschaften ergänzt. In einer Wein-Ontologie wären z.b. Farbe, Preis, Herkunft oder Hersteller des Weines die Eigenschaften der Klasse Wein. Es ist auch möglich, die gleichen Eigenschaften mehreren Klassen zu zuordnen. Da die Eigenschaften vererbt werden, werden die bei der obersten Klasse eingefügt. Der nächste Schritt ist die Definition und Beschreibung von Relationen. Die Relationen sind Eigenschaften, die zwei Begriffe miteinander verbinden. Beispielsweise wird ein Wein von einem Hersteller hergestellt oder ein Weinregion liegt in einem Land, wobei hergestellt von und liegt in die Relationen darstellen. 6. Klasseneinschränkungen Als Nächstes können die Eigenschaften der Klassen eingeschränkt werden. Kardinalität einer Eigenschaft besagt, wie viele verschiedene Werte diese Eigenschaft 26

27 annehmen kann. Dabei kann es zwischen minimaler Kardinalität mit höchstens einem Wert und maximaler Kardinalität mit beliebig vielen Werten unterschieden werden. Z.B. Ein Wein kann nur von einem Hersteller hergestellt werden (minimale Kardinalität) oder mehrere Weine werden in einer Winzerei hergestellt (maximale Kardinalität). Werte der Eigenschaft sind Werte, welche eine Eigenschaft annehmen darf. Mögliche Wertetypen sind Zeichenfolge (String) z.b. für Namen, Zahlen für Preise oder andere spezifische Werte, wie z.b. um den Geschmack des Weines zu beschrieben. Domain und Range Man kann für die Eigenschaften die Domain und Range festlegen. Die Domain ist die Menge aller Klassen, die diese Eigenschaft anwenden können. Range stellt den Wertebereich für diese Eigenschaft dar. Die Instanzen aus der Domain können mittels Eigenschaft mit den Instanzen aus Range verbunden werden. Zum Beispiel die Eigenschaft hatbelag aus der Pizza-Ontologie verbindet die Klasse Pizza mit der Klasse PizzaBelag. In diesem Fall hat die Eigenschaft hatbelag Klasse Pizza als Domain und Klasse PizzaBelag als Range, woraus man beliebige Beläge kombinieren kann [HO11, 33]. 7. Instanzen Im letzten Schritt der Ontologie- Erstellung müssen die denkbaren Instanzen für Klassen festgelegt werden. Man nimmt eine Klasse und dazugehörigen Eigenschaften und bestimmt dafür die realen Werte. Wir schauen uns die Abbildung 2.3 an und schreiben für die Klasse Bekleidung eine beispielhafte Instanz Jeans. Der Begriff Bekleidung besitzt Eigenschaften Name, Marke, Preis und Größe. Die Instanz Jeans bekommt jetzt Werte für die Eigenschaften: Bluejeans (Name), Diesel (Marke), 100 Euro (Preis) und 38 (Größe). So für alle Klassen erstellten Objekte schließen die Modellierung der Ontologie ab Web Ontologie Language OWL Für diese Diplomarbeit ist die Ontologiesprache OWL relevant und wird als einzige in dieser Arbeit untersucht. OWL ist eine formale Beschreibungssprache zur Erstellung von Web Ontologien. Technisch basiert OWL auf der RDF- Syntax, wobei OWL um zusätzliche Relationen erweitert ist und historisch auf DAML+OIL. Es gibt drei Versionen von OWL, die an die Bedürfnisse von verschiedenen Benutzern angepasst werden: 27

28 OWL Lite als eine einfache Untersprache, OWL DL (Description Logics) als eine eingeschränkte Version von OWL Full, OWL Full als ausdruckstärkste Version von OWL Untersprachen ohne Einschränkungen von OWL DL, wobei für uns die OWL Lite von Bedeutung ist. OWL Lite beinhaltet alle grundlegenden Funktionen von OWL und ist leicht verständlich, jedoch ohne verschiedene Sprachkonstrukte aus OWL DL. Mit der OWL Lite kann der Bau von einfachen Klassifikationshierarchien möglich sein [OWL]. Zu den OWL-Sprachkonstrukten gehören: 1. Klasse (Begriff) wird durch die Tags <owl:class>,<owl:oneof>, <owl:unionof>, <owl:intersectionof> in Verbindung mit dem Attribut rdf:id definiert <owl:class rdf:id= Tier /> 2. Instanzen von OWL-Klasse heißen OWL-Individuen und werden durch den Tag <owl:sameas> definiert, der ermöglicht, dass zwei Individuen unter mehreren Namen bekannt ist, z.b.: < Mensch rdf:id= Student /> <Mensch rdf:id= Rudolf /> <owl:sames rdf:resource= #Student /> </Mensch> 3. Eigenschaften werden durch die Tags <owl:objektproperty>, <owl:dataproperty>, <owl:restriction>, <owl:allvaluesfrom> oder <owl:somevaluesfrom> definiert. <owl:objektproperty> können Domain- und Rangeinformationen enthalten und verbinden Instanzen mit anderen Instanzen. Im Text 2.4 werden die Instanzen der Klasse Person mit der Instanzen der Klasse Geschlecht in Verbindung gebracht. <owl:datatypeproperty> können auch Domain- und Rangeinformationen enthalten, wobei die letzten aus XML Schema Datentypen oder RDF- Literalen bestehen. In der untenstehenden Ontologie werden die Begriffe Geschlecht, Person und Mann beschrieben. Ein Mann ist als eine Unterklasse der Klasse Person definiert und hat für die Eigenschaft Geschlecht den Wert männlich. Die Mitglieder der definierten Klasse Person 28

29 sind die Individuen und lassen sich mit den Namen und Vornamen beschreiben, z.b. die Instanz MKoppe. <rdf:rdf xmlns:rdf=" xmlns:rdfs=" xmlns:owl=" xmlns=" xml:base=" <owl:ontology rdf:about=""/> <owl:class rdf:id="geschlecht"/> <owl:class rdf:id="person"/> <owl:class rdf:id="mann"> <rdfs:subclassof rdf:resource="#person"/> <owl:equivalentclass> <owl:restriction> <owl:onproperty rdf:resource="#geschlecht"/> <owl:hasvalue rdf:resource="#männlich" rdf:type="#geschlecht"/> </owl:restriction> </owl:equivalentclass> </owl:class> <owl:objectproperty rdf:id="geschlecht" rdf:type=" <rdfs:range rdf:resource="#geschlecht"/> <rdfs:domain rdf:resource="#person"/> </owl:objectproperty> <owl:datatypeproperty rdf:id="nachname" rdf:type=" <rdfs:range rdf:resource=" <rdfs:domain rdf:resource="#person"/> </owl:datatypeproperty> <owl:datatypeproperty rdf:id="vorname" rdf:type=" <rdfs:range rdf:resource=" <rdfs:domain rdf:resource="#person"/> </owl:datatypeproperty> <Person rdf:id="mkoppe" firstname="michael" name="koppe"> <Gender rdf:resource="#männlich"/> </Person> </rdf:rdf> Text 2.4: Beispiel einer OWL- Ontologie [OWL] 29

30 2.3.4 Ontologie als Adapter Die Abbildung 2.6 stellt die Schritte dar, die man durchgehen muss, um das Ziel der Arbeit zu erreichen. In der Mitte, zwischen der Datenbank (wie der von OXID) und XML Schema (wie die von UBL-Katalog), soll eine Ontologie, als universal Adapter eingebaut werden. Die Abbildung 2.6: Ziel der Arbeit und die Zwischenschritte Aufgabe der eingebauten Ontologie wäre die Datenbankinformationen eines Online- Shop Systems in Form eines Standardaustauschformates für elektronische Daten in Geschäftsverkehr darzustellen. In diesem Fall handelt es sich um Universal Business Language (UBL), das bereits im Kapitel erklärt wurde. Der Vorteil dieses universalen Adapters wäre deutlich zu sehen, bei Benutzung von mehreren Online Shop Systemen, die in viele verschiedene Austauschformate überführt werden sollen. Angenommen, wir hätten drei Online- Shops Systeme, die auf verschiedenen Datenbanken basieren. Diese Datenbankinformationen möchten wir in drei verschiedene Austauschformate für Geschäftsdokumente überführen. Abbildung 2.7: Arbeitweise der Ontologie 30

31 Würde der Informationsaustausch ohne Ontologie stattfinden, bräuchte man 9 Abbildungen. Jeder Datenbankinhalt müsste jeweils in alle drei Austauschformate abgebildet werden, also insgesamt 3 x 3 Abbildungen. Abbildung 2.8: Anzahl der Informationsabbildungen ohne Einsatz von Ontologie Es gibt eine Vielzahl von vordefinierten Werkzeuge, die man für die Ontologieentwicklung benutzen kann. Diese Werkzeuge wurden entwickelt, um das Wissen zu sammeln, zu strukturieren und wieder verwenden zu können. Ontologien ermöglichen den Austausch von Daten zwischen verschiedenen Systemen. Mit dem Einbau von Ontologie, wären nur 3 Abbildungen nötig. Die Ontologie würde als Adapter die Datenbankinformationen empfangen, speichern und exakt in das gewünschte Austauschformat überführen.. Abbildung 2.9: Anzahl der Informationsabbildungen mit Einsatz von Ontologie 31

32 32

33 Kapitel 3 Konzeption In diesem Kapitel wird zunächst das Ziel dieser Arbeit vorgestellt. Darauffolgend werden in die Schritte und die Strategien zum Umsetzung des Vorhabes dieser Arbeit erläutert und beschrieben. Die Hauptaufgabe besteht darin, die Datenbankinhalte einer relationalen Datenbank in ein vorgegebenes Standardaustauschformat UBL abzubilden. Dieser Informationsaustausch kann direkt zwischen der Datenbank und UBL durchgeführt werden. Da es aber viele verschiedene Austauschformate gibt, müsste diese Informationsabbildung jeweils in das gewünschte Format neu überführt werden, was Kosten- und Zeitaufwendig wäre. Als eine Lösung für dieses Problem bietet sich, wie im Kapitel bereits dargestellt wurde, eine Einbindung der Ontologie als Adapter. Der Vorteil der Einbindung der Ontologie zwischen der OXID-Datenbank und dem UBL-Dokument wäre besonders beim Betreiben von mehreren Online Shop Systemen vorteilhaft. Die Datenbankinformationen würden zuerst auf die Ontologie abgebildet und in dieser gespeichert werden. Die gespeicherten Daten könnten anschließend unproblematisch in das gewollte Austauschformat überführt werden. Die Realisierung dieses Zieles setzt sich aus mehreren Arbeitsschritten zusammen, die jeweils mit Hilfe von geeigneten Techniken erreicht werden können. Am Ende der Diplomarbeit sollen die Datenbankinformationen aus der Shop-Datenbank in Form des oben genannten Standardaustauschformates für Geschäftsdokumente ausgegeben werden. Die folgende Abbildung 3.1 stellt die einzelnen Arbeitsschritte in der nummerierten Reihenfolge dar. Abbildung 3.1: Arbeitsschritte für die Umsetzung des Ziels der Diplomarbeit 33

34 Die Arbeitsschritte werden in der Reihenfolge 1, 2 und 3 abgearbeitet, da diese dem Vorgehen meiner Diplomarbeit entspricht. In den folgenden Abschnitten werden diese 3 abgebildeten Punkte und die dazugehöringen Techniken kurz erläutert. Eine detailllierte Beschreibung zu den oben genannten Punkten wird in den Kapiteln 4, 5 uns 6 presäntiert. 3.1 Modellierung der Ontologie. Das Ziel des 1. Schrittes der Abbildung 3.1 ist es eine Ontologie zu erstellen. Mit Hilfe von Ontologien können Informationen gesammelt und zwischen verschiedenen Systemen ausgetauscht werden. Die Konstruktion und das Editieren einer Ontologie erfolgt mit einem Ontologie-Editor. Es existieren viele verschiedene Ontologie-Editoren, die die Erstellung und Visualisierung von Ontologien unterstützen. Zu den bekannten quellfreien und kostenlosen Ontologie-Editoren gehören u.a. Protégé und Swoop [SWE]. Für unsere Ontologiemodellierung nutzen wird den kostenlosen Editor Protégé. Protégé wird zurzeit weltweit am häufigsten eingesetzt und ist leicht und intuitiv zu benutzen. Durch den Bekanntheitsgrad, gibt es eine große Community, die bei Problemen Unterstützung bietet und viele Beispiele zur Verfügung stellt. Die detaillierten Gründe für den Einsatz und Beschreibung von Protégé entnahm ich der Diplomarbeit von Mario Bachman [Bach11, 24-27]. In dieser Diplomarbeit soll die Ontologie die Rolle des Adapters zwischen zwei veschiedenen Strukturen: der OXID-Datenbank und dem UBL-Katalog übernehmen. Als Grundlage für die Ontologieerstellung dienen die gemeinsamen Felder der OXID-Datenbank und des UBL- Kataloges. Um diese gemeinsame Schnittmenge zu bestimmen, müssen zuerst alle Pflichtfelder sowohl in der OXID Datenbank als auch im UBL-Katalog festgelegt werden. Bei den gemeinsamen Feldern handelt es sich um Lieferanten-, Kunden- und Produktinformationen. Im Kapitel 4.1 wird die Struktur und somit die notwendigen Elemente der OXID-Datenbank genauer betrachtet und erläutert. Die erforderlichen Elemente des UBL- Kataloges wurden bereits in den Grundlagen (Kapitel ) festgelegt und beschrieben. Mit den erforderlichen Informationen kann die Modellierung der Ontologie erfolgen, die detailliert im Kapitel 5 erklärt wird. Die Informationen, die zwar im UBL-Katalog aber nicht in der OXID-Datenbank vorhanden sind, müssen mittels eines geeigneten Werkzeugs zu der Ontologie eingefügt werden. Es handelt sich dabei um Elemente ID und das IssueDate 34

35 (Ausstelldatum) des Kataloges. Dieser Schritt wird kurz im Kapitel 3.3 und deteilliert im Kapitel 6 erläutert. 3.2 Mapping zwischen Datenbank und Ontologie. Der 2. Schritt der Abbildung 3.1 beschreibt das Mapping zwischen OXID- Datenbank und der Ontologie, deren Erstellung und deteillierte Beschreibung im Kapitel 4 erfolgen wird. Das Mapping wird mit einem Softwarewerkzeug Integration with Ontologies, kurz IwOnto, realisiert, das im Rahmen der Diplomarbeit von Mario Bachman implementiert wurde [Bach11]. Die DBIS-Professur hat mir das Werkzeug vorgegeben und zur Verfügung gestellt. IwOnto ist ein Programm, das einerseits eine relationale Datenbank und andererseits eine Ontologie voraussetzt, um das Mapping erfolgreich durchzuführen. Es handelt sich dabei um eine relationale Datenbank und ihre Relationen (Tabellen) und eine Ontologie mit dazugehörigen Objektklassen. Das Mapping erfolgt manuell und schrittweise, was bedeutet, dass jede Objektklasse der Ontologie auf jede Join-Tabelle der Datenbank getrennt gemappt wird. Die eigentliche Abbildung wird zwischen den Eigenschaften der Objektklasse und den Attributfeldern der angesprochenen Tabellen dürchgeführt. Vor dem Mapping enthält die im Kapitel 4 modellierte Ontologie nur die Objekte, die als Beispiel definiert wurden. Nach der erfolgreichen Anwendung von IwOnto zwischen der OXID-Datenbank und der Ontologie, soll die Ontologie mit den Informationen aus dieser Datenbank gefüllt sein. Eine detaillierte Beschreibung des Mappings zwischen der OXID- Datenbank und der Ontologie erfolgt im Kapitel Mapping zwischen Ontologie und XML. Der Inhalt vom Kapitel 6 beschreibt wie die Ontologie auf das XML-basierte UBL- Dokument abzubilden ist. Zuerst muss ein geeignetes Werkzeug gefunden werden. Nach erfolglosen Suchen und Testen von verschiedenen Werkzeugen, habe ich mich für das Implementieren eines eigenen Programmes entschieden. Als Input für das Programm wird die Ontologie verwendet, die im Kapitel 4 erstellt und im Kapitel 5 mit den Datenbankinformationen gefüllt wurde. Mittels dieses Programms sollen die Ontologieinformationen in einen XML-basierte UBL-Katalog überführt werden, der als Output des Programms erwartet wird. Um die Ontologie bearbeiten zu können muss diese zuerst geladen werden. Im nächsten Schritt werden die zugehörigen Inhalte ausgelesen und in ein neu erzeugtes XML-Dokument 35

36 geschrieben. Die Ontologieinhalte müssen so bearbeitet werden, dass das XML-Dokument in einem validen Format vom UBL-Katalog ausgegeben und abgespeichert wird. Für die Implementierung des Programmes muss eine kompatible Programmiersprache und Entwicklungsumgebung gewählt werden. Im Kapitel 5 wurde für das Mapping das von Mario Bachman entwickelte Werkzeug IwOnto benutzt. Da er in seiner Diplomarbeit [Bach11] eine ausführliche Erklärung für die Auswahl der Programmiersprache und der Entwicklungsumgebung gegeben hat, entnehme ich diese Entscheidungen dieser Arbeit und benutze Java und Eclipse für mein Konsolenprogramm. Für das Erzeugen, Manipulieren und Laden von OWL Ontologien eignet sich unter anderem die Java-basierte, frei-verfügbare, open-source Programmierschnittstelle OWL API. Mit dieser Begründung wurde für die Implementierung von IwOnto die objektorientierte Programmiersprache Java verwendet. [Bach11, 78]. Als geeignete Programmumgebungen zur Entwicklung von Java Programmen kamen Eclipse SDK [ECL] und NetBeans IDE [NB] in Frage. Die Entscheidungsgründe wurden in Mario Bachmans Diplomarbeit aufgelistet [Bach11, 84]. Das zu entwickelnde Programm wird kein GUI-Programm sein, sondern ein Konsolenprogramm. Aus Zeitmangel wird keine grafische Oberfläche für dieses Programm entwickelt. Das bedeutet, dass die Kommunikation mit dem Anwender nicht wie bei IwOnto über eine grafische Benutzeroberfläche erfolgen wird, sondern über eine Konsole. Um in meinem Konsolenprogramm eine Ontologie laden und bearbeiten sowie ein XML- Dokument erstellen zu können werden Pakete und Klassen aus folgenden Bibliotheken importiert: OWL API unterstützt das Erzeugen, das Laden und das Manipulieren von OWL Ontologien. Java API for XML Parsing (JAXP) erlaubt unter Java auf XML zu zugreifen. JAXP umfasst unter anderem die im Programm verwendete Schnittstelle DOM (Document Objekt Model). DOM-API hat folgende Funktionalitäten: -Erzeugen und Verarbeiten von XML-Dokumenten -Zugriff auf XML-Dokumente -Darstellen von XML-Dokumenten in einer Baustruktur 36

37 Eine ausführliche Beschreibung der Implementierung findet im Kapitel 6 statt. Es werden dort die einzelnen Schritte angefangen beim Programmaufruf bis hin zu der Ausgabe des UBL- Katalogs erläutert. 37

38 38

39 Kapitel 4 Erstellung der Ontologie In deisem Kapitel wird die Erstellung einer Ontologie beschrieben. Die Modellierung erfolgt mit dem kostenlosen und quellfreien Ontologie-Editor Protégé, was bereits im Abschnitt 3.1 des Kapitels Konzepion begründet wurde. Mit Hilfe von Ontologien können Informationen gesammelt und zwischen verschiedenen Systemen ausgetauscht werden. In dieser Diplomarbeit soll die Ontologie die Informationen aus der OXID- Datenbank aufnehmen und in Form eines vorgegebenen Standardaustauschformates UBL-Katalog ausgeben. Die Ontologie als Adapters wird sich aus der gemeinsamen Schnittmenge der Pflichtelemente der OXID-Datenbank und des UBL- Kataloges zusammensetzen. Um diese Menge zu bestimmen, müssen zuerst alle Pflichtfelder sowohl in der OXID Datenbank als auch im UBL-Katalog gefunden und aufgelistet werden. Die Elemente, die im UBL-Katalog als Pflichtfelder aufgelistet wurden aber nicht in der OXID-Datenbank vorhanden sind, müssen mittels eines geeigneten Werkzeugs zu der Ontologie eingefügt werden. Im ersten Abschnitt wird die Struktur der OXID- Datenbank auf deren Pflichtelemente untersucht. Die notwendigen Elemente für den UBL-Katalog wurden bereits in der Tabelle 2.1 in Kapitel aufgelistet. Anschließend wird die Erstellung der Ontologie vorbereitet, durchgeführt und deteilliert beschrieben. 4.1 Struktur der OXID- Datenbank In diesem Abschnitt wird die Struktur der OXID- Datenbank analysiert und geprüft, welche Daten in der enthalten sind. Wie in der Abbildung 4.1 zu erkennen ist, speichert OXID die Daten in den 63 Tabellen. Die einzelnen Tabellen enthalten wiederum verschiedene Anzahl von Attributfeldern, z.b. ein Ausschnitt der Struktur der Tabelle oxarticles, der in der Abbildung 4.2 dargestellt wird. Alle Daten und die Beziehungen zueinander werden in dem OXID-Datenbank-Schema dargestellt. Die veschiedenen Versionen von Datenbank-Schema findet man auf der Seite von OXID eshop [OCE]. Die aktuelleste Version befindet sich im Anhang B. 39

40 Abbildung 4.1: Ausschnitt aus der OXID-Datenbank Wir betrachten die Daten bzw. die Tabellen aus der DB, die für die Beschreibung eines Artikels notwendig sind. Auf der UBL-Seite suchen wir die Daten aus, die für einen UBL- Katalog erforderlich sind. Die notwendigen Elemente für den UBL-Katalog wurden bereits in der Tabelle 2.1 in Kapitel aufgelistet. Abbildung 4.2: Ausschnitt aus der OXID- Datenbank: Attributfelder der Tabelle oxarticles Zu den Anforderungsfeldern der OXID-Datenbank gehören Tabellen: -oxarticles: Informationen über Artikel, z.b. Artikelnummer, Artikelname, Preis, Verfügbarkeit und andere 40

41 -oxattribute: Modell, Größe, Farbe, Marke, -oxmanufactures: Hersteller -oxshops: Lieferanteninformationen -oxusers: Kundeninformationen Die folgende Abbildung 4.3 stellt die Pflichtfelder in der OXID- Datenbank grafisch dar. Diese sollten auf jeden Fall im UBL-Katalog enthalten sein. Abbildung 4.3: Für einen Artikel verbindlichen Informationen 4.2 Modellierung der Ontologie Vorbereitung Im Kapitel wurden in der Tabelle 2.1 die Pflichtelemente eines UBL-Kataloges und deren Typen aufgelistet. Die Informationselemente ASBIE setzen sich aus weiteren Pflichtund nicht-pflicht-elementen zusammen. Die Aufgabe besteht darin, alle relevanten Artikelinformationen und Elemente sowohl in der OXID Datenbank als auch im UBL- Katalog zu finden. Im UBL-Katalog findet man Informationen zu den Artikeln, z.b. Name, Artikelnummer, Preis und andere im Element CataloqueLine unter folgendem Pfad: Element Catalogue/CatalogueLine/Item [UBC]. Diese Informationen müssen auch in der OXID- 41

42 Datenbank vorhanden sein. Der Umfang des Kataloges kann nach Bedarf beliebig um weitere Elemente ausgebaut werden. Nachdem die Pflichtfelder von OXID- Datenbank und UBL-Katalog gefunden und aufgelistet wurden, muss jetzt für deren gemeinsame Schnittmenge eine Ontologie erstellt werden. Die Elemente, die im UBL-Katalog enthalten sein sollten, die aber nicht in der OXID- Datenbank vorhanden sind, müssen mittels eines Werkzeugs zu der Ontologie eingefügt werden. Es handelt sich dabei um Elemente ID und das Ausstelldatum (IssueDate) des Kataloges. Erst dann kann der UBL-Katalog mit allen notwendigen Informationen ausgegeben werden. Diese Vorgehensweise wird in der Abbildung 4.4 dargestellt. Jedes neu erstellte Katalogdokument muss eindeutig identifiziert werden und bekommt eine ID- Nummer und wird um das Erstelldatum (Element IssueDate) ergänzt. Abbildung 4.4: Zusammensetzung der notwendigen Elemente für einen UBL-Katalog Modellierungsprozess Bei unserer Ontologie handelt es sich um eine Ontologie mit der allgemeinen Klasse Produkte, damit sie von jedem Online Shop-System mit beliebigen Produkten angewendet werden kann. Die Erstellung der Ontologie erfolgt im Protege-OWL Editor. Die Abbildung 4.5 zeigt das User-Interface von Protege-OWL. Standardmässig sind folgende Tabs geöffnet: Entities, Classes, Object Properties, Data Properties, Individuals. Hier ist der OWLClasses Tab ausgewählt. Es ist möglich weitere Tabs zu öffnen, um zum Beispiel die Ontologie in Form eines Graphen anzuschauen. Dazu nutzt man ein Protege Plugin OWLViz. Wir nennen unsere Ontologie die Produkt-Ontologie, da darin der Prozess der Bestellung und Lieferung der Produkte abgebildet wird. 42

43 Ontologie-Klassen. Die leere Ontologie enthält am Anfang nur eine vordefinierte Klasse owl:thing. Abbildung 4.5: User-Interface von Protege-OWL Im ersten Schritt müssen Klassen der Produkt-Ontologie angelegt werden. Es werden die Klassen Produkt, Kunde und Lieferant angelegt, wobei die Klasse Produkt die Unterklasse Krankenhaus-Produkt (KH-Produkt) besitzt. Das Ergebnis nach der Erstellung der Klassen ist in der Abbildung 4.6 zu sehen. 43

44 Abbildung 4.6: Angelegte Klassen der Produkt-Ontologie Der untenstehende Text 4.1 zeigt einen Ausschnitt der Ontologie mit angelegten Klassen im RDF/XML- Syntax. /////////////////////////////////////////////////////////////////////////////////////// // // Classes // /////////////////////////////////////////////////////////////////////////////////////// --> <! > <owl:class rdf:about=" <rdfs:subclassof rdf:resource="&owl;thing"/> </owl:class> <! > <owl:class rdf:about=" <rdfs:subclassof rdf:resource="&owl;thing"/> </owl:class> <! > <owl:class rdf:about=" <rdfs:subclassof rdf:resource="&owl;thing"/></owl:class> <! > <owl:class rdf:about=" <rdfs:subclassof rdf:resource=" </owl:class> Text 4.1: Quellcode-Ausschnitt der Produkt-Ontologie: Klassen Klassen-Eigenschaften. Um die Klassen weiter benutzen zu können, müssen sie jetzt mit Eigenschaften beschrieben werden. Man benutzt dafür hauptsächlich zwei Arten von Eigenschaften: Object Properties und Data Properties. Jede Klasse darf beide Arten der Eigenschaften haben. Die erste Schwierigkeit bei der Erstellung der Ontologie stellt sich jetzt heraus. Es ist für eine Person, die eine Ontologie zum ersten Mal erstellt nicht sofort klar, ob 44

45 die Eigenschaften einer Klasse zu ObjectProperties oder zu DataProperties gehören. Ich habe meine Ontologie mehrmals umgeändert, bevor ich die Eigenschaften richtig zugeordnet habe. Object Properties beschreiben eine Relation zwischen zwei Individuen. Zum Beispiel ein Individuum X aus der Klasse Lieferant liefert das Individuum Y aus der Klasse Produkt, wobei liefert das Object Property ist. Die Abbildung 4.7 zeigt ein Ausschnitt mit den Object Properties der Ontologie. Es muss für jede Eigenschaft die Domain und Range festgelegt werden. Die Domain ist die Menge aller Klassen, die diese Eigenschaft anwenden können. Range stellt den Wertebereich für diese Eigenschaft dar. Ausgewähle Eigenschaft liefert hat die Klasse Lieferant als die Domain, und Klasse Produkt als Range, da Lieferant liefert das Produkt Abbildung 4.7: Ausschnitt aus der Produkt- Ontologie: Object Properties Die Objekt-Eigenschaften dürfen Inverse-Eigenschaften haben. Inverse-Eigenschaften haben die Domain und Range umgekehrt als die Objekt Eigenschaft. Beispielweise hat die Eigenschaft geliefert_von als Domain die Klasse Produkt und als Range die Klasse Lieferant. 45

46 Auf diese Weise geht man auch bei den anderen Eigenschaften vor. Eine Liste der Object Properties der Produkt-Ontologie findet man im Anhang A. Data Properties sind Eigenschaften eines Individuums und nehmen einen konkreten Wert eines bestimmten Datentyps an. Beispielweise hat das Individuum aus der Klasse Produkt die Eigenschaft hatproduktname, die mit einem Wert belegt werden muss. Man legt wie bei Object Property die Domain der Eigenschaft fest, damit die einer oder mehreren Klassen zugeordnet werden kann. Als Range wählt man einen Datentypen aus, also den Wertebereich für die Individuen der Klasse. Die folgende Abbildung 4.8 zeigt die Data Eigenschaften der Klasse Kunde. Die ausgewählte Eigenschaft hatkundenname hat die Klasse Kunde als Domain und als Range den Datentyp string. Abbildung 4.8: Ausschnitt aus der Produkt- Ontologie: Data Properties der Klasse Kunde Die Vorgehensweise wird für die weiteren Eigenschaften der Klasse Kunde und den ausgeblendeten Eigenschaften der Klassen Lieferant und Produkt angewendet. Eine Liste mit den Data Poperties der Klasse Kunde findet man im Anhang A. Individuen. Nachdem die Klassen und deren Eigenschaften definiert wurden, müssen jetzt Individuen angelegt werden. In der Abbildung 4.9 wurde für die Klasse Lieferant ein Objekt definiert: Aluras_Shop. Man kann beliebig viele Objekte hinzufügen oder auch löschen. 46

47 Weiter rechts in der Abbildung in Description: Aluras_Shop wird die Klasse ausgewählt, zu der das Individuum Aluras_Shop gehört. In der rechten Spalte der Abbildung befinden sich alle Eigenschaften der Klasse Lieferant, die jetzt bestimmte Werte für das Objekt Aluras_Shop angenommen haben. Genauso legt man jetzt Objekte für die Klasse Kunde und die Klasse Produkt und deren Belegungswerte für die Eigenschaften an. Damit ist unsere Produkt-Ontologie fertig erstellt. Man hat die Möglichkeit die Ontologie in verschiedenen Syntaxen abzuspeichern. Wir speichern unsere Ontologie im RDF/XML-Syntax ab. Abbildung 3.9: Ausschnitt aus der Produkt- Ontologie: Individuen und deren Werte der Klasse Lieferant Der Text 4.2 auf der nächsten Seite zeigt einen Ausschnitt der Ontologie mit angelegtem Individuum der Klasse Lieferant im RDF/XML- Syntax. 47

48 /////////////////////////////////////////////////////////////////////////////////////// // // Individuals // /////////////////////////////////////////////////////////////////////////////////////// --> <! > <owl:namedindividual rdf:about=" <rdf:type rdf:resource=" <hatlieferantenplz rdf:datatype="&xsd;string">60386</hatlieferantenplz> <hatlieferantenshopname rdf:datatype="&xsd;string">aluras Shop</hatLieferantenShopName> <hatlieferantenstaatid rdf:datatype="&xsd;string">de</hatlieferantenstaatid> <hatlieferantenuid rdf:datatype="&xsd;string">de </hatlieferantenuid> <hatlieferantenstadt rdf:datatype="&xsd;string">frankfurt</hatlieferantenstadt> <hatlieferantenstrasse rdf:datatype="&xsd;string">vatterstrasse</hatlieferantenstrasse> <liefert rdf:resource=" <liefert_an rdf:resource=" </owl:namedindividual> Text 4.2: Quellcode-Ausschnitt der Produkt-Ontologie: Individuum Aluras_Shop mit Eigenschaften 48

49 Kapitel 5 Mapping von einer Datenbank auf eine Ontologie Das Kapitel 5 beschreibt das Mapping der OXID- Datenbank auf die Ontologie. Für die Durchführung dieser Aufgabe eignet sich ein Mapping-Werkzeug Integration with Ontologies, kurz IwOnto [IWO], das im Rahmen der Diplomarbeit von Mario Bachman entwickelt wurde. Dieses Werkzeug wurde mir von der DBIS- Professur vorgegeben und zur Verfügung gestellt. Abbildung 5.1: Mapping zwischen OXID-Datenbank und der Produkt-Ontologie Das Mapping findet zwischen Schemata der Quellstruktur und Schemata der Zielstruktur statt. Eine relationale Datenbank OXID und ihre Relationen (Tabellen) dienen hier als Quelle und die Ontologie mit ihren Objektklassen als Ziel der Abbildung. Das Mapping erfolgt manuell und schrittweise, was bedeutet, dass jede Individuenklasse der Ontologie auf jede Join-Tabelle der Datenbank getrennt gemappt wird. Ich nutze im Mapping die Ontologie, die bereits im Kapitel 4 mit Ontologie-Editor Protege erstellt wurde. Als Resultat dieser Abbildung soll die Ontologie mit den Instanzen aus der Datenbank befühlt sein. Die Abbildung 5.1 zeigt die Lösung für das Mapping zwischen Datenbank und Ontologie. 5.1 Umwandlung der OXID- Datenbank in eine Ontologie Das Mapping setzt sich aus mehreren Schritten zusammen. Folgend werden die 4 Schritte ausführlich erläutert. 1. Das Starten vom Program IwOnto. 49

50 Nach dem Ausführen von iwonto.jar- Datei öffnet sich ein Hauptfenster (Abbildung 5.2), in dem wir unsere Produkt- Ontologie laden und die Verbindung zu der oxid-datenbank aufbauen können. Abbildung 5.2: Anmeldemaske von IwOnto Beim erfolgreichen Laden bzw. Datenbankverbindung, gelangt man beim Wählen von Mapping-Fenster - Knopf zum nächsten Schritt: dem eigentlichen Mapping-Fenster. 2. Auflistung aller Ontologieklassen und der nötigen Tabellenattribute im Mapping Fenster Die Abbildung 5.3 zeigt in der linken Spalte die Produkt-Ontologie mit Objektklassen in der Form eines Klassenbaumes sowie Klassen-Eigenschaften. Es werden jeweils die Eigenschaften der ausgewählten Klasse angezeigt. Zuerst wird die Klasse Produkt ausgewählt. Die rechte Spalte mit Datenbanküberschrift zeigt ein Angabefenster, in dem man SQL-Anfrage an die OXID-Datenbank stellen kann. Man wählt nur diese Tabellen aus der Datenbank aus, in denen sich die Mapping-Kandidaten für die Eigenschaften der Klasse befinden und bildet daraus eine Join-Tabelle. Für die Klasse Produkt bildet man einen Join aus den Tabellen oxarticles und oxmanufacturers, da dort sich die passenden Mapping- Kandidaten befinden. Als Ergebnis der SQL-Anfrage bekommen wir die Attribute der angesprochenen Tabellen, die im unteren Fenster Attribute des Join-Table geladen wurden. 50

51 Abbildung 5.3: Mapping-Fenster der Produkt-Ontologie und oxiddb 3. Auswahl der passenden Mapping-Kandidaten Das eigentliche Mapping wird zwischen den Eigenschaften der Objektklasse und den Attributfeldern der angesprochenen Tabellen dürchgeführt. Wie in der Abbildung 5.4 zu sehen ist, werden sowohl Object Properties als auch Data Properties der Klasse Produkt gemappt. Man wählt ein Data Property aus und sucht auf der Datenbank-Seite ein passendes Attribut. Beide haben einen Datentyp. Mit diesem Schritt hatte ich meine Schwierigkeiten, da sich nicht alle Data Properties sich auf Attribute sofort mappen liessen. Ich habe in meiner Ontologie die Datentypen von Data Properties mehrmals ändern müssen, um zu sehen, welche Kombinationen von Datentypen kompatibel sind. 51

52 Abbildung 5.4 Das Mapping zwischen Attributen der Objektklasse und Attributfeldern der Tabellen Erst wenn die beiden Typen der Mapping-Kandidaten kompatibel sind (<-kompatibel-> leuchtet grün in der Abbildung 5.4), dürfen diese gemappt werden und erscheinen im Ergebnisfenster (Abbildung 5.5). Abbildung 5.5: Das Mapping-Ergebnisfenster 52

3.5 OWL: WEB Ontology Language (1)

3.5 OWL: WEB Ontology Language (1) 3.5 OWL: WEB Ontology Language (1) 3.5.1 OWL-Syntax (Teil 1) A) Namensräume / RDF-Tag: Die OWL-Syntax basiert auf XML, XML-Schema, RDF und RDFS. Daher sind die zugehörigen Namensräume am Anfang des Quelltextes

Mehr

Was sind Ontologie-Editoren?

Was sind Ontologie-Editoren? Was sind Ontologie-Editoren? Kurzeinführung Protégé Sonja von Mach und Jessica Otte Gliederung Ontologie Editoren- allgemein warum nutzen wofür nutzen Probleme Marktlage Einführung in die praktische Arbeit

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Die Excel Schnittstelle - Pro Pack

Die Excel Schnittstelle - Pro Pack Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360 FastBill GmbH Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360 FastBill Automatic Dokumentation Versand 1 Inhaltsverzeichnis: 1. Grundlegendes 2. Produkteinstellungen 2.1. Grundeinstellungen

Mehr

Ontologien. Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Ontologien: Konstrukte. Konzepte/Klassen

Ontologien. Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Ontologien: Konstrukte. Konzepte/Klassen Ontologien Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr Ursprung: semantische Netze aus der künstlichen Intelligenz (1970er) weiterentwickelt als terminologische Logiken, Beschreibungslogiken

Mehr

Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr

Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr 1 / 23 Ontologien Ursprung: semantische Netze aus der künstlichen Intelligenz (1970er) weiterentwickelt als terminologische Logiken,

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Workshop 3. Excel, EDIFACT, ebxml- Was ist state. of the art und wo liegt die Zukunft. 16. September 2002

Workshop 3. Excel, EDIFACT, ebxml- Was ist state. of the art und wo liegt die Zukunft. 16. September 2002 Workshop 3 Excel, EDIFACT, ebxml- Was ist state of the art und wo liegt die Zukunft 16. September 2002 Dipl. Kfm. power2e energy solutions GmbH Wendenstraße 4 20097 Hamburg Telefon (040) 80.80.65.9 0 info@power2e.de

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1. CC Modul Leadpark 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.6 Dateien 2. Mein Account 2.1 Shortcutmenü 2.2 Passwort 2.3 E-Mail 2.4 Daten 3.

Mehr

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Fülle das erste Bild Erforderliche Information für das Google-Konto vollständig aus und auch das nachfolgende Bild. Erstellen eines Fotoalbum mit "Picasa"-Webalben Wie es geht kannst Du hier in kleinen Schritten nachvollziehen. Rufe im Internet folgenden "LINK" auf: http://picasaweb.google.com Jetzt musst Du folgendes

Mehr

Eigene Seiten erstellen

Eigene Seiten erstellen PhPepperShop Anleitung Datum: 3. Oktober 2013 Version: 2.1 Eigene Seiten erstellen Eigene Inhalte / CMS Glarotech GmbH Inhaltsverzeichnis Anleitung zur Erstellung von eigenen Inhalten/Links...3 1. Anmeldung

Mehr

Handbuch Groupware - Mailserver

Handbuch Groupware - Mailserver Handbuch Inhaltsverzeichnis 1. Einführung...3 2. Ordnerliste...3 2.1 E-Mail...3 2.2 Kalender...3 2.3 Kontakte...3 2.4 Dokumente...3 2.5 Aufgaben...3 2.6 Notizen...3 2.7 Gelöschte Objekte...3 3. Menüleiste...4

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Weniger Kosten, mehr Möglichkeiten. Electronic Data Interchange (EDI): Optimierung von Geschäftsprozessen durch beleglosen Datenaustausch

Weniger Kosten, mehr Möglichkeiten. Electronic Data Interchange (EDI): Optimierung von Geschäftsprozessen durch beleglosen Datenaustausch Weniger Kosten, mehr Möglichkeiten Electronic Data Interchange (EDI): Optimierung von Geschäftsprozessen durch beleglosen Datenaustausch Schneller, transparenter, kostengünstiger EDI Was ist EDI und was

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

ecwid ist eine E-Commerce Plattform, die Ihnen ermöglicht einen Onlineshop zu erstellen und ihn in Ihre Webseite einzubinden.

ecwid ist eine E-Commerce Plattform, die Ihnen ermöglicht einen Onlineshop zu erstellen und ihn in Ihre Webseite einzubinden. TUTORIAL Wie benutze ich den ecwid Onlineshop? Was ist ecwid? ecwid ist eine E-Commerce Plattform, die Ihnen ermöglicht einen Onlineshop zu erstellen und ihn in Ihre Webseite einzubinden. Sie können in

Mehr

Instruktionsheft für neue Webshop Hamifleurs

Instruktionsheft für neue Webshop Hamifleurs Instruktionsheft für neue Webshop Hamifleurs Instruktionen für neue Webshop Hamifleurs Gehen Sie zu www.hamifleurs.nl. Klicken Sie auf Login Kunden und es erscheint der Bildschirm auf der nächsten Seite.

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können.

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können. Produktvarianten und Downloads erstellen Produktvarianten eignen sich um Artikel mit verschiedenen Optionen wie bspw. ein Herrenhemd in den Farben blau, grün und rot sowie in den Größen S, M und L zu verkaufen.

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie. GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert

Mehr

1 Konto für HBCI/FinTS mit Chipkarte einrichten

1 Konto für HBCI/FinTS mit Chipkarte einrichten 1 Konto für HBCI/FinTS mit Chipkarte einrichten Um das Verfahren HBCI/FinTS mit Chipkarte einzusetzen, benötigen Sie einen Chipkartenleser und eine Chipkarte. Die Chipkarte erhalten Sie von Ihrem Kreditinstitut.

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Erstellung von Prozessbeschreibungen. PB 4.2-1: Erstellung von Prozessbeschreibungen

Erstellung von Prozessbeschreibungen. PB 4.2-1: Erstellung von Prozessbeschreibungen Seite 1 von 9 PB 4.2-1: Erstellung von Prozessbeschreibungen 1 Ziel und Zweck Durch Prozessbeschreibungen werden die einzelnen Prozesse des Qualitätshandbuchs detaillierter beschrieben. Sie werden für

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

Übung 4. Musterlösungen

Übung 4. Musterlösungen Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Codex Newsletter. Allgemeines. Codex Newsletter

Codex Newsletter. Allgemeines. Codex Newsletter Newsletter Newsletter Dezember 05 Seite 1 Allgemeines Newsletter Mit diesem Rundschreiben (Newsletter) wollen wir Sie in ca. zweimonatigen Abständen per Mail über Neuerungen in unseren Programmen informieren.

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs 7. ArcView-Anwendertreffen Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern Daniel Fuchs 1. Grundlagen Biotopkartierung: Datenformat Die Daten der Biotopkartierung Bayern werden

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

2.1 Briefkopf Klicken Sie im Menü Einstellungen auf den Button Briefkopf. Folgendes Formular öffnet sich:

2.1 Briefkopf Klicken Sie im Menü Einstellungen auf den Button Briefkopf. Folgendes Formular öffnet sich: Installation 1 Installation 1 2 Einstellungen 1 2.1 Briefkopf 1 2.2 Logo 2 2.3 Zusatztext 2 2.4 Fußzeile 2 2.5 Mehrwertsteuer (Umsatzsteuer) 3 2.6 Rechnungsnummer 4 2.7 Drucken 4 2.8 Einheiten 5 3 Artikelverwaltung

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

1. Einführung. 2. Die Abschlagsdefinition

1. Einführung. 2. Die Abschlagsdefinition 1. Einführung orgamax bietet die Möglichkeit, Abschlagszahlungen (oder auch Akontozahlungen) zu erstellen. Die Erstellung der Abschlagsrechnung beginnt dabei immer im Auftrag, in dem Höhe und Anzahl der

Mehr