11

This is a split refactored from an older post containing too many questions about licenses in SVG Tiny 1.2 using RDFa as suggested by Patrick Hoefler. See also question Interest of double lincenses CC-BY-SA + ODbL for SVG maps.

Introduction

LittleMap.org aims to allow anyone editing maps for blind people. I think the best way to share maps is as SVG files.

RDFa, DC and CC tags

I also think the best way to embed licenses (and geographical coordinates) within SVG file is to use RDFa (see my previous question).

Question

Is my below <metadata> correct in order to embed both CC-BY-SA-4.0 and ODbL v1.0 within SVG file? Is there a "more" correct/standard way? Please suggest improvements.

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny">

  <metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:dcq="http://purl.org/dc/terms/" 
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:cc="http://creativecommons.org/ns#" 
            xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" >
    <rdf:RDF>
      <cc:Work rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type    rdf:resource="http://purl.org/dc/dcmitype/StillImage"         />
        <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
        <cc:license rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/"  />
        <cc:attributionName rdf:resource="Laurent Notarianni and LittleMap.org contributors" />
        <cc:attributionURL  rdf:resource="LittleMap.org" />
      </cc:Work>
      <cc:License    rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
        <cc:permits  rdf:resource="http://creativecommons.org/ns#Reproduction" />
        <cc:permits  rdf:resource="http://creativecommons.org/ns#Distribution" />
        <cc:permits  rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
        <cc:requires rdf:resource="http://creativecommons.org/ns#Notice" />
        <cc:requires rdf:resource="http://creativecommons.org/ns#Attribution" />
        <cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike" />
      </cc:License>
      <cc:license        rdf:about="http://opendatacommons.org/licenses/by/1.0/" >
        <cc:legalcode rdf:resource="http://opendatacommons.org/licenses/by/1.0/" >
        <dcq:hasversion>1.0</dcq:hasversion></cc:legalcode>
      </cc:license>
      <cc:license        rdf:about="http://opendatacommons.org/licenses/odbl/1.0/" >
        <cc:legalcode rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/" >
        <dcq:hasversion>1.0</dcq:hasversion></cc:legalcode>
      </cc:license>
      <geo:Point>
        <geo:lat>55.701</geo:lat>
        <geo:long>12.552</geo:long>
      </geo:Point>
    </rdf:RDF>
  </metadata>

</svg>
  • 1
    That's a lot of questions! Might I suggest that you split off your last one (how to correctly attach the license to your SVG) into a separate question? That would make it much easier to answer. While you're at it: Could you please make the title(s) of your question(s) a little more concrete? Something along the lines of "Which license should I choose for geographical SVG files?" and "Correct way to attach license to geographical SVG file"? Thanks :) – Patrick Hoefler Nov 7 '14 at 21:59
  • Thank you @PatrickHoefler for your feedback. I did it. What do you think about the split? Cheers ;-) – olibre Nov 10 '14 at 17:17
3

This is not RDFa, but rather embedded RDF/XML, which is allowed by the SVG Tiny 1.2 Specification.

There are the following errors:

  1. <cc:license>
    

    instead of

    <cc:License>
    

    in lines 26, 29 and 30, 33. The former is a property, the latter is a class.

  2. <cc:attributionName rdf:resource="Laurent Notarianni and LittleMap.org" />
    <cc:attributionURL rdf:resource="LittleMap.org" /> 
    

    instead of

    <cc:attributionName/>Laurent Notarianni and LittleMap.org</cc:attributionName>  
    <cc:attributionURL rdf:resource="http://littlemap.org" />  
    

Literals are not IRIs.

  1. <cc:license rdf:about="http://opendatacommons.org/licenses/odbl/1.0/">
       <cc:legalcode rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/">
          <dcq:hasversion>1.0</dcq:hasversion>
        </cc:legalcode>
    </cc:license>
    

    instead of

    <cc:License rdf:about="http://opendatacommons.org/licenses/odbl/1.0/" >
       <cc:legalcode rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/index.html" />
       <dcq:isVersionOf rdf:resource="http://opendatacommons.org/licenses/odbl/" />
    </cc:License>
    

    In short, hasVersion is intended to be used with non-literal values (IRIs and blank nodes).
    Next, if a license has a version, it doesn't mean that this version is applicable.

Final version:

<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny">
<metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:dcterms="http://purl.org/dc/terms/" 
          xmlns:dc11="http://purl.org/dc/elements/1.1/"
          xmlns:cc="http://creativecommons.org/ns#" 
          xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" >
  <rdf:RDF>
    <cc:Work rdf:about="">
      <dc11:format>image/svg+xml</dc11:format>
      <dc11:type    rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
      <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
      <cc:license rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/"  />
      <cc:attributionName>Laurent Notarianni and LittleMap.org</cc:attributionName>
      <cc:attributionURL  rdf:resource="http://LittleMap.org" />
    </cc:Work>
    <cc:License    rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
      <cc:permits  rdf:resource="http://creativecommons.org/ns#Reproduction" />
      <cc:permits  rdf:resource="http://creativecommons.org/ns#Distribution" />
      <cc:permits  rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
      <cc:requires rdf:resource="http://creativecommons.org/ns#Notice" />
      <cc:requires rdf:resource="http://creativecommons.org/ns#Attribution" />
      <cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike" />
    </cc:License>
    <cc:License rdf:about="http://opendatacommons.org/licenses/odbl/1.0/" >
      <cc:legalcode rdf:resource="http://opendatacommons.org/licenses/odbl/1.0/index.html" />
      <dcterms:isVersionOf rdf:resource="http://opendatacommons.org/licenses/odbl/" />
    </cc:License>
    <geo:Point>
      <geo:lat rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal">55.701</geo:lat>
      <geo:long rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal">12.552</geo:long>
    </geo:Point>
  </rdf:RDF>
</metadata>
</svg>

RDFa 1.1 Distiller will produce the following Turtle:

<file:///cygdrive/c/users/.../Desktop/map.svg> a cc:Work ;
    cc:attributionName "Laurent Notarianni and LittleMap.org" ;
    cc:attributionURL <http://LittleMap.org> ;
    cc:license <http://creativecommons.org/licenses/by-sa/4.0/>,
               <http://opendatacommons.org/licenses/odbl/1.0/> ;
    dc11:format "image/svg+xml" ;
    dc11:type <http://purl.org/dc/dcmitype/StillImage> .

<http://creativecommons.org/licenses/by-sa/4.0/> a cc:License ;
    cc:permits cc:DerivativeWorks,
        cc:Distribution,
        cc:Reproduction ;
    cc:requires cc:Attribution,
        cc:Notice,
        cc:ShareAlike .

<http://opendatacommons.org/licenses/odbl/1.0/> a cc:License ;
    cc:legalcode <http://opendatacommons.org/licenses/odbl/1.0/index.html> ;
    dcterms:isVersionOf <http://opendatacommons.org/licenses/odbl/> .

More info: RDF 1.1 XML Syntax

2

While I don't feel particularly authoritative, I hate to see a question with several votes go completely unanswered for so long, so I'll take a crack.

Unfortunately, I am pretty sure this is not an area with wide adoption. Several google searches have this very question among the top hits. So there doesn't seem to be a lot of prior art to go on.

There does not seem to be anything about the Dublin Core or Creative Commons concept of license which suggests that there should only be one per work. Outside of their RDF specifications, Creative Commons specifically talks about dual licensing so it isn't foreign to them.

So FWIW, my answer is "looks good to me!"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.