SlideShare a Scribd company logo
Intoduction       Use case      My efforts       Package / Project meta-data   Fin




              Using RDF metadata for traceability among
                      projects and distributions

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


                             Thursday 04/04/2013
                             Distro Recipes - Paris
Intoduction      Use case      My efforts       Package / Project meta-data   Fin



                            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          Use case        My efforts     Package / Project meta-data   Fin



                                How much duplication ?




          • Think about all the duplicate bug reports, and the number of
              people involved. . . usually not the ones who can help, btw
          • Can you navigate between all of these ?
          • Does google search help ?
Intoduction          Use case      My efforts        Package / Project meta-data   Fin



                                   Some issues

          • Universal Free Software Project description format ; (nay)
          • Universal distribution Package description format ; (nay)
          • Common Semantics ? (probably)
          • How to inter-link documents about the same program :
              • Bug reports (upstream and in all distros)
                     • Launchpad
                • Security advisories
                • Debian’s Homepage: control field
          • Are we maintaining Free Software distributions in close silos ?
          • External directories (FSF, Freshmeat/Freecode, JoinUp, etc.)
          • What’s usually wrong with [ XML | JSON | YAML | RFC822 ]
              format ?
Intoduction         Use case            My efforts      Package / Project meta-data     Fin



                                       An approach
                               Linked Open Development Meta-Data



          • Let’s try and make as much distro facts as possible available
              to humans + machines ?
          • Adopting the 5          Open Data principles using RDF for distro
              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)
Intoduction          Use case         My efforts         Package / Project meta-data   Fin



     Project/program/package traceability over the FLOSS
                         ecosystem

          • Assembling a graph of descriptions of packages/projects
              published as Linked Data (DOAP or ADMS.SW) on their
              forges / project portals.
              For instance :
                • For Debian, from the Debian PTS (already Linked Data proof)
                • For Apache, Gnome, Pypi, from DOAP files (not yet all
                   Linked Data, but close)
                • . . . Add your preferred upstream . . .

          • Consumed by developer/maintainer/packager tools : following
              links between packages, (and their bugs, security alerts), all in
              semantic interoperable meta-data formats (RDF) !
Intoduction                Use case                   My efforts              Package / Project meta-data   Fin



                       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
      project’s DOAP descriptors.
Intoduction             Use case             My efforts             Package / Project meta-data     Fin



                                      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/
              ...                            ...                        ...


      Matching program names gives more results but is ambiguous
Intoduction             Use case         My efforts          Package / Project meta-data   Fin



                                   My current experiment
                                     mining project descriptions



          • Running on my laptop ATM
          • Currently use Python to harvest meta-data from DOAP files
              for :
                 •    Gnome
                 •    Apache
                 •    Pypi.python.org
                 •    Debian
                 •    (add you ?)
          • Down to a virtuoso Triple store : > 2.5 M triples ATM
          • A python app to perform queries
          • May be published as a public service some day
Intoduction      Use case      My efforts   Package / Project meta-data   Fin



      Adding RDF to the Debian Package Tracking System
      http ://packages.qa.debian.org/
Intoduction       Use case        My efforts   Package / Project meta-data   Fin



                  Adding ADMS.SW for FusionForge



          • Adding ADMS.SW support in FusionForge
              • Projects
              • Releases
              • Trove categories
          • Expected deployment on :
              • Cenatic
              • Adullact
              • Debian’s Alioth
