[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding ADMS.SW RDF descriptions of source packages to the PTS



Hi.

Olivier Berger <obergix@debian.org> writes:

> Hi.
>
> I've started working on #685605, i.e. adding some RDF+XML documents
> generated for the PTS static pages.
>
> Appologies for those not Semantic Web aware in advance ;-) I hope the
> code and following example can help illustrate my goal, still, beyond
> the jargon.
>

It seems no one complained, so lemme go forward one more step.

The latest commit in SVN now implements the generation of such metadata
about apache2 (this time in turtle format, less verbose than RDF, once
converted from the generated RDF+XML output, in attachment).

I add some comments below for documentation

@base <http://packages.qa.debian.org/apache2> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix admssw: <http://purl.org/adms/sw/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix schema: <http://schema.org/> .
@prefix spdx: <http://www.spdx.org/rdf/terms#> .
@prefix : <http://www.w3.org/1999/xhtml> .
@prefix str: <http://exslt.org/strings> .

#
# First the packaging project for apache2 in Debian
#

# <http://packages.qa.debian.org/apache2> resource :
<>
    a admssw:SoftwareProject ;
    doap:name "apache2" ;
    doap:description "Debian apache2 source packaging" ;
    doap:homepage "http://packages.debian.org/src:apache2"; ;
    schema:contributor [
        a foaf:OnlineAccount ;
        foaf:accountName "Debian Apache Maintainers" ;
        foaf:accountServiceHomepage <http://qa.debian.org/developer.php?login=debian-apache@lists.debian.org>
    ], [
        a foaf:OnlineAccount ;
        foaf:accountName "Stefan Fritsch" ;
        foaf:accountServiceHomepage <http://qa.debian.org/developer.php?login=sf@debian.org>
    ], [
        a foaf:OnlineAccount ;
        foaf:accountName "Steinar H. Gunderson" ;
        foaf:accountServiceHomepage <http://qa.debian.org/developer.php?login=sesse@debian.org>
    ], [
        a foaf:OnlineAccount ;
        foaf:accountName "Arno Töll" ;
        foaf:accountServiceHomepage <http://qa.debian.org/developer.php?login=arno@debian.org>
    ] ;
    # pointer to the release in the different suites :
    doap:release <apache2_2.2.16-6+squeeze7>, <apache2_2.2.22-11>, <apache2_2.4.2-2> .

#
# Now the different debian package source releases
#

# <http://packages.qa.debian.org/apache2_2.2.16-6+squeeze7> resource
<apache2_2.2.16-6+squeeze7>
    a admssw:SoftwareRelease ;
    rdfs:label "apache2 2.2.16-6+squeeze7" ;
    admssw:project <> ;
    dcterms:description "Debian apache2 source package version 2.2.16-6+squeeze7" ;
    doap:revision "2.2.16-6+squeeze7" .

# This one is the reference version for the PTS as in unstable, so
# contains more details than the others
<apache2_2.2.22-11>
    a admssw:SoftwareRelease ;
    rdfs:label "apache2 2.2.22-11" ;
    admssw:project <> ;
    dcterms:description "Debian apache2 source package version 2.2.22-11" ;
    doap:revision "2.2.22-11" ;
    # this release contains two components
    admssw:includedAsset <apache2/apache2_2.2.22-11_debian>, <apache2/apache2_2.2.22_orig> ;
    # this release can be downloaded as one package (with dget)
    admssw:package <apache2/apache2_2.2.22-11.dsc> ;
    # it also has a related release somewhere else
    dcterms:relation <https://launchpad.net/ubuntu/+source/apache2/2.2.22-6ubuntu2> .

<apache2_2.4.2-2>
    a admssw:SoftwareRelease ;
    rdfs:label "apache2 2.4.2-2" ;
    dcterms:description "Debian apache2 source package version 2.4.2-2" ;
    admssw:project <> ;
    doap:revision "2.4.2-2" .

# Then the .dsc file for the current unstable version
<apache2/apache2_2.2.22-11.dsc>
    a admssw:SoftwarePackage ;
    dcterms:description "Debian source package descriptor file for apache2 version 2.2.22-11" ;
    schema:downloadUrl "http://cdn.debian.net/debian/pool/main/a/apache2/apache2_2.2.22-11.dsc"; ;
    schema:fileSize "2885" ;
    spdx:checksum [
        a spdx:Checksum ;
        spdx:algorithm <#checksumAlgorithm_md5sum> ;
        spdx:checksumValue "d7d03719b9f6432beeecd3aa04f7b22c"
    ] .


