Generating Linked Data descriptions of Debian packages in the Debian PTS

olberger
Intoduction         The Debian PTS       Meta-data about source packages   Applications




              Generating Linked Data descriptions of Debian
                       packages in the Debian PTS

                   Olivier Berger <mailto:obergix@debian.org>,
                            Debian + Télécom SudParis


                                Sunday 25/11/2012
                             Debian mini-debconf - Paris
Intoduction       The Debian PTS       Meta-data about source packages   Applications



                              Quick Introduction
                                    Short bio



      Olivier BERGER
      <mailto:olivier.berger@telecom-sudparis.eu>
      <mailto:obergix@debian.org>
      Research Engineer at TELECOM SudParis, expert on software
      development forges, and interoperability in Libre Software
      development projects. Contributor to FusionForge, Debian, etc.
Intoduction          The Debian PTS     Meta-data about source packages   Applications



                                      Issues



          • A universal Free Software Project description format ;
          • A universal distribution Package description format ;
          • How to inter-link documents about the same program :
              • Bug reports (upstream and in all distros)
              • Security advisories
          • Are we developing Free Software in close silos ?
          • What’s usually wrong with [ XML | JSON | YAML | RFC822 ]
              format ?
Intoduction        The Debian PTS        Meta-data about source packages    Applications



              Linked Open Debian Development Meta-Data

      Let’s try and make as much Debian facts as possible available to
      humans + machines ?
      Adopting the 5 Open Data principles using RDF for Debian
      meta-data :
                     make your stuff available on the web
                     make it available as structured data
                     non-proprietary format
                     use URLs to identify things, so that people can point
                     at your stuff (RDF)
                     link your data to other people’s data to provide context
                     (Linked RDF)

      Aligns quite well with 3. We will not hide problems (Debian social
      contract)
Intoduction       The Debian PTS        Meta-data about source packages   Applications



                         What’s the Debian PTS
      http ://packages.qa.debian.org/
Intoduction            The Debian PTS                Meta-data about source packages              Applications



                                Architecture of the PTS
                                  The PTS used to be for humans




      Improved from source diagram : Package Tracking System Hacking’s guide by Raphaël Hertzog
Intoduction       The Debian PTS     Meta-data about source packages   Applications



       Producing HTML for humans and RDF for machines
      NEW : the PTS now generates RDF meta-data to be consumed by
      machines (+/- 1.5 M triples)




      We use content-negociation to redirect to the proper document.
Intoduction            The Debian PTS                Meta-data about source packages   Applications



                        Model : Graph of RDF resources
      Reference Linked Data resources with canonical URI like
      <http://packages.qa.debian.org/PACKAGE#RESOURCE_ID>




      The greyed resources correspond to upstream components
Intoduction                   The Debian PTS                            Meta-data about source packages                                 Applications



                Apache2 packaging as RDF (Turtle notation)
      http://packages.qa.debian.org/a/apache2.ttl (soon)
         @ p r e f i x d o a p : < h t t p : // u s e f u l i n c . com/ n s / doap# .
                                                                                     >
         @ p r e f i x a d m s s w : < h t t p : // p u r l . o r g / adms / sw /> .

         < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#p r o j e c t>
                 a admssw:SoftwareProject ;
                 doap:name " apache2 " ;
                 d o a p : d e s c r i p t i o n " Debian ␣ apache2 ␣ s o u r c e ␣ packaging " ;
                 d o a p : h o m e p a g e < h t t p : // p a c k a g e s . d e b i a n . o r g / s r c : a p a c h e 2> ;
                 d o a p : h o m e p a g e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2> ;
                 d o a p : r e l e a s e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2
                           . 2 . 2 2 − 1 1> ;
                 schema:contributor [
                     a foaf:OnlineAccount ;
                     f o a f : a c c o u n t N a m e " D e b i a n ␣ Apache ␣ M a i n t a i n e r s " ;
                     f o a f : a c c o u n t S e r v i c e H o m e p a g e < h t t p : // qa . d e b i a n . o r g / d e v e l o p e r . php ?
                                l o g i n=d e b i a n −a p a c h e @ l i s t s . d e b i a n . o r g>
                 ] .

         < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2 . 2 . 2 2 − 1 1>
                 a admssw:SoftwareRelease ;
                 r d f s : l a b e l " apache2 ␣ 2.2.22 −11 " ;
                 d o a p : r e v i s i o n " 2.2.22 −11 " ;
                 a d m s s w : p a c k a g e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2
                          . 2 . 2 2 − 1 1 . d s c> ;
                 a d m s s w : i n c l u d e d A s s e t < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#
                          u p s t r e a m s r c _ 2 . 2 . 2 2> ;
                 a d m s s w : i n c l u d e d A s s e t < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#
                           d e b i a n s r c _ 2 . 2 . 2 2 − 1 1> .
