tdt / core

Transform any dataset into an HTTP API with The DataTank
http://thedatatank.com
83 stars 31 forks source link

Fix DCAT #169

Closed coreation closed 10 years ago

coreation commented 10 years ago

Declare list of things that need to be changed to the DCAT feed.

coreation commented 10 years ago
pietercolpaert commented 10 years ago

Concerning language: http://dublincore.org/documents/dcmi-terms/#elements-language

It should be according to RFC4646

pietercolpaert commented 10 years ago

Aha! I've found out that lexvo is a nice resource for languages

The URI towards it can be created using this: http://www.lexvo.org/id/iso639-3/nld for Dutch :)

coreation commented 10 years ago

Great! So that means that we can use the lexvo link as a resource since it refers to a page with the language rdf properties? I've found a list of all of the iso codes the lexvo uses (http://www-01.sil.org/iso639-3/iso-639-3.tab), perhaps we should pick a few out of them, put them in a seeder and then use a table to fetch our supported languaged codes from. The entire list is quite extensive, I wouldn't recommend adding all of them.

pietercolpaert commented 10 years ago

Putting them in a seeder sounds good!

I think we should support all of them and work with an autocompletion box. I would also support different languages. E.g., if you start Neder... that it autocompletes Nederlands, but also when you type Dut... that it autocompletes Dutch. Both autocompletions would in the back have the same URI.

For the autocompletion you could have a new endpoint, or add it as a resource and use SPECTQL to filter it ;) I like the second option for the eat-your-own-dogfood approach. I like the first option as well because it keeps the user environment cleaner.

Option 1

GET api/languages?q=Nederla

[
 { "uri":"http://www.lexvo.org/id/iso639-3/nld","name" : "Dutch" }
]

Option 2

GET tdt/languages → resource with all the languages

GET spectql/tdt/languages?name~'Nederla'

pietercolpaert commented 10 years ago

And on a sidenote, if you are looking for instances of a certain class, Sindice is the right tool: http://sindice.com/search?q=http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2FLinguisticSystem&nq=&fq=