This is the Watson Web interface for searching ontologies and semantic documents using keywords. This interface is subject to frequent evolutions and improvements. If you want to share your opinion, suggest improvement or comment on the results, don't hesitate to contact us... At the moment, you can enter a set of keywords (e.g. "cat dog old_lady"), and obtain a list of URIs of semantic documents in which the keywords appear as identifiers or in literals of classes, properties, and individuals. You can also use "jokers" in the keywords (e.g., "ca? dog*"). Navigation in the results follows very simple principles. First, whenever a sign appears, it can be used to display additional information about the element it is attached with. Second, every URI is clickable. A URI is a link to a page describing either the entity or the semantic document it corresponds to, and gives access to additional functionalities using this particular entity or document.
Our new term extraction service analyzes text and an optional query, returning a list of the key concepts from the text. You can use the service for a variety of different purposes. For example, Y!Q uses it to determine key concepts within the search context and then uses those terms for augmenting a user's search query.
Probably the most important thing to notice about this style is that the intent is to do something along the lines of an internal DomainSpecificLanguage. Indeed this is why we chose the term 'fluent' to describe it, in many ways the two terms are synonyms. The API is primarily designed to be readable and to flow. The price of this fluency is more effort, both in thinking and in the API construction itself. The simple API of constructor, setter, and addition methods is much easier to write. Coming up with a nice fluent API requires a good bit of thought. Indeed one of the problems of this little example is that I just knocked it up in a Calgary coffee shop over breakfast. Good fluent APIs take a while to build. If you want a much more thought out example of a fluent API take a look at JMock. JMock, like any mocking library, needs to create complex specifications of behavior. There have been many mocking libraries built over the last few years, JMock's contains a very nice fluent API