Intoduction        The Debian PTS       Meta-data about source packages   Applications



                          The ADMS.SW ontology



      Asset Description Metadata Schema for Software (ADMS.SW)

       • Pilot : EC / Interoperability Solutions for
          European Public Administrations (ISA) -
          cf. Joinup site
       • Exchanging project / packages / releases
          descriptions across development platforms
          and directories
Intoduction          The Debian PTS     Meta-data about source packages   Applications



                                Open specifications



      Not too much NIH syndrom : reuses :
          • ADMS / RADion (generic meta-data for semantic assets
              indexing)
          • DOAP (Description of a project)
          • SPDX™ ( Software Package Data Exchange ®)
          • W3C Government Linked Data (GLD) Working Group
      Version 1.0 issued 2012/06/29
      RDF Validator issued a few weeks ago
Intoduction      The Debian PTS      Meta-data about source packages   Applications



                       ADMS.SW main concepts
      Project (= Program), Release, Package




      Modeling Debian will require other complements
Intoduction          The Debian PTS       Meta-data about source packages   Applications



                  Traceability over the FLOSS ecosystem

      Collecting descriptions of packages/projects from their source
      projects as Linked Data (DOAP or ADMS.SW) into an RDF triple
      store.
      For instance :
          • For debian, from PTS ADMS.SW full dump from
              p.q.d.o:/srv/packages.qa.debian.org/www/web/full-dump.rdf
          • For apache, from DOAP files (see
              http ://projects.apache.org/docs/index.htm)
          • . . . Add your preferred upstream . . .

      Following links between bugs, packages, security alerts, all in
      semantic interoperable meta-data formats !
Intoduction                 The Debian PTS                        Meta-data about source packages   Applications



                       Matching project/package descriptions

      Example (SPARQL query to match packages by their
      homepages)
      PREFIX doap : <h t t p : / / u s e f u l i n c . com/ n s / doap>

      SELECT ∗ WHERE
      {
        GRAPH <h t t p : / / p a c k a g e s . qa . d e b i a n . o r g />
        {
          ? dp doap : homepage ? h
        }
        GRAPH <h t t p : / / p r o j e c t s . a p a c h e . o r g />
        {
          ? ap doap : homepage ? h
        }
      }


      “Semantic query” : Trying to match source packages in Debian
      whose upstream project’s homepages match those of the Apache
      projec’s DOAP descriptors.
Intoduction             The Debian PTS                Meta-data about source packages              Applications



                                      Matching packages
      Results : 62 matching Apache projects packaged in Debian (for
      which maintainers did set the Homepage Control field consistently).
      Example (Matching upstream Apache project homepages with
      Debian source packages’)
              dp                             h                          ap
              ivy                            ant.a.o/ivy/               ant.a.o/ivy/
              apr                            apr.a.o/                   apr.a.o/
              apr-util                       apr.a.o/                   apr.a.o/
              libcommons-cli-java            commons.a.o/cli/           commons.a.o/cli/
              libcommons-codec-java          commons.a.o/codec/         commons.a.o/codec/
              libcommons-collections3-java   commons.a.o/collections/   commons.a.o/collections/
              libcommons-collections-java    commons.a.o/collections/   commons.a.o/collections/
              commons-daemon                 commons.a.o/daemon/        commons.a.o/daemon/
              libcommons-discovery-java      commons.a.o/discovery/     commons.a.o/discovery/
              libcommons-el-java             commons.a.o/el/            commons.a.o/el/
              libcommons-fileupload-java      commons.a.o/fileupload/     commons.a.o/fileupload/
              commons-io                     commons.a.o/io/            commons.a.o/io/
              commons-jci                    commons.a.o/jci/           commons.a.o/jci/
              libcommons-launcher-java       commons.a.o/launcher/      commons.a.o/launcher/
              ...                            ...                        ...
Intoduction             The Debian PTS      Meta-data about source packages   Applications



                                    Related initiatives


      About ADMS.SW :
          • Adding ADMS.SW support in FusionForge (hence soon in
              Alioth)
      Related initiatives about package meta-data :
          • AppStream (Software Center, DEP11, etc.)
          • Umegaya (upstream meta-data, links with research
              publications, etc.)
          • DistroMatch (match package names across distributions)
      Let’s discuss further steps (replacing YAML by Turtle, etc. ;-)
Intoduction         The Debian PTS      Meta-data about source packages     Applications



                                       Fin

      More details at :
          • http ://wiki.debian.org/qa.debian.org/pts/RdfInterface
          • Linked Data descriptions of Debian source packages using
              ADMS.SW to be published soon in SWESE 2012 proceedings

      Contact :
      Micro-blogging : @oberger http://identi.ca/oberger/
      Email : mailto:obergix@debian.org
      Blog : http://www-public.telecom-sudparis.eu/~berger_o/weblog/

      Copyright :
      Copyright 2012 Institut Mines Telecom + Olivier Berger
      License of this presentation : Creative Commons Share Alike (except
      illustrations which are under copyright of their respective owners)
1 of 17

Recommended

Presentation distro recipes-2013 by
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013olberger
1.7K views20 slides
An introduction to git by
An introduction to gitAn introduction to git
An introduction to gitolberger
2.2K views52 slides
The Gory Details of Debian packages by
The Gory Details of Debian packagesThe Gory Details of Debian packages
The Gory Details of Debian packagesJeremiah Foster
3.5K views34 slides
Packaging for the Maemo Platform by
Packaging for the Maemo PlatformPackaging for the Maemo Platform
Packaging for the Maemo PlatformJeremiah Foster
706 views32 slides
Running R on Hadoop - CHUG - 20120815 by
Running R on Hadoop - CHUG - 20120815Running R on Hadoop - CHUG - 20120815
Running R on Hadoop - CHUG - 20120815Chicago Hadoop Users Group
24.7K views48 slides
Big Data Step-by-Step: Infrastructure 1/3: Local VM by
Big Data Step-by-Step: Infrastructure 1/3: Local VMBig Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMJeffrey Breen
43.6K views24 slides

More Related Content

What's hot

Tapping the Data Deluge with R by
Tapping the Data Deluge with RTapping the Data Deluge with R
Tapping the Data Deluge with RJeffrey Breen
24.7K views36 slides
Packaging perl (LPW2010) by
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)p3castro
2.1K views32 slides
250hadoopinterviewquestions by
250hadoopinterviewquestions250hadoopinterviewquestions
250hadoopinterviewquestionsRamana Swamy
37 views34 slides
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014) by
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)Aaron Meurer
2.7K views40 slides
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3) by
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Ahmed El-Arabawy
895 views69 slides
Advanced Usage of the Debian Packaging System by
Advanced Usage of the Debian Packaging SystemAdvanced Usage of the Debian Packaging System
Advanced Usage of the Debian Packaging SystemAdam Gonnerman
260 views47 slides

