Writing an API for conceptual relationships - looking for feedback (strongapi.com)

35 points by pwningpwner ↗ HN
Hey, I'm a software student with a side project I thought I'd share with you guys. It's a RESTful(ish) API where you can input a number of concepts and the output will be a JSON object describing how those objects are related to each other. Let me know what you guys think of it. I'm interested to know what features you think I should add to it, and what I can improve on.

Thanks,

- Robert

8 comments

[ 5.5 ms ] story [ 31.0 ms ] thread
Wow, that's interesting.

One thing that confused me in the API documentation that it seems to use "concepts" and "words" to mean the same thing. "word" made me think it has some kind of linguistic proximity check, though I'm quite sure that's not what what your API is about. Later examples use phrases instead of words, so it seems that 'word' is the wrong word here - please ban it completely.

From a quick skimming I didn't find if the relationships for all API keys are stored separately, or if all the data is meshed together in one central place (I guess it's the latter, but I'm not sure).

I'm also a bit confused that the examples indicate client side Javascript, and still one needs an API key, but if one uses that API key, it'll be available for the user, and thus not a secret, which seems to defeat the whole purpose. What's the point?

I hope that gives you some ideas for clarifications.

Cool, thanks for your comments

To answer your question about words and comments, you can input a word or a simple concept like a person's name ex: "George Bush".

As for the API keys every user currently has access to the same information via their API key. You are correct about the security flaw in the javascript API key model, however since nobody uses this but me, I figured it's OK to let it slide for now and once I need to start scaling I can figure out something else. Right now I just want to get people interested and start playing around with it.

Why I haven't seen more user-focused applications of graphs is really beyond me (PersonalBrain being a rare, if woefully inadequate, exception). Despite how much effort is expended in the infrastructure, I really don't think we need to build out the semantic web before people can benefit hugely from creating personal ontologies, organizing their thoughts and lives without the useless intermediary of linear text.
I like the idea. Will watch.
I like the approach too: You may think of using entities along the Linked Data mantra to compare not only by characters, but with the complete meaning of the term. (e.g. compare "Palmyra" with http://dbpedia.org/page/Palmyra ) In the Linked Data world you can use the SKOS vocabulary to define/store relationships like the ones you mentioned. ( http://www.w3.org/2004/02/skos/ ) To ease the task on linguistic checks you may check the WordNet datasource. ( http://wordnet.princeton.edu/ )