我在本地系統中的文件,我想創建一個文件,其中包含的元數據:如何使用java在ckan中創建任何文件的元數據(JSON)?
{Filename, create date, update date, file format etc etc}
爲一個JSON格式的鍵值對。接下來,我想在CKAN(CKAN API調用)中上傳它,以便我最終可以使用CKAN url來查看該文件。我已經有CKAN主機URL和CKAN密鑰。
請有人可以幫我寫這個Java腳本?我是CKAN新手,第一次嘗試這樣做,但我無法做到。如果有人可以分享示例代碼以供參考,那將會很有幫助。我認爲它應該只是一個API調用。
1.對於同樣的工作,下面是python腳本。但我想它在Java中完成,請幫助..
metadata ={}
azure_urls=[]
for blob in urls:
print(blob)
for url in urls[blob]:
print(url)
r = requests.get(url,stream=True)
file_name = url.split(「/」)[-1]
with open(file_name, ‘wb’) as data:
for chunk in r.iter_content(chunk_size = 1024*1024):
if chunk:
data.write(chunk)
block_blob_service.create_blob_from_path(path.join(container,blob),
data.name,
file_name ,
content_settings=ContentSettings(content_type=mimetypes.guess_type(‘./%s’ %url.split(「/」)[-1])[0]))
print(‘uploading file to ‘+’‘+blob+' ‘+’in a ‘+ container)
os.remove(data.name)
download_url = block_blob_service.make_blob_url(path.join(container, blob),data.name)
azure_urls.append(download_url)
metadata[blob]= azure_urls
metadata[‘Title’] = ‘Dbpedia’+‘-’+blob
metadata[‘Publisher’] = ‘Name’
metadata[‘Created’] = datetime.now().strftime(「%Y-%m-%d %H:%M:%S」)
metadata[‘version’] = 「2016-10"
metadata[ 「Container」] = container
metadata[‘SourceType’] = [url.split(「.」)[-1] for url in azure_urls]
print(metadata)
及以下ckanAPI調用語句:
CKAN = ckanapi.RemoteCKAN(」 http://hostname 」, '密鑰')
3.getting如以下URL輸出:
{‘ontology’: [‘link1', ‘link2’], ‘Title’: ‘Dbpedia-ontology’, ‘Publisher’: ‘SiddarthaP’, ‘Created’: ‘2017-08-03 00:55:22’, ‘version’: ‘2016-10’, ‘Container’: ‘dbpedia’, ‘SourceType’: [‘owl’, ‘nt’]}
您應該添加您嘗試過的代碼,以便我們可以幫助您 –
@CristiánRamón-Cortés添加了相同工作的Python腳本。無法編寫Java腳本..請檢查並幫助 – anshul
我還有一些不清楚的地方:你需要Java還是JavaScript嗎? –