1
1
# Standard library
2
+ import os .path
2
3
from urllib .parse import urlparse , urlunparse
3
4
4
5
# Third-party
@@ -80,25 +81,21 @@ def generate_rdf_file(
80
81
g .set ((license_uri , OWL .sameAs , URIRef (tool_obj .base_url )))
81
82
82
83
# set cc:licenseClass
84
+ # (trailing "" creates a trailing slash to match legacy rdf)
85
+ license_class_uriref = convert_https_to_http (tool_obj .creator_url )
83
86
if tool_obj .category == "publicdomain" :
84
- license_class_uriref = URIRef (
85
- convert_https_to_http (
86
- f"{ tool_obj .creator_url } /choose/{ tool_obj .unit } /"
87
- )
87
+ license_class_uriref = os .path .join (
88
+ license_class_uriref , "choose" , "publicdomain" , ""
88
89
)
89
90
elif tool_obj .unit in ["sampling" , "sampling+" ]:
90
- license_class_uriref = URIRef (
91
- convert_https_to_http (
92
- f"{ tool_obj .creator_url } /{ tool_obj .category } /sampling/"
93
- )
91
+ license_class_uriref = os .path .join (
92
+ license_class_uriref , "license" , "sampling" , ""
94
93
)
95
94
else :
96
- license_class_uriref = URIRef (
97
- convert_https_to_http (
98
- f"{ tool_obj .creator_url } /{ tool_obj .category } /"
99
- )
95
+ license_class_uriref = os .path .join (
96
+ license_class_uriref , "license" , ""
100
97
)
101
- g .set ((license_uri , CC .licenseClass , license_class_uriref ))
98
+ g .set ((license_uri , CC .licenseClass , URIRef ( license_class_uriref ) ))
102
99
103
100
# cc:jurisdiction, if applicable
104
101
# foaf:logo
@@ -109,8 +106,12 @@ def generate_rdf_file(
109
106
)
110
107
jurisdiction_uri = URIRef (
111
108
convert_https_to_http (
112
- f"{ tool_obj .creator_url } /international/"
113
- f"{ tool_obj .jurisdiction_code } "
109
+ os .path .join (
110
+ tool_obj .creator_url ,
111
+ "international" ,
112
+ tool_obj .jurisdiction_code ,
113
+ "" , # legacy rdf has a trailing slash
114
+ )
114
115
)
115
116
)
116
117
g .add ((license_uri , CC .jurisdiction , jurisdiction_uri ))
0 commit comments