

Writing an API for conceptual relationships - looking for feedback - pwningpwner
http://www.strongapi.com/src/documentation/
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.<p>Thanks,<p>- Robert
======
perlgeek
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.

~~~
pwningpwner
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.

~~~
espeed
This is cool. You should show it to the TinkerPop/Gremlin graph users group
(<https://groups.google.com/forum/#!forum/gremlin-users>).

------
dakoller
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/> )

------
broadstrokes
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.

------
andrewcross
Do you have any uses of it so far that are really cool? (other than your
lighting/thunder example)

~~~
pwningpwner
<http://www.strongapi.com/src/celebritymatching/>

------
NHQ
I like the idea. Will watch.