Intoduction            Use case            My efforts           Package / Project meta-data   Fin



                        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                   Use case                      My efforts                       Package / Project meta-data                           Fin



                                           Forget about RDF/XML

      Yes, RDF can be expressed :
           • as XML
           • as Turtle (PREFERRED) : text (close to YAML / RFC 822)
           • as JSON

      Turtle example :
      @prefix         r d f : < h t t p : //www . w3 . o r g /1999/02/22 − r d f −s y n t a x −n s# .
                                                                                                   >
      @prefix         f o a f : < h t t p : // x m l n s . com/ f o a f / 0 . 1 /> .
      @prefix         o w l : < h t t p : //www . w3 . o r g / 2 0 0 2 / 0 7 / o w l# .
                                                                                     >

      < h t t p : // p e o p l e . d e b i a n . o r g /~ o b e r g i x / f o a f . t t l #me>
              a foaf:Person ;
              foaf:name " O l i v i e r ␣ Berger " ;
              foaf:nick " obergix " ;
              foaf:mbox " m a i l t o : o b e r g i x @ d e b i a n . org " ;
              f o a f : h o m e p a g e < h t t p : // p e o p l e . d e b i a n . o r g /~ o b e r g i x /> ;
              o w l : s a m e A s < h t t p : //www     −p u b l i c . t e l e c o m −s u d p a r i s . eu /~ b e r g e r _ o / f o a f . r d f
                        #me> .


      See also RDF Primer — Turtle version
Intoduction                   Use case                     My efforts                       Package / Project meta-data                         Fin



                             Apache2 Debian packaging as RDF

      http://packages.qa.debian.org/a/apache2.ttl
      @ 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 . qa . d . o / 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 . o / 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 . qa . d . o / a p a c h e 2> ;
              d o a p : r e l e a s e < h t t p : // p . qa . d . o / 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 . o / 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 . o>
              ] .

      < h t t p : // p . qa . d . o / 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 . qa . d . o / 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 . qa . d . o / 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 . qa . d . o / a p a c h e 2#d e b i a n s r c _ 2 . 2 . 2 2 − 1 1> .
Intoduction        Use case        My efforts      Package / Project meta-data   Fin



                              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          Use case      My efforts    Package / Project meta-data   Fin



                                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 available
          • RDF is extensible : ADMS.SW / DOAP core + distro-specific
              extensions
Intoduction      Use case      My efforts      Package / Project meta-data   Fin



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




      Modeling Debian will require other complements
Intoduction          Use case       My efforts   Package / Project meta-data   Fin



                                Related initiatives




      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)
Intoduction          Use case      My efforts    Package / Project meta-data   Fin



                                 Recommendations




          • Upstream authors : please create DOAP descriptions for your
              projects
              https ://github.com/edumbill/doap/wiki
          • Distributions : join the ADMS.SW bandwagon to documents
              package releases
          • Followup-to : <distributions@lists.freedesktop.org> ?
Intoduction            Use case               My efforts               Package / Project meta-data            Fin



                                                      Fin
      More details at :
          • http ://wiki.debian.org/qa.debian.org/pts/RdfInterface
          • Linked Data descriptions of Debian source packages using
              ADMS.SW
          • Authoritative Linked Data descriptions of Debian source
              packages using ADMS.SW, to appear at OSS 2013 (pre-print
              available on demand)

      Contact :
      Micro-blogging : @oberger http://identi.ca/oberger/
      Email : mailto:obergix@debian.org
      Blog : http://www-public.telecom-sudparis.eu/~berger_o/weblog/
                              Copyright 2013 Institut Mines Telecom + Olivier Berger
         License of this presentation : Creative Commons Share Alike (except illustrations which are under
                                         copyright of their respective owners)

More Related Content

PDF
Generating Linked Data descriptions of Debian packages in the Debian PTS
ODP
The Gory Details of Debian packages
ODP
Packaging for the Maemo Platform
PDF
250hadoopinterviewquestions
PDF
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
PPTX
Linked Open Data (LOD) part 2
PDF
Advanced Usage of the Debian Packaging System
PDF
Integrating R & Hadoop - Text Mining & Sentiment Analysis
Generating Linked Data descriptions of Debian packages in the Debian PTS
The Gory Details of Debian packages
Packaging for the Maemo Platform
250hadoopinterviewquestions
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
Linked Open Data (LOD) part 2
Advanced Usage of the Debian Packaging System
Integrating R & Hadoop - Text Mining & Sentiment Analysis

