SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Technische Universität München
Bachelor Practical Course Semantic Web
Summer Term 2014
Part 1 - 9.4.2014
Claudius Hauptmann
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 2
Agenda
1. Organisational Issues
2. Linked Data
3. Continuous Delivery
4. Build Automation
5. Distributed Version Control
6. Task 1
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 3
Bachelor Practical Course - Module Description
• Intended Learning Outcomes: “Participants are able to design and
implement small software systems in a team. They know how to
apply engineering methods and models and can judge the risks and
typical problems encountered in software projects.”
• Content: “Participants exercise systematic software engineering for a
small system in small teams with a precise task description with tight
time constraints (design, implementation, test). Intermediate results
of the team work have to be presented. Design, project plans and
implementation have to be documented.”
• Work load: 300 total hours (90 contact hours, 21o self-study hours)
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 4
Organisational Issues
• 10 tasks (and 11 appointments)
• The tasks have to be solved in small teams
• Deadlines for the tasks are on the next tuesday evening
• Every solution counts 10% of the practical course
• The teams will present their solutions at the next appointment
• Every team member has to contribute to the solution
• Each task contains optional parts
Technische Universität München
Linked Data
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 6
Motivation
• Publish datasets over the web
• Query datasets effectively by applications
• Graph-based data model
• Extension, integration, inference and uniform querying
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 7
Queries
• “Retrieve a performance of the Beethoven violin concerto by a
Chinese orchestra”
• “Retrieve a photo of the conductor of this performance”
• “List male British rock musicians married to Scandinavians”
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 8
Background standards
• HyperText Transfer Protocol (HTTP)
• Uniform Resource Identifier (URI)
• eXtensible Markup Language (XML)
• Resource Description Framework (RDF)
• RDF Schema (RDFS)
• Web Ontology Language (OWL)
• SPARQL Protocol and RDF Query Language (SPARQL)
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 9
Uniform Resource Identifier (URI)
• A compact sequence of characters that identifies an abstract or
physical resource
• Data from different data sources has to be linked to indicate
synonyms
http://rdf.freebase.com/ns/en.ludwig_van_beethoven!
http://dbpedia.org/resource/Ludwig_van_Beethoven!
http://musicbrainz.org/artist/1f9df192-
a621-4f54-8850-2c5373b7eac9#_!
http://data.nytimes.com/N30866506154608358173
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 10
Resource Description Framework (RDF)
• Statements are represented as triples of the form subject-predicate-
object
<http://musicbrainz.org/artist/b10bbbfc-cf9e-42e0-be17-
e2c3e1d2600d>!
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>!
<http://musicontology.com/specification/#term-MusicGroup>.
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 11
RDF Schema (RDFS)
• Extension of RDF
• Allows resources to be classified explicitly as classes or properties
• Further statements like class-subclass or property-subproperty
relationships, and domain and range of a property
<mo:member> <rdf:type> <rdfs:Property>.

<mo:member> <rdfs:domain> <mo:MusicGroup>.
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 12
SPARQL Protocol and RDF Query Language
• Language for formulating queries over RDF data
• It is the Semantic Web's counterpart to SQL
PREFIX dc: <http://purl.org/dc/elements/1.1/>

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dbpedia: <http://dbpedia.org/resource/>

PREFIX music-ont: <http://purl.org/ontology/mo/>



SELECT ?album_name ?track_title WHERE {

dbpedia:The_Beatles foaf:made ?album .

?album dc:title ?album_name .

?album music-ont:track ?track .

?track dc:title ?track_title

}
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 13
Principles of Linked Data
• Use URIs to identify things.
• Use HTTP URIs so that people can look up those names.
• When someone looks up a URI, provide useful information, using
the standards (RDF, RDFS, SPARQL).
• Include links to other URIs, so that they can discover more things.
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 14
Rating published datasets
1-star: The data is available on the web with an open license.
2-star: The data is structured and machine-readable.
3-star: The data does not use a proprietary format.
4-star: The data uses only open standards from W3C (RDF, SPARQL).
5-star: The data is linked to that of other data providers.
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 15
Sites using Linked Data
• http://data.nytimes.com/schools/schools.html
• http://www.bbc.co.uk/music
• http://linkedgeodata.org/
• http://www.data.gov/
• http://data.gov.uk/
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 16
References
• EUCLID Project:

