]> Asset Description Metadata Schema for Software (ADMS.SW) 2012-06-29 ADMS.SW is intended as a model that facilitates federation and co-operation. It is not the primary intention that forge owners redesign or convert their current systems and data to conform to ADMS./FOSS, but rather that ADMS.SW can act as a common layer among software forges that want to exchange data. Copyright (c) 2012 European Commission. European Commission This file specifies the set of RDF classes and properties used in ADMS.SW This is the RDF encoding of the Asset Description Metadata Schema for Software, developed under the European Union's ISA Programme, specifically under SEMIC Phase II, directed by Szabolcs Szekacs of DG DIGIT. It re-uses terms from several other vocabularues, notably DOAP (Description of a Project), DCAT (The Data Catalog Vocabulary) and Dublin Core with elements of SKOS, FOAF and more. The ADMS Concept Scheme, available at http://www.w3.org/ns/adms.html, defines its own lexical terms for its classes, properties and relationships. Version 1.00 29 June 2012 admssw http://purl.org/adms/sw/ Copyright © 2012 European Commission. ISA Open Metadata Licence v1.1 European Commission UML Class Diagram: ADMS.SW v1.00 Conceptual Model UML Class Diagram: ADMS.SW v1.00 RDF Schema &methodologyTitle; Stijn Goedertier PwC EU Services Phil Archer W3C/ERCIM ADMS.SW Working Group admssw:SoftwareProject Software Project A Software Project is a time-delimited undertaking with the objective to produce one or more software releases, materialised as software packages. Some projects are long-running undertakings, and do not have a clear time-delimited nature or project organisation. In this case, the term 'software project' can be interpreted as the result of the work: a collection of related software releases that serve a common purpose. doap:description Software Project - description Both the dcterms:description and doap:description properties fully cover the ADMS.SW property of the same name. doap:homepage Software Project - homepage Both the foaf:homepage and doap:homepage property fully represents the ADMS.SW relationship of the same name. The range of rad:keyword is Literal. They should be provided as language-tagged strings. rad:keyword Software Project - keyword A word or phrase used to succinctly descibe the software. doap:name Software Project - name Both the dcterms:name and doap:name property fully represents the ADMS.SW property of the same name. Used in ADMS.SW to associate a project with its release. doap:release Software Project - release The doap:release property fully covers the ADMS.SW property 'release'. Used in ADMS.SW to associate a project with its contributor. schema:contributor Software Project - contributor contributing person or organisation for the project. Used in ADMS.SW to associate a project with an organisation or person who funds it. admssw:fundedBy Software Project - funded by contributing person or organisation for the project. admssw:forkOf Software Project - fork of software project of which the current project is a descendant . The range of this property is foaf:Person. doap:developer Software Project - developer The doap:documenter property fully covers the ADMS.SW property 'developer'. The range of this property is foaf:Person. doap:documenter Software Project - documenter The doap:documenter property fully covers the ADMS.SW property 'documenter'. The range of this property is foaf:Person. doap:maintainer Software Project - maintainer The doap:maintainer property fully covers the ADMS.SW property 'maintainer'. The range of this property is foaf:Person. doap:helper Software Project - helper The doap:helper property fully covers the ADMS.SW property 'helper'. The range of this property is foaf:Person. doap:tester Software Project - tester The doap:tester property fully covers the ADMS.SW property 'tester'. The range of this property is foaf:Person. doap:translator Software Project - translator The doap:translator property fully covers the ADMS.SW property 'translator'. The range of this property is not fixed by the ADMS.SW specification. It is recommended to relate this property to an instance of the class 'qb:DataSet'. admssw:metrics Software Project - metrics A data set of metrics about the software project or software release. rad:theme Software Project - theme Topic, theme or function of the software. The theme relationship associates an Software Project or Release with a specific Theme (a skos:Concept). Ideally, the range of this property is skos:Concept. admssw:intendedAudience Software Project - intended audience Intended audience of the software. Ideally, the range of this property is skos:Concept. admssw:locale Software Project - locale Locale of the software. Ideally, the range of this property is skos:Concept. admssw:userInterfaceType Software Project - user interface type User interface type of the software. Ideally, the range of this property is skos:Concept. admssw:programmingLanguage Software Project - programming language Programming language of the software. dcterms:isPartOf Software Project - repository origin The dcterms:isPartOf property fully represents relationship 'repository origin'. Ideally, the range of this property is skos:Concept. schema:operatingSystem Software Project - operating system Operating system of the software. Ideally, the range of this property is dcterms:FileFormat. admssw:supportsFormat Software Project - supports format Data format that is supported by the software. Ideally, the range of this property is skos:Concept. admssw:status Software Project - status The status of the software project, asset, or package. admssw:SoftwareRelease Software Release A Software Release is an abstract entity that reflects the intellectual content of the software and represents those characteristics of the software that are independent of its physical embodiment. This abstract entity corresponds to the FRBR entity expression (the intellectual or artistic realization of a work). An example of a Software Release is the Apache HTTP Server 2.22.22 (httpd) release. Alternative name for the Asset. Any number of alternative names may be supplied. The range of dcterms:alternative is rdfs:Literal dcterms:alternative Software Release - alternative name The dcterms:alternative property fully represents the ADMS.SW property 'alternative name'. The ADMS.SW and RADion RDF Schemas use this to provide the creation date of this version of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:created Software Release - date of creation The dcterms:created property fully represents the ADMS.SW property 'date of creation'. RADion uses this to provide the date of latest update of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:modified Software Release - date of last modification The dcterms:modified property fully represents the RADion and ADMS.SW property Date of Last Modification. Used in ADMS.SW to provide descriptive text for the Software Repository, Software Release or Software Package. dcterms:description Software Release - description The dcterms:description property fully covers the ADMS.SW property of the same name. admssw:identifier Software Release - identifier Any identifier for the AssetRelease. ADMS.SW uses this to include a local identifier for the Software Release. The range of this property is adms:Identifier. This allows specifying the identifying system and ensures that the identifier stays meainingful in a situation with multiple identification domains. The range of rad:keyword is Literal. They should be provided as language-tagged strings. rad:keyword Software Release - keyword A word or phrase used to succinctly descibe the Software Release adms:metadataDate Software Release - metadataDate The date of the most recent update of the metadata for the Asset. ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants rdfs:label Software Release - name The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label. doap:revision Software Release - version Revision identifier of a software release. schema:releaseNotes Software Release - version notes Notes on the particular version of the Software Release. Description of what changed in this version. The range of this property is foaf:Document. admssw:assessment Software Release - assessment Assessment of the asset. adms:contactPoint Software Release - contact point Links an Asset to relevant Contact Information which is provided using VCard. admssw:includedAsset Software Release - included asset An Asset that is contained in the Software Release being described. Example: a Linux distribution is being described, that contains other libraries and submodules. The range of this property is not fixed by the ADMS.SW specification. It is recommended to relate this property to an instance of the class 'qb:DataSet'. admssw:metrics Software Release - metrics A data set of metrics about the software project or software release. RADion uses this to provide the language of the Asset. Note that this is quite separate from Locale. dcterms:language Software Release - language The dcterms:language property fully represents the RADion and ADMS.SW property of the same name. foaf:logo Software Release - logo The foaf:logo property fully represents the ADMS.SW property of the same name. Used in ADMS.SW to link to the main documentation or specification of the Asset. wdrs:describedby Software Release - main documentation The wdrs:describedby property fully represents the ADMS.SW relationship 'main documentation'. Software Release - metadata date The date of the most recent update of the metadata for the Asset. adms:metadataDate Software Release - metadata language Links to the language of the metadata for the Asset. The range of adms:metadataLanguage is dcterms:LinguisticSystem which is used by RADion (and therefore ADMS) to represent the Language class. adms:metadataLanguage ADMS.SW uses the XHTML 'last' property to link an Asset to the most recent (i.e. current) version. xhv:last Software Release - current version The xhv:last property fully represents the RADion and ADMS.SW relationship 'current version'. Software Release - next version The xhv:next property fully represents the RADion relationship of Next version RADion uses the XHTML 'next' property to link an Asset to the next most recent version. xhv:next RADion and ADMS.SW uses the XHTML 'previous' property to link an Asset to the previous version. xhv:prev Software Release - previous version The xhv:prev property fully represents the RADion and ADMS.SW relationship of Previous version The inverse property of 'admsv:project' is 'doap:release'. admssw:project Software Release - project The project that has produced the Asset. Used in RADion and thus ADMS.SW to link to the organisation responsible for the publication of the Asset, Repository or Distribution. Note that the range is dcterms:Agent. dcterms:publisher Software Release - publisher The dcterms:publisher property fully represents the RADion and ADMS.SW relationship of the same name Used in RADion to link any Asset to any other related Asset. RADion expects the object to be an instance of rad:Asset or a sub-class. dcterms:relation Software Release - related asset The dcterms:relation property fully represents the RADion related asset relationship. adms:relatedWebPage Software Release - related web page Links to a Web page that contains information related to the asset. The range of adms:relatedWebPage is foaf:Document admssw:package Software Release - package The package relationship associates a Software Release with a Software Package. RADion uses dcterms:isPartOf to link an Asset to a Repository. dcterms:isPartOf Software Release - repository origin The dcterms:isPartOf property fully represents the RADion relationship of repository origin. RADion uses this to link to the geographic region or jurisdiction that the Asset or Repository applies to. Note that the range is dcterms:Location. dcterms:spatial Software Release - spatial coverage The dcterms:coverage property fully represents the RADion relationship of the same name Ideally, the range of this property is skos:Concept. admssw:status Software Release - status The status of the software project, asset, or package. rad:theme Software Release - theme Topic, theme or function of the software. The theme relationship associates an Software Project or Release with a specific Theme (a skos:Concept). admssw:usedBy Software Release - used by Agent that uses the Asset. admssw:SoftwarePackage Software Package A Software Package represents a particular physical embodiment of a Software Release, which is an example of the FRBR entity manifestation (the physical embodiment of an expression of a work). A Software Package is typically a downloadable computer file (but in principle it could also be a paper document) that implements the intellectual content of a Software Release. A particular Software Package is associated with one and only one Software Release, while all Packages of a Release share the same intellectual content in different physical formats. An example of a Software Package is httpd-2.2.22.tar.gz , which represents the Unix Source of the Apache HTTP Server 2.22.22 (httpd) software release. The ADMS.SW and RADion RDF Schemas use this to provide the creation date of this version of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:created Software Package - date of creation The dcterms:created property fully represents the ADMS.SW property 'date of creation'. RADion uses this to provide the date of latest update of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:modified Software Package - date of last modification The dcterms:modified property fully represents the RADion and ADMS.SW property Date of Last Modification. Used in ADMS.SW to provide descriptive text for the Software Repository, Software Release or Software Package. dcterms:description Software Package - description The dcterms:description property fully covers the ADMS.SW property of the same name. ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants rdfs:label Software Package - name The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label. Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard. swid:software_id Software Package - software_id A unique token within the regid domain of the tag creator. admssw:tagURL Software Package - tag URL URL from which a software tag file can be obtained for the Software Package. Several software tag standards exist such as the ISO19770-2:2009, the ISO19770-3 and the SPDX specification. These standards do not require the software tags to be available on via the Web. schema:fileSize Software Package - file size The size of the package file in bytes. spdx:checksum Software Package - checksum The checksum property provides a mechanism that can be used to verify that the contents of a Package have not been changed. Used in RADion to link to the format that the Distribution is available in (e.g. EXE, ZIP) which is provided as a property of dcterms:FileFormat dcterms:format Software Package - format The dcterms:format property fully represents the RADion relationship of the same name Used in RADion to link to the conditions or restrictions for (re-use) of the Distribution. Note that the range is dcterms:LicenseDocument dcterms:license Software Package - license The dcterms:license property fully represents the RADion relationship of the same name. schema:downloadUrl Software Package - access URL The URL of the Repository or Distribution. The range of adms:accessURL is xsd:anyURI admssw:release Software Package - release The release relationship associates a Software Package with a Software Release. Used in RADion and thus ADMS.SW to link to the organisation responsible for the publication of the Asset, Repository or Distribution. Note that the range is dcterms:Agent. dcterms:publisher Software Package - publisher The dcterms:publisher property fully represents the RADion and ADMS.SW relationship of the same name Ideally, the range of this property is skos:Concept. admssw:status Software Package - status The status of the software project, asset, or package. admssw:SoftwareRepository Software Repository A Software Repository is a system or service that provides facilities for storage and maintenance of descriptions of Software Projects, Software Releases and Software Distributions, and functionality that allows users to search and access these descriptions. A Software Repository will typically contain descriptions of several Software Projects, Software Releases and related Software Distributions. Software Repository - access URL The URL of the Repository or Distribution. The range of adms:accessURL is xsd:anyURI adms:accessURL The ADMS.SW and RADion RDF Schemas use this to provide the creation date of this version of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:created Software Repository - date of creation The dcterms:created property fully represents the ADMS.SW property 'date of creation'. RADion uses this to provide the date of latest update of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type. dcterms:modified Software Repository - date of last modification The dcterms:modified property fully represents the RADion and ADMS.SW property Date of Last Modification. Used in ADMS.SW to provide descriptive text for the Software Repository, Software Release or Software Package. dcterms:description Software Repository - description The dcterms:description property fully covers the ADMS.SW property of the same name. ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants rdfs:label Software Repository - name The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label. adms:supportedSchema Software Repository - supported schema A schema according to which the Repository can provide data about its content, e.g. 'ADMS.SW v1.0' RADion uses dcterms:hasPart to link a Repository to an Asset. dcterms:hasPart Software Repository - includes The dcterms:hasPart property fully represents the RADion relationship 'includes'. Used in RADion and thus ADMS.SW to link to the organisation responsible for the publication of the Asset, Repository or Distribution. Note that the range is dcterms:Agent. dcterms:publisher Software Repository - publisher The dcterms:publisher property fully represents the RADion and ADMS.SW relationship of the same name RADion uses this to link to the geographic region or jurisdiction that the Asset or Repository applies to. Note that the range is dcterms:Location. dcterms:spatial Software Repository - spatial coverage The dcterms:coverage property fully represents the RADion relationship of the same name rad:themeTaxonomy Software Repository - theme taxonomy The theme taxonomy relationship associates a Repository with a classification scheme for the assets within it. Its domain is rad:Repository and its range is skos:ConceptScheme. The dcterms:Agent class (or a sub class of it) is used in RADion to represent the publisher of a Repository or its components. dcterms:Agent Agent A resource that acts or has the power to act. ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants rdfs:label Agent - name The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label. Agent - type The dcterms:type property fully represents the ADMS property of asset type, and the type properties of both the Licence and Publisher classes. The range of dcterms:type is rdfs:Class. Used in ADMS to link an Asset to its Asset Type. dcterms:type ADMS.SW uses VCard to provide contact information regarding a Software Release, including e-mail, address, name and associated Web page information. See Representing vCard Objects in RDF for details of this widely used specification. vcard:VCard Contact Information VCard fully represents the ADMS.SW class of Contact Information Used in ADMS.SW specifically for the class of documents that further describe a Software Asset or give guidelines for its use. ADMS.SW expects all documents to have a title (use dcterms:title). foaf:Document Documentation The foaf:Document class fully represents the ADMS.SW concept 'Documentation'. Used in RADion to provide the conditions or restrictions that apply to the use of a Distribution, e.g. whether it is in the public domain, or that some restrictions apply like in cases attribution is required, or the Asset can only be used for non-commercial purposes etc. dcterms:LicenseDocument License The dcterms:LicenseDocument class fully represents the RADion concept of a Licence ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants rdfs:label Licence - name The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label. Licence - type The dcterms:type property fully represents the ADMS property of asset type, and the type properties of both the Licence and Publisher classes. The range of dcterms:type is rdfs:Class. Used in ADMS to link an Asset to its Asset Type. dcterms:type ADMS.SW uses the RDF Data Qube Vocbulary to exchange metrics about a software project or software release. qb:DataSet Data Set qb:DataSet fully represents the ADMS.SW class 'Data Set'. admssw:downloadNumber measure: number of downloads The number of times a software package has been downloaded. admssw:installationNumber measure: number of installations The number known instances of software package that have been installed. admssw:userNumber measure: number of users The number of known users of a software release. admssw:commitNumber measure: number of commits The number of times code for the asset has been committed to the forge. admssw:linesOfCodeNumber measure: number of lines of code The number of lines of code within the asset (not including any dependencies). Observations for the measure 'number of lines of code' should include the dimension 'programming language'. admssw:ticketLeadTime measure: ticket lead time The time between opening and closing a support ticket in milliseconds. admssw:effort measure: effort The effort spent (expressed in personhours) on producing a new software release, not counting the effort spent on previous software releases. admssw:cumulativeEffort measure: cumulative effort The total effort spent (expressed in personhours) on producing a software release, including the effort spent on previous releases. The agent category to which a measured observation applies. admssw:agentDimension dimension: agent dimension The release category to which a measured observation applies. admssw:releaseDimension dimension: release dimension The software package category to which a measured observation applies. admssw:packageDimension dimension: package dimension sdmx-dimension:timePeriod The period of time or point in time to which the measured observation refers. dimension: time dimension The programming language dimension to which a measured observation applies. admssw:programmingLanguageDimension dimension: programming language dimension Intended Audience Operating System