What's hot(20)

Tapping the Data Deluge with R by Jeffrey Breen
Tapping the Data Deluge with RTapping the Data Deluge with R
Tapping the Data Deluge with R
Jeffrey Breen24.7K views
Packaging perl (LPW2010) by p3castro
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)
p3castro2.1K views
250hadoopinterviewquestions by Ramana Swamy
250hadoopinterviewquestions250hadoopinterviewquestions
250hadoopinterviewquestions
Ramana Swamy37 views
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014) by Aaron Meurer
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)
Aaron Meurer2.7K views
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3) by Ahmed El-Arabawy
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Ahmed El-Arabawy895 views
Advanced Usage of the Debian Packaging System by Adam Gonnerman
Advanced Usage of the Debian Packaging SystemAdvanced Usage of the Debian Packaging System
Advanced Usage of the Debian Packaging System
Adam Gonnerman260 views
Getting Into FLOW3 (TYPO312CA) by Robert Lemke
Getting Into FLOW3 (TYPO312CA)Getting Into FLOW3 (TYPO312CA)
Getting Into FLOW3 (TYPO312CA)
Robert Lemke1.6K views
The Lives of Others: Open-Source Development Practices Elsewhere by Peter Eisentraut
The Lives of Others: Open-Source Development Practices ElsewhereThe Lives of Others: Open-Source Development Practices Elsewhere
The Lives of Others: Open-Source Development Practices Elsewhere
Peter Eisentraut556 views
Open Source Tools for Leveling Up Operations FOSSET 2014 by Mandi Walls
Open Source Tools for Leveling Up Operations FOSSET 2014Open Source Tools for Leveling Up Operations FOSSET 2014
Open Source Tools for Leveling Up Operations FOSSET 2014
Mandi Walls1.2K views
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017 by Codemotion
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
Codemotion767 views
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T by Puppet
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
Puppet808 views
Integrating R & Hadoop - Text Mining & Sentiment Analysis by Aravind Babu
Integrating R & Hadoop - Text Mining & Sentiment AnalysisIntegrating R & Hadoop - Text Mining & Sentiment Analysis
Integrating R & Hadoop - Text Mining & Sentiment Analysis
Aravind Babu2.9K views
That's (g)it! par Sébastien Dawans CETIC by La FeWeb
That's (g)it! par Sébastien Dawans CETICThat's (g)it! par Sébastien Dawans CETIC
That's (g)it! par Sébastien Dawans CETIC
La FeWeb1K views
Big Data Hadoop Training by stratapps
Big Data Hadoop TrainingBig Data Hadoop Training
Big Data Hadoop Training
stratapps983 views
IETF 100: Surviving IPv6 fragmentation by APNIC
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentation
APNIC613 views
Getting Git Right by Sven Peters
Getting Git RightGetting Git Right
Getting Git Right
Sven Peters152.2K views
Building a Linux IPv6 DNS Server Project review PPT v3.0 First review by Hari
Building a Linux IPv6 DNS Server Project review PPT v3.0 First reviewBuilding a Linux IPv6 DNS Server Project review PPT v3.0 First review
Building a Linux IPv6 DNS Server Project review PPT v3.0 First review
Hari 839 views