http://www.euclid-project.eu/modules/chapter1
Technische Universität München
Continuous Delivery
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 18
Continuous Delivery - Motivation
• Goal: Deliver software as quickly as possible
• A lot of software development methodologies focus on requirement
engineering and impact on development effort
• Bottleneck: build, deploy, test and release process
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 19
Continuous Delivery - Release Antipatterns
• Deploying Software Manually
• Deploying to a Production-like only after Development is Complete
• Manual Configuration Management of Production Environments
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 20
Continuous Delivery - How to Achieve?
• Automated build, test, deploy and release process (repeatability)
• Frequent releases
• Every change should trigger the feedback process
• The feedback must be received as soon as possible
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 21
Continuous Delivery - Benefits
• Empowering Teams
• Reducing Errors
• Lowering Stress
• Deployment Flexibility
• Practice Makes Perfect
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 22
Continuous Delivery - Principles
• Create a Repeatable, Reliable Process for Releasing Software
• Automate Almost Everything
• Keep Everything in Version Control
• If It Hurts, Do It More Frequently, and Bring the Pain Forward
• Build Quality In
• Done Means Released
• Everybody is Responsible for the Delivery Process
• Continuous Improvement
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 23
Configuration Management - Definition
Configuration Management refers to the process by which all artefacts
relevant to your project, and the relationships between them, are stored,
retrieved and uniquely identified, and modified.
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 24
Configuration Management - Key Questions
• Can I exactly reproduce any of my environments and their
configuration?
• Can I easily make an incremental change and deploy to any, and all,
of my environments?
• Can I easily see each change that occurred to an environment and
trace it back to see exactly what the change was and who made it?
• Can I satisfy all of the compliance regulations that I am subject to?
• Does every member of the team easily get the information needed?
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 25
Configuration Management - Principles
• Use Version Control
• Manage Dependencies
• Manage Components
• Manage Software Configuration
• Manage Environments
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 26
Continuous Integration - Motivation
• The application should always be in a working state
• Not: “Yes, the application is finished, we only have to build it and run
some tests…”
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 27
Continuous Integration - Prerequisites
• A Version Control System
• An Automated Build
• Agreement of the Team
• Check in Regularly (to Trunk/Master)
• Create a Comprehensive Automated Test Suite
• Keep the Build and Test Process Short
• Manage Your Development Workspace
• A Continuous Integration Software (“Build Server”)
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 28
Continuous Integration - Essential Practices
• Don’t Check in on a Broken Build
• Always Run all Commit Tests locally before Checking Committing
• Wait for Commit Tests to Pass before Moving On
• Never Go Home on a Broken Build
• Always be Prepared to Revert to a Previous Revision
• Time-Box Fixing before Reverting
• Don’t Comment Out Failing Tests
• Take Responsibility for all Breakages That Result from Your Changes
• Test-Driven Development
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 29
References
Technische Universität München
Build Automation
Maven 3
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 31
Build Lifecycle - Phases
• validate
• compile
• test
• package
• integration-test
• verify
• install
• deploy
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 32
Plugins
• Plugins / Plugin Goals represent specific tasks
• Plugin Goals are bound to build phases
• Examples:
• compiler plugin
• jar plugin
• surefire plugin
• deploy plugin
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 33
Default Bindings - Packaging (jar)
• process-resources resources:resources
• compile compiler:compile
• process-test-resources resources:testResources
• test-compile compiler:testCompile
• test surefire:test
• package jar:jar
• install install:install
• deploy deploy:deploy
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 34
Project Object Model (POM / pom.xml)
• dependencies
• plugins / goals
• build profiles
• project version
• description
• developers
• …
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 35
Build Profiles
• Multiple Configurations / Environments
• Developer
• Team Build
• Production
• Build Profile Types
• Per Project
• Per User
• Global (per Maven Installation)
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 36
Standard Directory Layout
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 37
Dependency Mechanism
• Dependencies defined in POM are included automatically
• Transitive dependencies are included automatically
• Dependency Scopes
• compile
• provided
• runtime
• test
• system
• import
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 38
References
• Maven Documentation