What's hot (20)

PDF
Big Data Hadoop Training
PDF
FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru...
PDF
Git basics with notes
PDF
PDF
Hadoop hdfs interview questions
PDF
Hadoop Inside
PDF
Getting Into FLOW3 (TYPO312CA)
PDF
The Lives of Others: Open-Source Development Practices Elsewhere
PDF
Introduction to Flume
DOCX
PDF
Fosdem17 - Mixed License FOSS Projects
PDF
PDF
Build Dynamic DNS server from scratch in C (Part1)
PPTX
Schedulers optimization to handle multiple jobs in hadoop cluster
PDF
Reversing the dropbox client on windows
PDF
Demo 0.9.4
PDF
HTTP/2で 速くなるとき ならないとき
PDF
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
PPTX
[OSDC 2013] Hadoop Cluster HA 的經驗分享
PDF
HTTP/2: What no one is telling you
Big Data Hadoop Training
FASTEN: Scaling static analyses to ecosystem, presented at FOSDEM 2020 in Bru...
Git basics with notes
Hadoop hdfs interview questions
Hadoop Inside
Getting Into FLOW3 (TYPO312CA)
The Lives of Others: Open-Source Development Practices Elsewhere
Introduction to Flume
Fosdem17 - Mixed License FOSS Projects
Build Dynamic DNS server from scratch in C (Part1)
Schedulers optimization to handle multiple jobs in hadoop cluster
Reversing the dropbox client on windows
Demo 0.9.4
HTTP/2で 速くなるとき ならないとき
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
[OSDC 2013] Hadoop Cluster HA 的經驗分享
HTTP/2: What no one is telling you
Ad

Similar to Presentation distro recipes-2013 (20)

PPTX
Quadrupling your elephants - RDF and the Hadoop ecosystem
PDF
Effectively using Open Source with conda
PPTX
Saveface - Save your Facebook content as RDF data
PPT
PDF
Bio2RDF presentation at Combine 2012
PDF
Data FAIRport Skunkworks: Common Repository Access Via Meta-Metadata Descript...
PDF
Getting started with R & Hadoop
PDF
Running R on Hadoop - CHUG - 20120815
PDF
May 29, 2014 Toronto Hadoop User Group - Micro ETL
PDF
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
PDF
Language-agnostic data analysis workflows and reproducible research
PPTX
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
PPT
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
PPTX
Introduction to r
PDF
R development
PDF
FPM at the Ruby Drink-up of Sophia, September 2011
PPTX
carrow - Go bindings to Apache Arrow via C++-API
PDF
Omnibus to the future!
PPTX
Publishing Linked Data 3/5 Semtech2011
ODP
Large scale crawling with Apache Nutch
Quadrupling your elephants - RDF and the Hadoop ecosystem
Effectively using Open Source with conda
Saveface - Save your Facebook content as RDF data
Bio2RDF presentation at Combine 2012
Data FAIRport Skunkworks: Common Repository Access Via Meta-Metadata Descript...
Getting started with R & Hadoop
Running R on Hadoop - CHUG - 20120815
May 29, 2014 Toronto Hadoop User Group - Micro ETL
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Language-agnostic data analysis workflows and reproducible research
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Introduction to r
R development
FPM at the Ruby Drink-up of Sophia, September 2011
carrow - Go bindings to Apache Arrow via C++-API
Omnibus to the future!
Publishing Linked Data 3/5 Semtech2011
Large scale crawling with Apache Nutch
Ad

More from olberger (20)