Similar to Generating Linked Data descriptions of Debian packages in the Debian PTS

Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro... by
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
696 views20 slides
Approaching package manager by
Approaching package managerApproaching package manager
Approaching package managerTimur Safin
1K views37 slides
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere by
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereGanesh Raju
97 views24 slides
Through the firewall with miniCRAN by
Through the firewall with miniCRANThrough the firewall with miniCRAN
Through the firewall with miniCRANRevolution Analytics
24.8K views24 slides
Getting started with R & Hadoop by
Getting started with R & HadoopGetting started with R & Hadoop
Getting started with R & HadoopJeffrey Breen
3.8K views48 slides
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am... by
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...Alexander Dean
3.3K views51 slides

Similar to Generating Linked Data descriptions of Debian packages in the Debian PTS(20)

Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro... by Anne Nicolas
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Anne Nicolas696 views
Approaching package manager by Timur Safin
Approaching package managerApproaching package manager
Approaching package manager
Timur Safin1K views
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere by Ganesh Raju
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Ganesh Raju97 views
Getting started with R & Hadoop by Jeffrey Breen
Getting started with R & HadoopGetting started with R & Hadoop
Getting started with R & Hadoop
Jeffrey Breen3.8K views
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am... by Alexander Dean
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...
From Zero to Hadoop: a tutorial for getting started writing Hadoop jobs on Am...
Alexander Dean3.3K views
Containers Roadshow: How to Develop Containers for the Enterprise by Honza Horák
Containers Roadshow: How to Develop Containers for the EnterpriseContainers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the Enterprise
Honza Horák155 views
Language-agnostic data analysis workflows and reproducible research by Andrew Lowe
Language-agnostic data analysis workflows and reproducible researchLanguage-agnostic data analysis workflows and reproducible research
Language-agnostic data analysis workflows and reproducible research
Andrew Lowe197 views
FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru... by Fasten Project
FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru...FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru...
FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru...
Fasten Project176 views
Quadrupling your elephants - RDF and the Hadoop ecosystem by Rob Vesse
Quadrupling your elephants - RDF and the Hadoop ecosystemQuadrupling your elephants - RDF and the Hadoop ecosystem
Quadrupling your elephants - RDF and the Hadoop ecosystem
Rob Vesse5K views
How to Build Package in Linux Based Systems. by İbrahim UÇAR
How to Build Package in Linux Based Systems.How to Build Package in Linux Based Systems.
How to Build Package in Linux Based Systems.
İbrahim UÇAR4.4K views
Design and Research of Hadoop Distributed Cluster Based on Raspberry by IJRESJOURNAL
Design and Research of Hadoop Distributed Cluster Based on RaspberryDesign and Research of Hadoop Distributed Cluster Based on Raspberry
Design and Research of Hadoop Distributed Cluster Based on Raspberry
IJRESJOURNAL33 views
An Overview of Hadoop by Asif Ali
An Overview of HadoopAn Overview of Hadoop
An Overview of Hadoop
Asif Ali1.9K views
May 29, 2014 Toronto Hadoop User Group - Micro ETL by Adam Muise
May 29, 2014 Toronto Hadoop User Group - Micro ETLMay 29, 2014 Toronto Hadoop User Group - Micro ETL
May 29, 2014 Toronto Hadoop User Group - Micro ETL
Adam Muise1K views
Introduction to Apache Spark :: Lagos Scala Meetup session 2 by Olalekan Fuad Elesin
Introduction to Apache Spark :: Lagos Scala Meetup session 2 Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2