http://maven.apache.org/guides/
Technische Universität München
Distributed Version Control
Git
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 40
Git - Design Issues
• Speed
• Simple design
• Strong support for non-linear development
• Fully distributed
• Able to handle large projects like the Linux kernel efficiently
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 41
Git - Snapshots, Not Differences
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 42
Git - Recording Changes to the Repository
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 43
Git - Basic Data Model
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 44
Git - Commits
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 45
Git - Branches
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 46
Git - Head
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 47
Git - Merging
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 48
Git - Remotes
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 49
Git - Workflow - Centralized
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 50
Git - Workflow - Integration-Manager
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 51
References
• Git Documentation

http://git-scm.com/book
Technische Universität München
Task 1
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 53
Software Development Environment
• Git Source Code Repositories (Atlassian Stash):

https://devschlichter.cs.tum.edu/source/
• Build Server (Atlassian Bamboo):

https://devschlichter.cs.tum.edu/ci/
• Maven Repository Manager (Sonatype Nexus):

https://devschlichter.cs.tum.edu/repo/
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 54
Technical Documentation
• Build Automation / Maven
• http://maven.apache.org/guides/
• Distributed Version Control / Git
• http://git-scm.com/book/
• http://help.eclipse.org/kepler/ (EGit Documentation)
• http://confluence.atlassian.com/display/STASH/
• Continuous Delivery / Bamboo
• http://confluence.atlassian.com/display/BAMBOO/
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 55
Important
• Build + test your project before creating commits!
• Create useful commit messages for each commit!
• Create a commit for each useful step!
• Push your commits to the server!
• Pull other’s commits from server!
• Create comments for your code and your tests!
• Format your code (the lines you changed)!
• Do not commit Eclipse configuration files or generated files!
• No Warnings / Errors / Code in Comments / …
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 56
Tasks
• Create a Maven 3 project
• Create a Git repository und push it to the server
• Configure your maven deployment settings + maven repository
• Enable your build plan
• Add jena and junit as maven dependencies
• http://jena.apache.org
• https://github.com/junit-team/junit/wiki/Download-and-Install
• Add unit test class[es] with test methods for the examples in

http://www.euclid-project.eu/modules/chapter2
Technische Universität München
Bachelor Practical Course Semantic Web - Part 1 57
Test Data
• The Beatles made the album “Help".
• The Beatles made the album "Abbey Road”.
• The Beatles made the album "Let it be”.
• The Beatles includes band-member Paul McCartney.
• Wings made the album "Band on the run”.
• Wings made the album "London Town”.
• Wings includes band-member Paul McCartney.
• The Rolling Stones made the album "Hot Rocks"
Technische Universität München
Thank you! Questions?

Mais conteúdo relacionado

Semelhante a Bachelor Practical Course Semantic Web Part 1

Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringTaaanu01
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsNoor Ul Hudda Memon
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptitadmin33
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 pptDr VISU P
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Lecture-2: Web development application development process model
Lecture-2: Web development application development process modelLecture-2: Web development application development process model
Lecture-2: Web development application development process modelMubashir Ali
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckUtrecht University
 
CM10.2 Power Builder Source Control
CM10.2 Power Builder Source ControlCM10.2 Power Builder Source Control
CM10.2 Power Builder Source ControlEric Saperstein
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017Micro Focus
 
Introduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdfIntroduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdfMahmoud268161
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phaseLilia Sfaxi
 

