ewilderj / doap

RDF schema for describing software projects
https://github.com/ewilderj/doap/wiki
Apache License 2.0
270 stars 57 forks source link

gitlab-to-doap generator just published, looking for feedback #72

Open nogweii opened 3 years ago

nogweii commented 3 years ago

Hello! I've been building this tool over the past day or so and I think it's starting to take shape. I built in as part of a website redesign I'm working on, part of which I want to include machine-readable data of my projects. So I'd like to announce it here and see if you have any feedback.

It's a Ruby CLI application, installed from rubygems. The source code is available on my Gitlab instance.

$ gem install gitlab-to-doap
$ gitlab-to-doap nogweii/gitlab-to-doap

Running that produces the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns="http://usefulinc.com/ns/doap#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
  <name>Gitlab to DOAP</name>
  <shortdesc>Given a gitlab personal token (https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html) and a gitlab project, produce a DOAP (https://github.com/ewilderj/doap/wiki) XML
file.</shortdesc>
  <homepage rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap"/>
  <created>2020-12-31</created>
  <repository>
    <GitRepository>
      <location rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap.git"/>
      <browse rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap/-/tree/main"/>
    </GitRepository>
  </repository>
  <download-page rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap"/>
  <bug-database rdf:resource="https://code.aether.earth/nogweii/gitlab-to-doap/-/issues"/>
  <programming-language>Ruby</programming-language>
  <programming-language>Shell</programming-language>
  <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.html"/>
  <maintainer>
    <foaf:Person>
      <foaf:name>nogweii</foaf:name>
      <foaf:homepage rdf:resource="https://code.aether.earth/nogweii"/>
    </foaf:Person>
  </maintainer>
</Project>

Namely, I'd like to ask for your feedback on the output. I think I understood the specification correctly, or did I miss something? (Sadly there aren't that many real world uses I could easily find, except for the Apache Software Foundation and GNOME project. I've mostly modeled the features on those.) Is there anything you would like to be added?

Presuming it passes muster, I'll add it to the Generators wiki page.

kjetilk commented 3 years ago

I think it looks good! The only thing I could think of is that it is nice to have the data type on dates, so somehow to add xsd:date to the created date is nice. I don't know the Ruby tool you are using, so I can't advice on how to do it practically.

namedgraph commented 2 years ago

Please also check https://hub.docker.com/r/atomgraph/pom2rdf :)