More from olberger

Interoperability of FLOSS forges; lessons from the COCLICO project, implement... by
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...olberger
964 views30 slides
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper... by
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...olberger
6.4K views28 slides
Presentation forges logicielles à mathrice by
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathriceolberger
1.1K views26 slides
Jailbreaking the Forges : project export/import efforts by
Jailbreaking the Forges : project export/import effortsJailbreaking the Forges : project export/import efforts
Jailbreaking the Forges : project export/import effortsolberger
1.1K views27 slides
Bug tracking à grande échelle et interopérabilité des outils de développement... by
Bug tracking à grande échelle et interopérabilité des outils de développement...Bug tracking à grande échelle et interopérabilité des outils de développement...
Bug tracking à grande échelle et interopérabilité des outils de développement...olberger
2.3K views49 slides
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int... by
OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...olberger
2K views26 slides

More from olberger(19)

Interoperability of FLOSS forges; lessons from the COCLICO project, implement... by olberger
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
olberger964 views
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper... by olberger
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
olberger6.4K views
Presentation forges logicielles à mathrice by olberger
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathrice
olberger1.1K views
Jailbreaking the Forges : project export/import efforts by olberger
Jailbreaking the Forges : project export/import effortsJailbreaking the Forges : project export/import efforts
Jailbreaking the Forges : project export/import efforts
olberger1.1K views
Bug tracking à grande échelle et interopérabilité des outils de développement... by olberger
Bug tracking à grande échelle et interopérabilité des outils de développement...Bug tracking à grande échelle et interopérabilité des outils de développement...
Bug tracking à grande échelle et interopérabilité des outils de développement...
olberger2.3K views
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int... by olberger
OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
olberger2K views
Presentation soc-fr-fossa by olberger
Presentation soc-fr-fossaPresentation soc-fr-fossa
Presentation soc-fr-fossa
olberger513 views
Bugs tracking at a large scale in the FLOSS ecosystem by olberger
Bugs tracking at a large scale in the FLOSS ecosystemBugs tracking at a large scale in the FLOSS ecosystem
Bugs tracking at a large scale in the FLOSS ecosystem
olberger2K views
Coclico project - Forges Interoperability (OWF 2010) by olberger
Coclico project - Forges Interoperability (OWF 2010)Coclico project - Forges Interoperability (OWF 2010)
Coclico project - Forges Interoperability (OWF 2010)
olberger1.6K views
Introduction aux logiciels libres by olberger
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libres
olberger2.1K views
Bugtracking on the Web 2.5 by olberger
Bugtracking on the Web 2.5Bugtracking on the Web 2.5
Bugtracking on the Web 2.5
olberger764 views
Introduction aux logiciels libres by olberger
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libres
olberger696 views
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD... by olberger
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
olberger778 views
Introduction to bts-link by olberger
Introduction to bts-linkIntroduction to bts-link
Introduction to bts-link
olberger1.4K views
Visualizing contributions in a forge -Case study on PicoForge by olberger
Visualizing contributions in a forge -Case study on PicoForgeVisualizing contributions in a forge -Case study on PicoForge
Visualizing contributions in a forge -Case study on PicoForge
olberger587 views
Plate-formes pour le développement collaboratif des logiciels libres by olberger
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libres
olberger973 views
Retour d'expérience sur la conduite d'un projet libre by olberger
Retour d'expérience sur la conduite d'un projet libreRetour d'expérience sur la conduite d'un projet libre
Retour d'expérience sur la conduite d'un projet libre
olberger3.3K views
Olpc France Presentation Sl2008 by olberger
Olpc France Presentation Sl2008Olpc France Presentation Sl2008
Olpc France Presentation Sl2008
olberger994 views
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques by olberger
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiquesCollaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
olberger672 views