#
# Then the upstream project
#

<apache2/apache2_orig>
    a admssw:SoftwareProject ;
    doap:description "The apache2 upstream project" ;
    # either its name or homepage can be matched against other ADMS.SW
    # or DOAP descriptors
    doap:name "apache2" ;
    doap:homepage "http://httpd.apache.org/"; .

# And a upstream release 2.2.22

<apache2/apache2_2.2.22_orig>
    a admssw:SoftwareRelease ;
    rdfs:label "Upstream apache2 release 2.2.22" ;
    dcterms:description "Upstream source release for apache2 version 2.2.22" ;
    doap:revision "2.2.22" ;
    admssw:project <apache2/apache2_orig> ;
    # and a link to the upstream source tarball's description
    admssw:package <apache2/apache2_2.2.22.orig.tar.gz> .

# now the (potentially re-archived) upstream source archive for that release
<apache2/apache2_2.2.22.orig.tar.gz>
    a admssw:SoftwarePackage ;
    dcterms:description "Upstream source archive for apache2 version 2.2.22-11 (potentially re-archived by Debian)" ;
    schema:downloadUrl "http://cdn.debian.net/debian/pool/main/a/apache2/apache2_2.2.22.orig.tar.gz"; ;
    # Those 2 bits should help match packagings of the same tarball if needed
    schema:fileSize "7200529" ;
    spdx:checksum [
        a spdx:Checksum ;
        spdx:algorithm <#checksumAlgorithm_md5sum> ;
        spdx:checksumValue "d77fa5af23df96a8af68ea8114fa6ce1"
    ] .


#
# Now, document specific details of the second component : Debian
# packaging files archive
#

<apache2/apache2_2.2.22-11_debian>
    a admssw:SoftwareRelease ;
    rdfs:label "Package sources apache2_2.2.22-11" ;
    dcterms:description "Debian packaging sources for apache2 version 2.2.22-11" ;
    doap:revision "2.2.22-11" ;
    admssw:package <apache2/apache2_2.2.22-11.debian.tar.gz> .

<apache2/apache2_2.2.22-11.debian.tar.gz>
    a admssw:SoftwarePackage ;
    dcterms:description "Debian source package files archive for apache2 version 2.2.22-11" ;
    schema:downloadUrl "http://cdn.debian.net/debian/pool/main/a/apache2/apache2_2.2.22-11.debian.tar.gz"; ;
    schema:fileSize "195980" ;
    spdx:checksum [
        a spdx:Checksum ;
        spdx:algorithm <#checksumAlgorithm_md5sum> ;
        spdx:checksumValue "d3d4146ccad51129636b7dbff284a110"
    ] ;

#
# Now, we also weave links with the Ubuntu counterparts
#

<https://launchpad.net/ubuntu/+source/apache2>
    a admssw:SoftwareProject ;
    doap:description "\"apache2\" source package in Ubuntu" ;
    # this one promises some trolls and flames
    admssw:forkOf <> ;
    doap:homepage "https://launchpad.net/ubuntu/+source/apache2"; ;
    doap:release <https://launchpad.net/ubuntu/+source/apache2/2.2.22-6ubuntu2> .

# and its release known by the PTS
<https://launchpad.net/ubuntu/+source/apache2/2.2.22-6ubuntu2>
    a admssw:SoftwareRelease ;
    rdfs:label "apache2 2.2.22-6ubuntu2" ;
    dcterms:description "\"apache2\" 2.2.22-6ubuntu2 source package in Ubuntu" ;
    doap:revision "2.2.22-6ubuntu2" ;
    admssw:project <https://launchpad.net/ubuntu/+source/apache2> .


>
> Now, there are tons of other informations that may be added in these RDF
> documents, including links to binary packages, etc. 

I've not yet started this.

> The most interesting things I'd ultimately like to be able to add
> would be inter-links between upstream project and other downstreams
> RDF descriptions and the PTS' so that one can "navigate" the Linked
> Open Data cloud between versions of packages cross project and cross
> distros without any converter involved, as everyone would compatible
> formats, based on ADMS.SW, SPDX or likes.

There are early bits of such navigating / matching bits present, now,
see the comments.

Again, any comments much welcome.

I haven't counted how many triples the whole PTS contains when this is
activated, but... quite a nice contribution to the Linked Open Data
cloud for sure (next steps on my side, with the researcher har on).

Best regards,

-- 
Olivier BERGER 
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 2048R/5819D7E8
Ingenieur Recherche - Dept INF
Institut Mines-Telecom, Telecom SudParis, Evry (France)


Reply to: