Asset Description Metadata Schema for Software (ADMS.SW)
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
UML Class Diagram: ADMS.SW v1.00 Conceptual Model
UML Class Diagram: ADMS.SW v1.00 RDF Schema
Process and Methodology for Developing Core Vocabularies
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.
Software Project - description
Both the dcterms:description and doap:description properties fully cover the ADMS.SW property of the same name.
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.
Software Project - keyword
A word or phrase used to succinctly descibe the software.
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.
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.
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.
Software Project - funded by
Software Project - fork of
software project of which the current project is a descendant .
The range of this property is foaf:Person.
Software Project - developer
The doap:documenter property fully covers the ADMS.SW property 'developer'.
Software Project - documenter
The doap:documenter property fully covers the ADMS.SW property 'documenter'.
Software Project - maintainer
The doap:maintainer property fully covers the ADMS.SW property 'maintainer'.
Software Project - helper
The doap:helper property fully covers the ADMS.SW property 'helper'.
Software Project - tester
The doap:tester property fully covers the ADMS.SW property 'tester'.
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'.
Software Project - metrics
A data set of metrics about the software project or software release.
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.
Software Project - intended audience
Intended audience of the software.
Software Project - locale
Locale of the software.
Software Project - user interface type
User interface type of the software.
Software Project - programming language
Programming language of the software.
Software Project - repository origin
The dcterms:isPartOf property fully represents relationship 'repository origin'.
Software Project - operating system
Operating system of the software.
Ideally, the range of this property is dcterms:FileFormat.
Software Project - supports format
Data format that is supported by the software.
Software Project - status
The status of the software project, asset, or package.
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
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.
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.
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.
Software Release - description
The dcterms:description property fully covers the ADMS.SW property of the same name.
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.
Software Release - keyword
A word or phrase used to succinctly descibe the Software Release
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
Software Release - name
The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label.
Software Release - version
Revision identifier of a software release.
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.
Software Release - assessment
Assessment of the asset.
Software Release - contact point
Links an Asset to relevant <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="#ContactInformation">Contact Information</xh:a> which is provided using VCard.
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.
Software Release - metrics
RADion uses this to provide the language of the Asset. Note that this is quite separate from Locale.
Software Release - language
The dcterms:language property fully represents the RADion and ADMS.SW property of the same name.
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.
Software Release - main documentation
The <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://www.w3.org/2007/05/powder-s#describedby">wdrs:describedby</xh:a> property fully represents the ADMS.SW relationship 'main documentation'.
Software Release - metadata date
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.SW uses the XHTML 'last' property to link an Asset to the most recent (i.e. current) version.
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.
RADion and ADMS.SW uses the XHTML 'previous' property to link an Asset to the previous version.
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'.
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.
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.
Software Release - related asset
The dcterms:relation property fully represents the RADion related asset relationship.
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
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.
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.
Software Release - spatial coverage
The dcterms:coverage property fully represents the RADion relationship of the same name
Software Release - status
Software Release - theme
Software Release - used by
Agent that uses the Asset.
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.
Software Package - date of creation
Software Package - date of last modification
Software Package - description
Software Package - name
Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard.
Software Package - software_id
A unique token within the regid domain of the tag creator.
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.
Software Package - file size
The size of the package file in bytes.
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
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
Software Package - license
The dcterms:license property fully represents the RADion relationship of the same name.
Software Package - access URL
The URL of the Repository or Distribution. The range of adms:accessURL is xsd:anyURI
Software Package - release
The release relationship associates a Software Package with a Software Release.
Software Package - publisher
Software Package - status
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
Software Repository - date of creation
Software Repository - date of last modification
Software Repository - description
Software Repository - name
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.
Software Repository - includes
The dcterms:hasPart property fully represents the RADion relationship 'includes'.
Software Repository - publisher
Software Repository - spatial coverage
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.
Agent
A resource that acts or has the power to act.
Agent - name
Agent - type
The <xh:a xh:href="http://purl.org/dc/terms/type" xmlns:xh="http://www.w3.org/1999/xhtml">dcterms:type</xh:a> 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.
ADMS.SW uses VCard to provide contact information regarding a Software Release, including e-mail, address, name and associated Web page information. See <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://www.w3.org/TR/vcard-rdf/">Representing vCard Objects in RDF</xh:a> for details of this widely used specification.
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 <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://purl.org/dc/terms/title">dcterms:title</xh:a>).
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.
License
The dcterms:LicenseDocument class fully represents the RADion concept of a Licence
Licence - name
Licence - type
ADMS.SW uses the RDF Data Qube Vocbulary to exchange metrics about a software project or software release.
Data Set
qb:DataSet fully represents the ADMS.SW class 'Data Set'.
measure: number of downloads
The number of times a software package has been downloaded.
measure: number of installations
The number known instances of software package that have been installed.
measure: number of users
The number of known users of a software release.
measure: number of commits
The number of times code for the asset has been committed to the forge.
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'.
measure: ticket lead time
The time between opening and closing a support ticket in milliseconds.
measure: effort
The effort spent (expressed in personhours) on producing a new software release, not counting the effort spent on previous software releases.
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.
dimension: agent dimension
The release category to which a measured observation applies.
dimension: release dimension
The software package category to which a measured observation applies.
dimension: package dimension
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.
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 <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="#Code">Code</xh:a> datatype for details).
User Interface Type
Locale
Programming Language
Status
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.
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.
Software Identifier - unique_id
Software Identifier - tag_creator_regid
A tag creator regid, uniquely identifying a tag creator and/or subdomain.
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 <xh:a xh:href="#Code" xmlns:xh="http://www.w3.org/1999/xhtml">Code</xh:a> datatype for details).
ADMS.SW uses SKOS Concepts to provide an indication of the maturity of an Asset or Distribution.