Semelhante a Bachelor Practical Course Semantic Web Part 1 (20)

Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
 
Lecture-2: Web development application development process model
Lecture-2: Web development application development process modelLecture-2: Web development application development process model
Lecture-2: Web development application development process model
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
CM10.2 Power Builder Source Control
CM10.2 Power Builder Source ControlCM10.2 Power Builder Source Control
CM10.2 Power Builder Source Control
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017The Journey to DevOps #MFSummit2017
The Journey to DevOps #MFSummit2017
 
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
 
Introduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdfIntroduction to the web engineering Process.pdf
Introduction to the web engineering Process.pdf
 
Unified process
Unified processUnified process
Unified process
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 

Último

Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 

Último (20)

Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 

Bachelor Practical Course Semantic Web Part 1

  • 1. Technische Universität München Bachelor Practical Course Semantic Web Summer Term 2014 Part 1 - 9.4.2014 Claudius Hauptmann
  • 2. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 2 Agenda 1. Organisational Issues 2. Linked Data 3. Continuous Delivery 4. Build Automation 5. Distributed Version Control 6. Task 1
  • 3. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 3 Bachelor Practical Course - Module Description • Intended Learning Outcomes: “Participants are able to design and implement small software systems in a team. They know how to apply engineering methods and models and can judge the risks and typical problems encountered in software projects.” • Content: “Participants exercise systematic software engineering for a small system in small teams with a precise task description with tight time constraints (design, implementation, test). Intermediate results of the team work have to be presented. Design, project plans and implementation have to be documented.” • Work load: 300 total hours (90 contact hours, 21o self-study hours)
  • 4. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 4 Organisational Issues • 10 tasks (and 11 appointments) • The tasks have to be solved in small teams • Deadlines for the tasks are on the next tuesday evening • Every solution counts 10% of the practical course • The teams will present their solutions at the next appointment • Every team member has to contribute to the solution • Each task contains optional parts
  • 6. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 6 Motivation • Publish datasets over the web • Query datasets effectively by applications • Graph-based data model • Extension, integration, inference and uniform querying
  • 7. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 7 Queries • “Retrieve a performance of the Beethoven violin concerto by a Chinese orchestra” • “Retrieve a photo of the conductor of this performance” • “List male British rock musicians married to Scandinavians”
  • 8. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 8 Background standards • HyperText Transfer Protocol (HTTP) • Uniform Resource Identifier (URI) • eXtensible Markup Language (XML) • Resource Description Framework (RDF) • RDF Schema (RDFS) • Web Ontology Language (OWL) • SPARQL Protocol and RDF Query Language (SPARQL)
  • 9. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 9 Uniform Resource Identifier (URI) • A compact sequence of characters that identifies an abstract or physical resource • Data from different data sources has to be linked to indicate synonyms http://rdf.freebase.com/ns/en.ludwig_van_beethoven! http://dbpedia.org/resource/Ludwig_van_Beethoven! http://musicbrainz.org/artist/1f9df192- a621-4f54-8850-2c5373b7eac9#_! http://data.nytimes.com/N30866506154608358173
  • 10. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 10 Resource Description Framework (RDF) • Statements are represented as triples of the form subject-predicate- object <http://musicbrainz.org/artist/b10bbbfc-cf9e-42e0-be17- e2c3e1d2600d>! <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>! <http://musicontology.com/specification/#term-MusicGroup>.
  • 11. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 11 RDF Schema (RDFS) • Extension of RDF • Allows resources to be classified explicitly as classes or properties • Further statements like class-subclass or property-subproperty relationships, and domain and range of a property <mo:member> <rdf:type> <rdfs:Property>.
 <mo:member> <rdfs:domain> <mo:MusicGroup>.
  • 12. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 12 SPARQL Protocol and RDF Query Language • Language for formulating queries over RDF data • It is the Semantic Web's counterpart to SQL PREFIX dc: <http://purl.org/dc/elements/1.1/>
 PREFIX foaf: <http://xmlns.com/foaf/0.1/>
 PREFIX dbpedia: <http://dbpedia.org/resource/>
 PREFIX music-ont: <http://purl.org/ontology/mo/>
 
 SELECT ?album_name ?track_title WHERE {
 dbpedia:The_Beatles foaf:made ?album .
 ?album dc:title ?album_name .
 ?album music-ont:track ?track .
 ?track dc:title ?track_title
 }
  • 13. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 13 Principles of Linked Data • Use URIs to identify things. • Use HTTP URIs so that people can look up those names. • When someone looks up a URI, provide useful information, using the standards (RDF, RDFS, SPARQL). • Include links to other URIs, so that they can discover more things.
  • 14. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 14 Rating published datasets 1-star: The data is available on the web with an open license. 2-star: The data is structured and machine-readable. 3-star: The data does not use a proprietary format. 4-star: The data uses only open standards from W3C (RDF, SPARQL). 5-star: The data is linked to that of other data providers.
  • 15. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 15 Sites using Linked Data • http://data.nytimes.com/schools/schools.html • http://www.bbc.co.uk/music • http://linkedgeodata.org/ • http://www.data.gov/ • http://data.gov.uk/
  • 16. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 16 References • EUCLID Project:
 http://www.euclid-project.eu/modules/chapter1
  • 18. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 18 Continuous Delivery - Motivation • Goal: Deliver software as quickly as possible • A lot of software development methodologies focus on requirement engineering and impact on development effort • Bottleneck: build, deploy, test and release process
  • 19. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 19 Continuous Delivery - Release Antipatterns • Deploying Software Manually • Deploying to a Production-like only after Development is Complete • Manual Configuration Management of Production Environments
  • 20. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 20 Continuous Delivery - How to Achieve? • Automated build, test, deploy and release process (repeatability) • Frequent releases • Every change should trigger the feedback process • The feedback must be received as soon as possible
  • 21. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 21 Continuous Delivery - Benefits • Empowering Teams • Reducing Errors • Lowering Stress • Deployment Flexibility • Practice Makes Perfect
  • 22. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 22 Continuous Delivery - Principles • Create a Repeatable, Reliable Process for Releasing Software • Automate Almost Everything • Keep Everything in Version Control • If It Hurts, Do It More Frequently, and Bring the Pain Forward • Build Quality In • Done Means Released • Everybody is Responsible for the Delivery Process • Continuous Improvement
  • 23. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 23 Configuration Management - Definition Configuration Management refers to the process by which all artefacts relevant to your project, and the relationships between them, are stored, retrieved and uniquely identified, and modified.
  • 24. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 24 Configuration Management - Key Questions • Can I exactly reproduce any of my environments and their configuration? • Can I easily make an incremental change and deploy to any, and all, of my environments? • Can I easily see each change that occurred to an environment and trace it back to see exactly what the change was and who made it? • Can I satisfy all of the compliance regulations that I am subject to? • Does every member of the team easily get the information needed?
  • 25. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 25 Configuration Management - Principles • Use Version Control • Manage Dependencies • Manage Components • Manage Software Configuration • Manage Environments
  • 26. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 26 Continuous Integration - Motivation • The application should always be in a working state • Not: “Yes, the application is finished, we only have to build it and run some tests…”
  • 27. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 27 Continuous Integration - Prerequisites • A Version Control System • An Automated Build • Agreement of the Team • Check in Regularly (to Trunk/Master) • Create a Comprehensive Automated Test Suite • Keep the Build and Test Process Short • Manage Your Development Workspace • A Continuous Integration Software (“Build Server”)
  • 28. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 28 Continuous Integration - Essential Practices • Don’t Check in on a Broken Build • Always Run all Commit Tests locally before Checking Committing • Wait for Commit Tests to Pass before Moving On • Never Go Home on a Broken Build • Always be Prepared to Revert to a Previous Revision • Time-Box Fixing before Reverting • Don’t Comment Out Failing Tests • Take Responsibility for all Breakages That Result from Your Changes • Test-Driven Development
  • 29. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 29 References
  • 31. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 31 Build Lifecycle - Phases • validate • compile • test • package • integration-test • verify • install • deploy
  • 32. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 32 Plugins • Plugins / Plugin Goals represent specific tasks • Plugin Goals are bound to build phases • Examples: • compiler plugin • jar plugin • surefire plugin • deploy plugin
  • 33. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 33 Default Bindings - Packaging (jar) • process-resources resources:resources • compile compiler:compile • process-test-resources resources:testResources • test-compile compiler:testCompile • test surefire:test • package jar:jar • install install:install • deploy deploy:deploy
  • 34. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 34 Project Object Model (POM / pom.xml) • dependencies • plugins / goals • build profiles • project version • description • developers • …
  • 35. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 35 Build Profiles • Multiple Configurations / Environments • Developer • Team Build • Production • Build Profile Types • Per Project • Per User • Global (per Maven Installation)
  • 36. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 36 Standard Directory Layout
  • 37. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 37 Dependency Mechanism • Dependencies defined in POM are included automatically • Transitive dependencies are included automatically • Dependency Scopes • compile • provided • runtime • test • system • import
  • 38. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 38 References • Maven Documentation
 http://maven.apache.org/guides/
  • 40. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 40 Git - Design Issues • Speed • Simple design • Strong support for non-linear development • Fully distributed • Able to handle large projects like the Linux kernel efficiently
  • 41. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 41 Git - Snapshots, Not Differences
  • 42. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 42 Git - Recording Changes to the Repository
  • 43. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 43 Git - Basic Data Model
  • 44. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 44 Git - Commits
  • 45. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 45 Git - Branches
  • 46. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 46 Git - Head
  • 47. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 47 Git - Merging
  • 48. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 48 Git - Remotes
  • 49. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 49 Git - Workflow - Centralized
  • 50. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 50 Git - Workflow - Integration-Manager
  • 51. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 51 References • Git Documentation
 http://git-scm.com/book
  • 53. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 53 Software Development Environment • Git Source Code Repositories (Atlassian Stash):
 https://devschlichter.cs.tum.edu/source/ • Build Server (Atlassian Bamboo):
 https://devschlichter.cs.tum.edu/ci/ • Maven Repository Manager (Sonatype Nexus):
 https://devschlichter.cs.tum.edu/repo/
  • 54. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 54 Technical Documentation • Build Automation / Maven • http://maven.apache.org/guides/ • Distributed Version Control / Git • http://git-scm.com/book/ • http://help.eclipse.org/kepler/ (EGit Documentation) • http://confluence.atlassian.com/display/STASH/ • Continuous Delivery / Bamboo • http://confluence.atlassian.com/display/BAMBOO/
  • 55. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 55 Important • Build + test your project before creating commits! • Create useful commit messages for each commit! • Create a commit for each useful step! • Push your commits to the server! • Pull other’s commits from server! • Create comments for your code and your tests! • Format your code (the lines you changed)! • Do not commit Eclipse configuration files or generated files! • No Warnings / Errors / Code in Comments / …
  • 56. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 56 Tasks • Create a Maven 3 project • Create a Git repository und push it to the server • Configure your maven deployment settings + maven repository • Enable your build plan • Add jena and junit as maven dependencies • http://jena.apache.org • https://github.com/junit-team/junit/wiki/Download-and-Install • Add unit test class[es] with test methods for the examples in
 http://www.euclid-project.eu/modules/chapter2
  • 57. Technische Universität München Bachelor Practical Course Semantic Web - Part 1 57 Test Data • The Beatles made the album “Help". • The Beatles made the album "Abbey Road”. • The Beatles made the album "Let it be”. • The Beatles includes band-member Paul McCartney. • Wings made the album "Band on the run”. • Wings made the album "London Town”. • Wings includes band-member Paul McCartney. • The Rolling Stones made the album "Hot Rocks"