PDF
An introduction to git
PDF
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
PDF
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
PDF
Presentation forges logicielles à mathrice
PDF
Jailbreaking the Forges : project export/import efforts
PDF
Bug tracking à grande échelle et interopérabilité des outils de développement...
PDF
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
PDF
Presentation soc-fr-fossa
PDF
Bugs tracking at a large scale in the FLOSS ecosystem
PDF
Coclico project - Forges Interoperability (OWF 2010)
PDF
Introduction aux logiciels libres
PDF
Bugtracking on the Web 2.5
PDF
Introduction aux logiciels libres
PDF
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
PDF
Introduction to bts-link
PDF
Visualizing contributions in a forge -Case study on PicoForge
PDF
Plate-formes pour le développement collaboratif des logiciels libres
PDF
Retour d'expérience sur la conduite d'un projet libre
PDF
Olpc France Presentation Sl2008
PDF
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
An introduction to git
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
Presentation forges logicielles à mathrice
Jailbreaking the Forges : project export/import efforts
Bug tracking à grande échelle et interopérabilité des outils de développement...
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
Presentation soc-fr-fossa
Bugs tracking at a large scale in the FLOSS ecosystem
Coclico project - Forges Interoperability (OWF 2010)
Introduction aux logiciels libres
Bugtracking on the Web 2.5
Introduction aux logiciels libres
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Introduction to bts-link
Visualizing contributions in a forge -Case study on PicoForge
Plate-formes pour le développement collaboratif des logiciels libres
Retour d'expérience sur la conduite d'un projet libre
Olpc France Presentation Sl2008
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques

Presentation distro recipes-2013

  • 1. Intoduction Use case My efforts Package / Project meta-data Fin Using RDF metadata for traceability among projects and distributions Olivier Berger <mailto:obergix@debian.org> Debian + Télécom SudParis Thursday 04/04/2013 Distro Recipes - Paris
  • 2. Intoduction Use case My efforts Package / Project meta-data Fin 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 Use case My efforts Package / Project meta-data Fin How much duplication ? • Think about all the duplicate bug reports, and the number of people involved. . . usually not the ones who can help, btw • Can you navigate between all of these ? • Does google search help ?
  • 4. Intoduction Use case My efforts Package / Project meta-data Fin Some issues • Universal Free Software Project description format ; (nay) • Universal distribution Package description format ; (nay) • Common Semantics ? (probably) • How to inter-link documents about the same program : • Bug reports (upstream and in all distros) • Launchpad • Security advisories • Debian’s Homepage: control field • Are we maintaining Free Software distributions in close silos ? • External directories (FSF, Freshmeat/Freecode, JoinUp, etc.) • What’s usually wrong with [ XML | JSON | YAML | RFC822 ] format ?
  • 5. Intoduction Use case My efforts Package / Project meta-data Fin An approach Linked Open Development Meta-Data • Let’s try and make as much distro facts as possible available to humans + machines ? • Adopting the 5 Open Data principles using RDF for distro 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)
  • 6. Intoduction Use case My efforts Package / Project meta-data Fin Project/program/package traceability over the FLOSS ecosystem • Assembling a graph of descriptions of packages/projects published as Linked Data (DOAP or ADMS.SW) on their forges / project portals. For instance : • For Debian, from the Debian PTS (already Linked Data proof) • For Apache, Gnome, Pypi, from DOAP files (not yet all Linked Data, but close) • . . . Add your preferred upstream . . . • Consumed by developer/maintainer/packager tools : following links between packages, (and their bugs, security alerts), all in semantic interoperable meta-data formats (RDF) !
  • 7. Intoduction Use case My efforts Package / Project meta-data Fin 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 project’s DOAP descriptors.
  • 8. Intoduction Use case My efforts Package / Project meta-data Fin 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/ ... ... ... Matching program names gives more results but is ambiguous
  • 9. Intoduction Use case My efforts Package / Project meta-data Fin My current experiment mining project descriptions • Running on my laptop ATM • Currently use Python to harvest meta-data from DOAP files for : • Gnome • Apache • Pypi.python.org • Debian • (add you ?) • Down to a virtuoso Triple store : > 2.5 M triples ATM • A python app to perform queries • May be published as a public service some day
  • 10. Intoduction Use case My efforts Package / Project meta-data Fin Adding RDF to the Debian Package Tracking System http ://packages.qa.debian.org/
  • 11. Intoduction Use case My efforts Package / Project meta-data Fin Adding ADMS.SW for FusionForge • Adding ADMS.SW support in FusionForge • Projects • Releases • Trove categories • Expected deployment on : • Cenatic • Adullact • Debian’s Alioth
  • 12. Intoduction Use case My efforts Package / Project meta-data Fin 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
  • 13. Intoduction Use case My efforts Package / Project meta-data Fin Forget about RDF/XML Yes, RDF can be expressed : • as XML • as Turtle (PREFERRED) : text (close to YAML / RFC 822) • as JSON Turtle example : @prefix r d f : < h t t p : //www . w3 . o r g /1999/02/22 − r d f −s y n t a x −n s# . > @prefix f o a f : < h t t p : // x m l n s . com/ f o a f / 0 . 1 /> . @prefix o w l : < h t t p : //www . w3 . o r g / 2 0 0 2 / 0 7 / o w l# . > < h t t p : // p e o p l e . d e b i a n . o r g /~ o b e r g i x / f o a f . t t l #me> a foaf:Person ; foaf:name " O l i v i e r ␣ Berger " ; foaf:nick " obergix " ; foaf:mbox " m a i l t o : o b e r g i x @ d e b i a n . org " ; f o a f : h o m e p a g e < h t t p : // p e o p l e . d e b i a n . o r g /~ o b e r g i x /> ; o w l : s a m e A s < h t t p : //www −p u b l i c . t e l e c o m −s u d p a r i s . eu /~ b e r g e r _ o / f o a f . r d f #me> . See also RDF Primer — Turtle version
  • 14. Intoduction Use case My efforts Package / Project meta-data Fin Apache2 Debian packaging as RDF http://packages.qa.debian.org/a/apache2.ttl @ 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 . qa . d . o / 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 . o / 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 . qa . d . o / a p a c h e 2> ; d o a p : r e l e a s e < h t t p : // p . qa . d . o / 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 . o / 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 . o> ] . < h t t p : // p . qa . d . o / 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 . qa . d . o / 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 . qa . d . o / 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 . qa . d . o / a p a c h e 2#d e b i a n s r c _ 2 . 2 . 2 2 − 1 1> .
  • 15. Intoduction Use case My efforts Package / Project meta-data Fin 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
  • 16. Intoduction Use case My efforts Package / Project meta-data Fin 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 available • RDF is extensible : ADMS.SW / DOAP core + distro-specific extensions
  • 17. Intoduction Use case My efforts Package / Project meta-data Fin ADMS.SW main concepts Project (= Program), Release, Package Modeling Debian will require other complements
  • 18. Intoduction Use case My efforts Package / Project meta-data Fin Related initiatives 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)
  • 19. Intoduction Use case My efforts Package / Project meta-data Fin Recommendations • Upstream authors : please create DOAP descriptions for your projects https ://github.com/edumbill/doap/wiki • Distributions : join the ADMS.SW bandwagon to documents package releases • Followup-to : <distributions@lists.freedesktop.org> ?
  • 20. Intoduction Use case My efforts Package / Project meta-data Fin Fin More details at : • http ://wiki.debian.org/qa.debian.org/pts/RdfInterface • Linked Data descriptions of Debian source packages using ADMS.SW • Authoritative Linked Data descriptions of Debian source packages using ADMS.SW, to appear at OSS 2013 (pre-print available on demand) Contact : Micro-blogging : @oberger http://identi.ca/oberger/ Email : mailto:obergix@debian.org Blog : http://www-public.telecom-sudparis.eu/~berger_o/weblog/ Copyright 2013 Institut Mines Telecom + Olivier Berger License of this presentation : Creative Commons Share Alike (except illustrations which are under copyright of their respective owners)