Recently uploaded

SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
15 views1 slide
Future of AR - Facebook Presentation by
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentationssuserb54b561
14 views27 slides
Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
30 views15 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
39 views1 slide
Mini-Track: AI and ML in Network Operations Applications by
Mini-Track: AI and ML in Network Operations ApplicationsMini-Track: AI and ML in Network Operations Applications
Mini-Track: AI and ML in Network Operations ApplicationsNetwork Automation Forum
10 views24 slides
"Running students' code in isolation. The hard way", Yurii Holiuk by
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk Fwdays
11 views34 slides

Recently uploaded(20)

Future of AR - Facebook Presentation by ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56114 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays11 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc10 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf

Generating Linked Data descriptions of Debian packages in the Debian PTS

  • 1. Intoduction The Debian PTS Meta-data about source packages Applications Generating Linked Data descriptions of Debian packages in the Debian PTS Olivier Berger <mailto:obergix@debian.org>, Debian + Télécom SudParis Sunday 25/11/2012 Debian mini-debconf - Paris
  • 2. Intoduction The Debian PTS Meta-data about source packages Applications Quick Introduction Short bio Olivier BERGER <mailto:olivier.berger@telecom-sudparis.eu> <mailto:obergix@debian.org> Research Engineer at TELECOM SudParis, expert on software development forges, and interoperability in Libre Software development projects. Contributor to FusionForge, Debian, etc.
  • 3. Intoduction The Debian PTS Meta-data about source packages Applications Issues • A universal Free Software Project description format ; • A universal distribution Package description format ; • How to inter-link documents about the same program : • Bug reports (upstream and in all distros) • Security advisories • Are we developing Free Software in close silos ? • What’s usually wrong with [ XML | JSON | YAML | RFC822 ] format ?
  • 4. Intoduction The Debian PTS Meta-data about source packages Applications Linked Open Debian Development Meta-Data Let’s try and make as much Debian facts as possible available to humans + machines ? Adopting the 5 Open Data principles using RDF for Debian meta-data : make your stuff available on the web make it available as structured data non-proprietary format use URLs to identify things, so that people can point at your stuff (RDF) link your data to other people’s data to provide context (Linked RDF) Aligns quite well with 3. We will not hide problems (Debian social contract)
  • 5. Intoduction The Debian PTS Meta-data about source packages Applications What’s the Debian PTS http ://packages.qa.debian.org/
  • 6. Intoduction The Debian PTS Meta-data about source packages Applications Architecture of the PTS The PTS used to be for humans Improved from source diagram : Package Tracking System Hacking’s guide by Raphaël Hertzog
  • 7. Intoduction The Debian PTS Meta-data about source packages Applications Producing HTML for humans and RDF for machines NEW : the PTS now generates RDF meta-data to be consumed by machines (+/- 1.5 M triples) We use content-negociation to redirect to the proper document.
  • 8. Intoduction The Debian PTS Meta-data about source packages Applications Model : Graph of RDF resources Reference Linked Data resources with canonical URI like <http://packages.qa.debian.org/PACKAGE#RESOURCE_ID> The greyed resources correspond to upstream components
  • 9. Intoduction The Debian PTS Meta-data about source packages Applications Apache2 packaging as RDF (Turtle notation) http://packages.qa.debian.org/a/apache2.ttl (soon) @ p r e f i x d o a p : < h t t p : // u s e f u l i n c . com/ n s / doap# . > @ p r e f i x a d m s s w : < h t t p : // p u r l . o r g / adms / sw /> . < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#p r o j e c t> a admssw:SoftwareProject ; doap:name " apache2 " ; d o a p : d e s c r i p t i o n " Debian ␣ apache2 ␣ s o u r c e ␣ packaging " ; d o a p : h o m e p a g e < h t t p : // p a c k a g e s . d e b i a n . o r g / s r c : a p a c h e 2> ; d o a p : h o m e p a g e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2> ; d o a p : r e l e a s e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2 . 2 . 2 2 − 1 1> ; schema:contributor [ a foaf:OnlineAccount ; f o a f : a c c o u n t N a m e " D e b i a n ␣ Apache ␣ M a i n t a i n e r s " ; f o a f : a c c o u n t S e r v i c e H o m e p a g e < h t t p : // qa . d e b i a n . o r g / d e v e l o p e r . php ? l o g i n=d e b i a n −a p a c h e @ l i s t s . d e b i a n . o r g> ] . < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2 . 2 . 2 2 − 1 1> a admssw:SoftwareRelease ; r d f s : l a b e l " apache2 ␣ 2.2.22 −11 " ; d o a p : r e v i s i o n " 2.2.22 −11 " ; a d m s s w : p a c k a g e < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2#apache2_2 . 2 . 2 2 − 1 1 . d s c> ; a d m s s w : i n c l u d e d A s s e t < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2# u p s t r e a m s r c _ 2 . 2 . 2 2> ; a d m s s w : i n c l u d e d A s s e t < h t t p : // p a c k a g e s . qa . d e b i a n . o r g / a p a c h e 2# d e b i a n s r c _ 2 . 2 . 2 2 − 1 1> .
  • 10. Intoduction The Debian PTS Meta-data about source packages Applications The ADMS.SW ontology Asset Description Metadata Schema for Software (ADMS.SW) • Pilot : EC / Interoperability Solutions for European Public Administrations (ISA) - cf. Joinup site • Exchanging project / packages / releases descriptions across development platforms and directories
  • 11. Intoduction The Debian PTS Meta-data about source packages Applications Open specifications Not too much NIH syndrom : reuses : • ADMS / RADion (generic meta-data for semantic assets indexing) • DOAP (Description of a project) • SPDX™ ( Software Package Data Exchange ®) • W3C Government Linked Data (GLD) Working Group Version 1.0 issued 2012/06/29 RDF Validator issued a few weeks ago
  • 12. Intoduction The Debian PTS Meta-data about source packages Applications ADMS.SW main concepts Project (= Program), Release, Package Modeling Debian will require other complements
  • 13. Intoduction The Debian PTS Meta-data about source packages Applications Traceability over the FLOSS ecosystem Collecting descriptions of packages/projects from their source projects as Linked Data (DOAP or ADMS.SW) into an RDF triple store. For instance : • For debian, from PTS ADMS.SW full dump from p.q.d.o:/srv/packages.qa.debian.org/www/web/full-dump.rdf • For apache, from DOAP files (see http ://projects.apache.org/docs/index.htm) • . . . Add your preferred upstream . . . Following links between bugs, packages, security alerts, all in semantic interoperable meta-data formats !
  • 14. Intoduction The Debian PTS Meta-data about source packages Applications Matching project/package descriptions Example (SPARQL query to match packages by their homepages) PREFIX doap : <h t t p : / / u s e f u l i n c . com/ n s / doap> SELECT ∗ WHERE { GRAPH <h t t p : / / p a c k a g e s . qa . d e b i a n . o r g /> { ? dp doap : homepage ? h } GRAPH <h t t p : / / p r o j e c t s . a p a c h e . o r g /> { ? ap doap : homepage ? h } } “Semantic query” : Trying to match source packages in Debian whose upstream project’s homepages match those of the Apache projec’s DOAP descriptors.
  • 15. Intoduction The Debian PTS Meta-data about source packages Applications Matching packages Results : 62 matching Apache projects packaged in Debian (for which maintainers did set the Homepage Control field consistently). Example (Matching upstream Apache project homepages with Debian source packages’) dp h ap ivy ant.a.o/ivy/ ant.a.o/ivy/ apr apr.a.o/ apr.a.o/ apr-util apr.a.o/ apr.a.o/ libcommons-cli-java commons.a.o/cli/ commons.a.o/cli/ libcommons-codec-java commons.a.o/codec/ commons.a.o/codec/ libcommons-collections3-java commons.a.o/collections/ commons.a.o/collections/ libcommons-collections-java commons.a.o/collections/ commons.a.o/collections/ commons-daemon commons.a.o/daemon/ commons.a.o/daemon/ libcommons-discovery-java commons.a.o/discovery/ commons.a.o/discovery/ libcommons-el-java commons.a.o/el/ commons.a.o/el/ libcommons-fileupload-java commons.a.o/fileupload/ commons.a.o/fileupload/ commons-io commons.a.o/io/ commons.a.o/io/ commons-jci commons.a.o/jci/ commons.a.o/jci/ libcommons-launcher-java commons.a.o/launcher/ commons.a.o/launcher/ ... ... ...
  • 16. Intoduction The Debian PTS Meta-data about source packages Applications Related initiatives About ADMS.SW : • Adding ADMS.SW support in FusionForge (hence soon in Alioth) Related initiatives about package meta-data : • AppStream (Software Center, DEP11, etc.) • Umegaya (upstream meta-data, links with research publications, etc.) • DistroMatch (match package names across distributions) Let’s discuss further steps (replacing YAML by Turtle, etc. ;-)
  • 17. Intoduction The Debian PTS Meta-data about source packages Applications Fin More details at : • http ://wiki.debian.org/qa.debian.org/pts/RdfInterface • Linked Data descriptions of Debian source packages using ADMS.SW to be published soon in SWESE 2012 proceedings Contact : Micro-blogging : @oberger http://identi.ca/oberger/ Email : mailto:obergix@debian.org Blog : http://www-public.telecom-sudparis.eu/~berger_o/weblog/ Copyright : Copyright 2012 Institut Mines Telecom + Olivier Berger License of this presentation : Creative Commons Share Alike (except illustrations which are under copyright of their respective owners)