The Conceptual Model includes a 'Code' datatype that is used by several classes. This is expressed using the href="http://www.w3.org/TR/skos-primer/">SKOS vocabulary with a particular 'code' usually being a skos:Concept that is part of a scheme. The intention is that the skos:Concept class be used as follows:

  • for the content property, use skos:notation
  • he 'list' property will be taken care of by means of the skos:inScheme property;
  • the list agency property is likely to be applied to the scheme as a whole for which dcterms:creator is appropriate
  • the list version property can be fulfilled using schema:version (see http://schema.org/CreativeWork
Topic The skos:Concept class fully represents the ADMS.SW classes 'Intended Audience', 'Locale', 'Operating System', 'Status', 'Topic', and 'User Interface Type' (see section on the Code datatype for details). User Interface Type Locale skos:Concept Programming Language Status
spdx:Checksum Checksum The SPDX class 'Checksum' fully represents the ADMS.SW type with the same name. A Checksum is value that allows the contents of a file to be authenticated. Even small changes to the content of the file will change it's checksum. This class allows the results of a variety of checksum and cryptographic message digest algorithms to be represented. Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard. swid:SoftwareId Software Identifier

A Software Identifier is a complex type (based on the software identifying system in the ISO19770-2:2009 software identification tag data model [ISO19770-2]) consisting of:

  • a unique token within the regid domain of the tag creator; and
  • a tag creator regid.
Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard. swid:unique_id Software Identifier - unique_id A unique token within the regid domain of the tag creator. Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard. swid:tag_creator_regid Software Identifier - tag_creator_regid A tag creator regid, uniquely identifying a tag creator and/or subdomain. adms:Identifier Identifier

This class is based on the UN/CEFACT Identifier complex type defined in See Section 5.8 of Core Components Data Type Catalogue Version 3.1. The various properties can be fulfilled as follows:

  • use skos:notation to provide the actual identifier (the Identifier class is effectively meaningless without this property and conceptually it is mandatory)
  • use dcterms:type to provide an identifier for the type of identifier issued (the identifier scheme)
  • use adms:schemeVersion to identify the version of the identifier scheme;
  • use adms:schemeAgency to provide the name of the agency that created the identifier (as an rdfs:Literal).

Although not part of the ADMS conceptual model, it may be useful to provide further properties to the Identifier class:

  • use dcterms:creator to link to a URI of an Agent class describing the issuing Agency;
  • use dcterms:created to provide the date on which the identifier was issued.
Intendend Audience, Locale, Operating System, Programming Language, Status, Topic, User Interface Type The skos:Concept class fully represents the ADMS.SW classes of Intendend Audience, Locale, Operating System, Programming Language, Status, Topic, User Interface Type (see section on the Code datatype for details). ADMS.SW uses SKOS Concepts to provide an indication of the maturity of an Asset or Distribution. skos:Concept