Wiki

Clone wiki

SuperSimpleSemantics / FAQ

#summary common questions

So whats this SSS thing again?

The SSS is two things really;

  1. Its a new standard file format for hosting semantic data.

  2. Its a java library to reading and querying that data.

At this point it is very prototype-y and subject to change. It is also, however, functional.

Why not Jena?

Jena is a big, very powerful, but very complex triple store system. It runs server side, and can do all sorts of advanced deductions on data.

http://jena.apache.org/

By comparison SSS is much more simple - focused purely on transitional relationships. However, SSS much more easily works distributed - one client can connect with data over many static servers. It doesn't require everyone to run "Endpoints" to handle requests, and it seamlessly crossreferances from any number of URIs hosted at any number of domains - with the only active code being the client that ran the request.

So whats SSS good for?

Either;

a) A webbased semantic search system, where the data can be spread over multiple servers. (The "GreenFruitEngine" is an example of this). Specifically this system is good for looking up objects that forfill a set of requirements.

or

b) Any bit of code that would benefit from basic transitional semantics.

So what are the requirements to use SSS?

You can use the code in any Java project basically, including GWT Java (which actually converts to javascript). This lets the project be used for both webpages/webgames as well as desktop apps. Android apps should also be possible, but currently untested. Simply import the JAR into your code, and look at the examples to start.

Webgames?

Yes, the SSS can be used to give your game a basic intelligence as regards to property's. For example, you could have a list of flammable things, and put wood on it. Then, in your game, you can give something the property of wood and it knows it should burn.

There is a prototype adventure game by Lost Again already using SSS for its internal logic you can play online here;

https://www.atresica.nl/meryll_wants_a_cookie/meryll.html

Do I have to contribute data openly?

Not at all - if you want you can supply data to your code and keep it to yourself. Your semantic lists can be as public or private as you want. You can even directly specify property's in code, rather then reading from local (or remote) files.

Hows this relate to this "SemanticWeb" thing I have heard about

It doesn't. At least, not exactly. Traditional semantic web movement has been based around embedding extra information into existing webpage formats. This extra information allows machines to read the information more easily. So, for example, a search engine might understand that a webpage has a review on it, whats being reviewed, and the score. Its basically about providing a machine-reable equivalent for human readable data.

SSS takes a different approach. It doesn't aim to make webpages more readable for existing search engines, instead it intends to allow separate lists of data to be hosted in txt files, which can be cross-referenced and searched though for a specific item that matches your request.

In other words, this isn't about looking up extra information on something you already know you want. This is about finding something that matches requirements but you dont yet know about.

OMG I just looked at the code...what the hell is this mess??

Sorry...I will try to tidy it up and document it better once I have got it all working in principle. Needless to say, using SSS as a lib in your own projects is far more simple then understanding how it all works.

But whats all these callbacks everywhere...there's so many?

Dynamic fractular loading of queries (which can have sub-querys within them). Also trying to allow potential pauses to allow interface updates, it all adds up...

Updated