SEMANTIC INTEROPERABILITY

Σχετικά έγγραφα
INTEROPERABILITY II. Electronic Transactions. by Koussouris S., Lampathaki F., Askounis D.

Τα tags μπορούν να εφωλιασθούν δομικά σε οποιοδήποτε βάθος <book> <author> XX </author> </book>

Σημασιολογικός Ιστός (Semantic Web) - XML

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Εισαγωγή(στη(γλώσσα(XML(

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Δομημένη Αναπαράσταση Πληροφοριών

ΜΑΘΗΜΑ 5. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Tεχνολογίες των Πληροφοριών σε ψηφιακό περιβάλλον: Τα εργαλεία

Γλωσσική Τεχνολογία. HTML/XML Processing HTTP Services

ΝΤUA. Τεχνολογία Πολυμέσων

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

Σημασιολογικός Ιστός (Semantic Web) - XML

BibConvert μετατροπές LOM

Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Μια εισαγωγή στην XSL

Démographie spatiale/spatial Demography

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

SGML (Standard Generalized Markup Language) HTML (HyperText Markup Language) XML (extensible Markup Language)

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

Architecture οf Integrated Ιnformation Systems (ARIS)

Language Resources for Information Extraction:

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Α.Ε. Μοντέλο Τεκµηρίωσης. Έκδοση 3.00 Νοέµβριος 2008

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό

ΔΝΓΔΙΚΣΙΚΔ ΑΠΑΝΣΗΔΙ 3 εο ΓΡΑΠΣΗ ΔΡΓΑΙΑ

Case 1: Original version of a bill available in only one language.

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Test Data Management in Practice

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια

Υποστήριξη της Υποστασιοποίησης στο µοντέλο του RDF

Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ

ΝΤUA. Τεχνολογία Πολυμέσων

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

Τα web services του παρατηρητηρίου τιμών ακολουθούν λογική REST και απαντούν σε GET requests ως ακολούθως:

Μάθηµα 6. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Passport number (or) διαβατηρίου (ή)

ΥΠΗΡΕΣΙΑ ΥΠΟΒΟΛΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΕΛΕΓΧΩΝ API Επικοινωνίας με ΓΓΠΣ. Γ.Γ.Π.Σ. : Ομάδα Ευέλικτης Ανάπτυξης 5/2012

Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΣ

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

Advanced Subsidiary Unit 1: Understanding and Written Response

CYPRUS COMPETENT AUTHORITY, MODELS OF MEANS OF IDENTIFICATION, HOLDING REGISTER AND MOVEMENT DOCUMENT

Μοντέλο Τεκμηρίωσης. Έκδοση 4.0 Μάρτιος 2012

Elements of Information Theory

The Simply Typed Lambda Calculus

Σημασιολογικός Ιστός (Semantic Web) - XML

Bizagi Modeler: Συνοπτικός Οδηγός

Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταπτυχιακό Πρόγραμμα Αθήνας Έτος

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Α. Διαβάστε τις ειδήσεις και εν συνεχεία σημειώστε. Οπτική γωνία είδησης 1:.

EE512: Error Control Coding

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

σ σ σ :

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

2 Composition. Invertible Mappings

Συντακτικές λειτουργίες

Μεταδεδομένα στο Ψηφιακό περιβάλλον

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

Προσομοίωση BP με το Bizagi Modeler

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

SOAP API. Table of Contents

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

(C) 2010 Pearson Education, Inc. All rights reserved.

Modern Greek Extension

ΤΟ ΤΡΑΠΕΖΙΚΟ ΣΥΣΤΗΜΑ- ΟΙ ΣΥΓΧΡΟΝΕΣ ΤΡΑΠΕΖΙΚΕΣ ΥΠΗΡΕΣΙΕΣ- ΧΡΗΜΑΤΟΙΚΟΝΟΜΙΚΉ ΑΝΑΛΥΣΗ ΤΩΝ ΤΕΣΣΑΡΩΝ ΣΥΣΤΗΜΙΚΩΝ ΤΡΑΠΕΖΩΝ

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 9η Διάλεξη: Η γλώσσα XML

Digital Object Identifer (DOΙ),

Section 8.3 Trigonometric Equations

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Στεγαστική δήλωση: Σχετικά με τις στεγαστικές υπηρεσίες που λαμβάνετε (Residential statement: About the residential services you get)

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Maxima SCORM. Algebraic Manipulations and Visualizing Graphs in SCORM contents by Maxima and Mashup Approach. Jia Yunpeng, 1 Takayuki Nagai, 2, 1

* * GREEK 0543/02 Paper 2 Reading and Directed Writing May/June 2009

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 6: XSL. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Επιχειρησιακό Πρόγραμμα «Ανταγωνιστικότητα και Επιχειρηματικότητα» Δράση Εθνικής Εμβέλειας «Συνεργασία» «Γεώκλιμα»

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Κάθε γνήσιο αντίγραφο φέρει υπογραφή του συγγραφέα. / Each genuine copy is signed by the author.

α Erasmus . : erasmus.teiep.gr σ σ (imotion project).

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

ΔΘΝΗΚΖ ΥΟΛΖ ΓΖΜΟΗΑ ΓΗΟΗΚΖΖ ΚΑ ΔΚΠΑΙΓΔΤΣΙΚΗ ΔΙΡΑ ΣΔΛΗΚΖ ΔΡΓΑΗΑ

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ

Transcript:

SEMANTIC INTEROPERABILITY Electronic Transactions by Koussouris S., Lampathaki F., Askounis D.

Introduction to XML and XML Schema

XML (extensible Markup Language) Capability to describe structured data Data-independent Platformindependent Open, extensible Readable by humans and machines XML documents are self-explanatory

XML Elements Aποτελούνται υποχρεωτικά από ένα ζεύγος ετικετών (tags): start-tag και end-tag Τι µπορεί να υπάρχει περιέχει 1 element? Απλό κείµενο π.χ. <person>john</person> Αλλα elements π.χ. <person><name>john</name></person> Οποιοδήποτε µίγµα των δύο παραπάνω! π.χ. <person>the name of the person is <name>john</name>.</person> Τα elements και τα tags στην XML: Ορίζονται από τους χρήστες, δεν υπάρχουν προκαθορισµένα tags όπως στην HTML Ανοίγουν και κλείνουν πάντα µε την «σωστή» σειρά (σαν παρενθέσεις) Εξαίρεση: empty tag, πχ. <journal/>(το / στο τέλος) <journal/> = <journal></journal> Απαγορεύεται να ξεκινούν µε XML είτε σε πεζά είτε σε κεφαλαία Το πρώτο γράµµα πρέπει να είναι χαρακτήρας ή _ ή colon

XML Attributes Ένα XML Element µπορεί να περιέχει ένα ή περισσότερα attributes (ιδιότητες). Τα attributes παρέχουν πρόσθετη πληροφορία για τα elements Τα attributes στην XML: Ορίζονται από τους χρήστες σαν ζεύγη ονοµάτων τιµών Tοποθετούνται στην ετικέτα αρχής του στοιχείου στο οποίο αναφέρονται, π.χ. <book isbn="1-55860-622-x" language="english"> <title> How to learn XML </title> <price currency = Euro"> 100 </price> </book> Δεν επιτρέπεται σε περισσότερα του ενός attributes να έχουν το ίδιο όνοµα στο ίδιο element Η σειρά µε εµφάνισης των attributes ενός element δεν παίζει κανένα ρόλο Τα attributes µπορούν να γραφούν και µε τη µορφή εµφωλευµένων elements, π.χ. <book> <isbn> 1-55860-622-X </isbn> <language>english</language> <title> XML </title> </book>

XML Syntax Κάθε XML έγγραφο ξεκινάει µε processing instructions, δηλαδή <??> tags: <?xml version="1.0" encoding="utf-8"?> Τα elements και τα attributes ορίζονται ως εξής: <tag attribute1_name="value1" attributen_name = valuen">... περιεχόµενο στοιχείου... </tag> Τα σχόλια επιτρέπονται οπουδήποτε εκτός από το εσωτερικό των tags και ορίζονται ως: <!-- A first example using XML -->

XML Document Example <ARTIST> <NAME> <FIRST>Claude</FIRST> <LAST>Monet</LAST> </NAME> <ARTWORK> <ARTIFACT> <TITLE>Haystacks at Chailly at Sunrise</TITLE> <DATE>1865</DATE> <MATERIAL>Oil on canvas</material> <DIM Metric= cm > <HEIGHT>30</HEIGHT><WIDTH>60</WIDTH></DIM> <DIM Metric= in > <HEIGHT>11 7/8</HEIGHT><WIDTH>23 3/4</WIDTH></DIM> <LOCATION>San Diego Museum of Art</LOCATION> <IMAGE File= http://192.41.13.240/artchive/m/monet/hayricks. jpg /> </ARTIFACT> </ARTWORK> </ARTIST> ΑΠΕΙΚΟΝΙΣΗ ΣΕ ΓΡΑΦΟ...

Data retrieval from XML documents Μέσω της λεκτικής ανάλυσης (XML parsing), που αναλύει το ΧΜL αρχείο στα επιµέρους στοιχεία του: αρχή ετικέτας, τέλος ετικέτας, κείµενο, ιδιότητες Οι πιο γνωστοί λεκτικοί αναλυτές που παρέχουν APIs είναι: DOM (Document Object Model) που αποθηκεύει τα δεδοµένα εγγράφου ως δοµές δένδρων στη µνήµη µε αυτόµατο τρόπο. Mε το δένδρο DOM ο χρήστης µπορεί να πλοηγηθεί µέσα σ ένα XML αρχείο και να προσθέσει, να µεταβάλει και να αφαιρέσει στοιχεία του. SAX (Simple API for XML) που µοιάζει µε σειριακό αναγνώστη (SAX reader) του κειµένου XML, χαρακτήρα προς χαρακτήρα. Αναγνωρίζοντας τα διάφορα µέρη του αρχείου, δηµιουργεί αντίστοιχα συµβάντα (events), στα οποία το πρόγραµµα του χρήστη οφείλει να ανταποκριθεί.

XML Standards Family XML Schema XML Namespace XSL και XSLT XML Signature XML Encryption XML Query XForms XPath Xlink XPointer CSS RDF (Resource Description Framework) MathML GML (Geography Markup Language).

XML Namespace (1/2) Πρόβληµα: ο τύπος των elements είναι καθολικός (global) Το ίδιο έγγραφο πρέπει να µπορεί να χρησιµοποιηθεί από πολλά προγράµµατα που καταλαβαίνουν και άλλα έγγραφα Αν υπάρχουν 2 ή παραπάνω elements µε το ίδιο όνοµα σε διαφορετικά αρχεία τι γίνεται µε τις διενέξεις ονοµάτων εάν τα συγχωνεύσουµε? Doc1.xml Doc2.xml <?xml version="1.0" encoding="utf-8"?> <vehicles> <trolleys design="modern">greek trolleys are new and many in operation <capacity passenger_no="132"/> </trolleys> </vehicles> <?xml version="1.0" encoding="utf-8"?> <vehicles> <trolleys design="spartan">russian trolleys are old and some are in operation <capacity passenger_no="124"/> </trolleys> </vehicles> Doc3.xml?

XML Namespace (2/2) Λύση: XML Namespaces = συλλογές ονοµάτων που χρησιµοποιούνται στα έγγραφα XML για να διαφοροποιούν τα elements και τα attributes µεταξύ τους µε βάση το όνοµά τους Ορίζονται ως xmlns:prefix= location όπου prefix: το πρόθεµα και location το URL που έχει οριστεί κάθε element / attribute. Εάν απουσιάζει το prefix, πρόκειται για το default namespace Εποµένως το Doc3.xml γίνεται: <?xml version="1.0" encoding="utf-8"?> <vehicles xmlns:gr= "http://www.greek_trolleys.com" xmlns:ru= "http://www.russian_trolleys.com"> <gr:trolleys design="modern">greek trolleys are new and many in operation <gr:capacity passenger_no="132"/> </gr:trolleys> <ru:trolleys design="spartan">russian trolleys are old and some are in operation <ru:capacity passenger_no="124"/> </ru:trolleys> <trolleys design="elegant">italian trolleys are very old and no longer in operation <capacity passenger_no="108"/> </trolleys> </vehicles> Doc1.xml Doc2.xml

Well-formed and Valid XML Documents Well-formed XML documents are the XML documents that: Contain 1 element root The tags are appropriately nested The start-tag and end-tag match The attributes of an element are unique If a document is not well-formed, it is not considered as XML document... Valid XML documents are the XML documents that : Are well-formed Have a XML Schema and comply with it

The logic behind XML Schemas

XML Schema: What it defines? The elements that appear in a XML document The attributes that accompany every element Which elements are nested into other elements The sequence and number of child elements If an element is empty or contains text The data types for the elements and the attributes The predefined and fixed values for the elements and attributes The patterns to which elements and attributes comply, the length and number of occurrences of elements and attributes

XML Schema Initiation Κάθε XML Schema ξεκινάει µε το root element: <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> Ακολουθούν οι δηλώσεις των elements, attributes και των τύπων δεδοµένων τους

XML Elements Declaration in an XML Schema Η δήλωση ενός element τυπικά περιλαµβάνει: name: το όνοµα του element type: ο τύπος του element minoccurs: ο ελάχιστος αριθµός εµφανίσεων του element maxoccurs: ο µέγιστος αριθµός εµφανίσεων του element Π.χ. <xs:element name="title" type="xs:string" minoccurs="1" maxoccurs="unbounded"/>

XML Attributes Declaration in an XML Schema Η δήλωση ενός attribute τυπικά περιλαµβάνει: name: το όνοµα του attribute type: ο τύπος του attribute use: εάν το attribute είναι υποχρεωτικό (required) ή προαιρετικό (optional) value: η προκαθορισµένη τιµή του attribute που µπορεί να είναι default ή fixed Π.χ. <xs:attribute name="currency" type="xs:string" fixed="euro /> <xs:attribute name="issuedate" type="xs:date" use="required"/>

Data Types Declaration in an XML Schema Η δήλωση ενός data type µπορεί να προέρχεται από: Ενσωµατωµένους XSD τύπους δεδοµένων, π.χ. integer, string, date, boolean Τύπους δεδοµένων που ορίζει ο χρήστης σε 2 επίπεδα: Απλούς τύπους που δεν µπορούν να χρησιµοποιούν άλλα elements και attributes π.χ. <xs:simpletype name="taxpayeridtype"> <xs:restriction base="xs:string"> <xs:pattern value= [0-9]{9}"/> </xs:restriction> </xs:simpletype> Σύνθετους τύπους που χρησιµοποιούν άλλα elements ή / και attributes και ορίζουν ότι όλα τα elements πρέπει να εµφανιστούν µε δεδοµένη σειρά (sequence) ή χωρίς να έχει σηµασία η σειρά (all) ή ότι ένα element θα επιλεγεί (choice) π.χ. <xs:complextype name="orderrequesttype"> <xs:sequence> <xs:element name="id" type="xs:token"/> <xs:element name="sellerparty" type="xs:string" minoccurs="0"/> <xs:element name="buyerparty" type="xs:string" minoccurs="0"/> </xs:sequence> </xs:complextype>

Complex Data Types Declaration Extension: ένα complex data type µπορεί να επεκταθεί µε την προσθήκη νέων elements ή / και attributes π.χ. <xs:complextype name="purchaseorderrequesttype"> <xs:complexcontent> <xs:extension base="ram:orderrequesttype"> <xs:sequence> <xs:element name="id" type="xs:token"/> <xs:element name="sellerparty" type="xs:string"/> </xs:sequence> <xs:attribute name="ordertype" type="xs:string" fixed="purchase"/> </xs:extension> </xs:complexcontent> </xs:complextype> Restriction: ένα complex data type µπορεί να «περιοριστεί» µε την προσθήκη νέων attributes type και use και την µείωση των maxoccurs και minoccurs π.χ. <xs:complextype name="saleorderrequesttype"> <xs:complexcontent> <xs:restriction base="ram:orderrequesttype"> <xs:sequence> <xs:element name="id" type="xs:token"/> <xs:element name="buyerparty" type="xs:string"/> </xs:sequence> </xs:restriction> </xs:complexcontent> </xs:complextype>

XML Schema structure XML Declaration Schema Module Identification and Copyright Information Schema Start-Tag Includes Declaration Imports Declaration Element Definitions Type Definitions Schema End-Tag

XML Schema Example <?xml version="1.0" encoding="utf-8"?> <book xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xsi:nonamespaceschemalocation="c:\users\teti\deskto p\book.xsd"> <title>c# How to program</title> <serial_no>123456789</serial_no> </book> Books.xml <?xml version="1.0" Books.xsd encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:element name="book"> <xs:annotation> <xs:documentation>this is the first example in XSD</xs:documentation> </xs:annotation> <xs:complextype> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="serial_no" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

XSLT - Extensible Stylesheet Language Transformations Μετασχηµατισµός και παρουσίαση XML δεδοµένων Δηµιουργία κανόνων µετατροπής XML αρχείων ή σχηµάτων µε βάση τη δοµή <xsl:template match= [[XPath pattern]] > [[ Substitution part ]] </xsl:template>

XSLT Example <?xml version="1.0"?> <report> <title>database Access Sample</title> <section> <title>employees by Last Name</title> <dbaccess driver="com.ibm.db2.jdbc.app.db2driver" database="jdbc:db2:sample" tablename="wstkadmin.employee" where="*" fieldnames='lastname as "Last Name", firstnme as "First Name", workdept as "Department"' orderby="lastname" group-by="lastname, firstnme, workdept"/> </section> </report> <?xml version="1.0" encoding="utf-8"?> <report> <title>database Access Sample</title> <section> <title>employees by Last Name</title> <dbaccess> <driver>com.ibm.db2.jdbc.app.db2driver</driver> <database>jdbc:db2:sample</database> <tablename>wstkadmin.employee</tablename> <where>*</where> <fieldnames>lastname as "Last Name", firstnme as "First Name", workdept as "Department"</fieldnames> <order-by>lastname</order-by> <group-by>lastname, firstnme, workdept</groupby> </dbaccess> </section> </report> <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="xml"/> <xsl:template match="*"> <xsl:element name="{name()}"> <xsl:for-each select="@*"> <xsl:element name="{name()}"> <xsl:value-of select="."/> </xsl:element> </xsl:for-each> <xsl:apply-templates select="* text()"/> </xsl:element> </xsl:template> </xsl:stylesheet>

RDF Resource Description Language Specifying data "about" something (metadata) Conceptual description or modeling of information that is implemented in web resources A major component towards the Semantic Web

Electronic Transactions 2014 Semantic Interoperability RDF Example <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://dublincore.org/2006/12/18/dces.rdf#"> <rdf:description rdf:about="da Vinci Code"> <dc:creator>dan Brown</dc:creator> <dc:type>book</dc:type> <dc:language>eng</dc:language> <dc:date>2009-03-31</dc:date> </rdf:description> </rdf:rdf>

Semantics and Data Interoperability

Content interpretation in reality Painting: Starry Night (1889), by Vincent van Gogh

Need for Semantic Interoperability - I Organization X Organization Y ASCII, XML, Word, PDF,... Need for common syntax!

Need for Semantic Interoperability - II Address Χ Street, Number, Postal Code 1 ( ) 1 ($) Χ Δηµόσιος Φορέας Α Διεύθυνση Α Last Name Χ 01 - Greece Χ Family Name GR - Greece Δηµόσιος Φορέας Β Τµήµα Α Need for shared, common understanding

How Semantics are attached to any concept Data 111111111 15-10-2009 Metadata VAT Number Issue Date Context Periodic VAT Declaration

Semantic Representation Elements & Standards ISO, UN, ΕΛΟΤ,... XML, OWL, TXT,... XML, EDI,... Codelists Thesauri Data Types CCTS,... XML Schema, DTD, Dublin Core, egms,... UML... Data Structures Data Schemas Metadata OWL, RDF,... Ontologies

Data and Information Modelling (Today) Syntactic Data Representation e.g. Address fields Semantic Data Representation e.g the same information can have synonyms and different meaning Semantic Data Mapping with Lists e.g. Codelists vs. Descriptions (ISO lists, NACE codes, etc )

Data and Information Modelling (Tomorrow) ü Standard Documents based on XML ü XML Schemas for Structuring ü Common, Reusable Data Units with common semantics ü Semantic Mapping with commonly agreed lists

Semantic Interoperability Approaches Single Model 1 standard, global model adopted for all Multiple Models 1 semantic model per organization Hybrid 1 local semantic model per organization that complies with the standard, global model

What it means for any organization Standardization Intermediation

Data Modelling Approach for Greek egov Transactions Build on existing standards! Interoperability Registry Retrieval of Standard Schemas Retrieval of Standard Schemas Organization A Data Exchange Organization B

Data Modelling Principles (Greek egif) Συµµόρφωση µε τα πρότυπα W3C XML Schema Definition Language και ISO 15000-5 CCTS (Core Components Technical Specification) Συνέπεια των Σχηµάτων µε τις πληροφορίες και τα δεδοµένα που πραγµατικά ανταλλάσσονται Πληρότητα, χωρίς να παραλείπεται κανένας τύπος δεδοµένων που χρησιµοποιείται σε έγγραφα Μοναδικότητα έκφρασης της πληροφορίας Διατηρησιµότητα και ευκολία διαχείρισης των Σχηµάτων Διασύνδεση µε τα Μοντέλα Διαδικασιών Ανεξαρτησία από εργαλεία Σχέση µε υπάρχοντα Σχήµατα

ISO 15000-5: UN/CEFACT CCTS Core Components Technical Specification Method to develop and reuse common semantic models Standard proposed by UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) and ISO (15000-5) Purpose: To ensure common understanding / semantic in data structures irrespectively of the syntax they comply with To define naming and design rules To create a common library of core components

Standardised, Generic Business Documents Generic Business Document Country Specific Business Documents Generic Business Document in Country Context

Core Components Technical Specification (CCTS) Explained.. Source: Lampathaki F. (2012) Semantic Interoperability in Electronic Government through Standardized Information Components. PhD Dissertation

creating Standardised Data Hierarchies Reusable Components (UN/CCTS) Person Address ID number Identifier

How to create Business Documents BIE (Business Information Entity) a piece of business data or a group of pieces of business data with a unique Business Semantic definition. BBIE (Basic Business Information Entity) that represents a singular business characteristic of a specific Object Class in a specific Business Context. A BBIE has a unique Business Semantic definition. ASBIE(Associated Business Information Entity) represents a complex business characteristic of a specific Object Class in a specific Business Context. An ASBIE has a unique Business Semantic definition. ABIE (Aggregated Business Information Entity) represents a collection of related pieces of business information that together convey a distinct business meaning in a specific Business Context. Definitions from UN/CEFACT Core Components Technical Specification 2.01 and Wikipedia

Context Categories in Electronic Transactions Person (Core Component) Geographic Context Person (Greece) (Business Information Entity) Organization Context Person (Greece; Municipality) (Business Information Entity) Service Context Person (Greece; Municipality; Birth Certificate) (Business Information Entity)

Core Components Template Πρότυπο Φύλλο Καταγραφής Δοµικών Συστατικών (Πλαίσιο Ηλεκτρονικής Διακυβέρνησης, www.e-gif.gov.gr)

Example of a Core Component in spreadsheet

Core Component Example in XSD <xs:element name="person" type="cc:personstructure"> </xs:element> <xs:annotation> </xs:annotation> <xs:documentation xml:lang="en"> <ccts:uniqueid>el00000001</ccts:uniqueid> <ccts:acronym>acc</ccts:acronym> <ccts:dictionaryentryname>person. Details</ccts:DictionaryEntryName> <ccts:version>1.0</ccts:version> <ccts:definition>an individual human being.</ccts:definition> <ccts:objectclassterm>person</ccts:objectclassterm> </xs:documentation> <xs:complextype name="personstructure"> <xs:sequence> </xs:sequence> </xs:complextype> <xs:element ref="bcc:id" minoccurs="0" maxoccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en"> <ccts:uniqueid>el00000002</ccts:uniqueid> <ccts:acronym>bcc</ccts:acronym> <ccts:dictionaryentryname>person.identification.identifier</ccts:dictionaryentryname> <ccts:version>1.0</ccts:version> <ccts:definition>a unique identifier for this person.</ccts:definition> <ccts:objectclassterm>person</ccts:objectclassterm> <ccts:propertyterm>identification</ccts:propertyterm> <ccts:representationterm>identifier</ccts:representationterm> <ccts:cardinality>0..unbounded</ccts:cardinality> </xs:documentation> </xs:annotation> </xs:element>...

Βusiness Ιnformation Εntities Template Πρότυπο Φύλλο Καταγραφής Δοµικών Συστατικών (Πλαίσιο Ηλεκτρονικής Διακυβέρνησης, www.e-gif.gov.gr)

Example of a Business Information Entity in spreadsheet

Qualified Data Type Example <xs:complextype name="identitycardidtype"> <xs:annotation> <xs:documentation> <ccts:component> <ccts:dictionaryentryname>identity Card_ Identifier. Type</ccts:DictionaryEntryName> <ccts:version>1.0</ccts:version> <ccts:definition>the type for the identifier for an identity card.</ccts:definition> <ccts:representationterm>identifier</ccts:representationterm> <ccts:qualifierterm>identity Card</ccts:QualifierTerm> <ccts:uniqueid/> </ccts:component> </xs:documentation> </xs:annotation> <xs:simplecontent> <xs:restriction base="udt:idtype"> <xs:pattern value="[a-ω]{1,2}\d{6}"/> </xs:restriction> </xs:simplecontent> </xs:complextype>

XML Schema Relations Root Schema Reusable Business Information Entities Schema Qualified Data Type Schema Unqualified Data Type Schema Code Lists

Main Issues Schema Design Naming conventions Versioning management Extensibility / customization? Level 1: Adaptation according to the egif / standard Level 2: Adaptation slightly compatible with the egif/ standard Level 3: Adaptation compatible with the Core Components Schema Matching Schema Evolution Schema-to-Ontology Mapping Schema Storage Schema Lifecycle Management

QUESTIONS etransactions@epu.ntua.gr Dr. Koussouris S. - skous@mail.ntua.gr Dr. Lampathaki F. - flamp@epu.ntua.gr