doap
doap copied to clipboard
Add a way to reference other versions of the Project
A Project
generally consists of multiple versions, the latest stable release, zero or more future versions (beta, nightly, master, etc.) and zero or more previous releases, each of them with potentially different metadata.
It would make sense to have each of these versions linked in some way, at least from the stable release (which would then be the canonical URI, possibly as a symlink).
Since most of the metadata can change, it makes sense reuse the Project
in each of them, and use an rdf:resource
attribute to link them, that way we can keep the released versions immutable, and only modify master and the symlink.
A possible example would be:
<!-- my-project-0.2.rdf, also symlinked to my-project.rdf -->
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://usefulinc.com/ns/doap#">
<name>my-project</name>
<!-- … -->
<canonical-release rdf:resource="./my-project.rdf"/>
<release>
<Version>
<revision>0.2</revision>
</Version>
</release>
<release>
<Version>
<revision>master</revision>
<other-release rdf:resource="./my-project-next.rdf"/>
</Version>
</release>
<release>
<Version>
<revision>0.1</revision>
<other-release rdf:resource="./my-project-0.1.rdf"/>
</Version>
</release>
</Project>
I dislike the names I chose for <canonical-release/>
and <other-release/>
, these should be subject to bikeshedding before being added to the specification.
If I read this right, this is related to both #80 and #74 -- do you agree? I think a little design document might be the right thing to address all three of these issues. I'm not 100% clear on the motivations expressed in this issue.