Services within the Seme4 Platform generally operate in accordance with the principles of RESTful web services and/or Linked Data best practices for accessing structured data on the web.

The OS 'different' Service is an instance of the RelationshipService, which provides storage and query facilities for relationships between pairs of items.

You can interact with it using the following methods.

/os/

Default service homepage, giving description, licence and other information.

GET

(text/html) calls function homepage()


/os/admin/

Perform administration tasks

GET

(text/html) calls function admin()
Administration page
Note: this method requires authentication

POST

(text/html) calls function admin()
Administration page
Note: this method requires authentication


/os/admin/:command

Perform a specified administration command

GET

(text/html) calls function admin()
Invoke :command. Valid operations are create, drop, calc and empty.
Note: this method requires authentication
Do it: /os/admin/


/os/canons/:symbol/

Deal with the canon state associated with a symbol.

GET

(text/html, text/plain) calls function getCanon()
Get the canon state of a symbol
Do it: /os/canons//

PUT

(text/html) calls function setCanon()
Make the symbol a canon
Note: this method requires authentication
Do it: /os/canons//

DELETE

(text/html) calls function resetCanon()
Make the symbol not a canon
Note: this method requires authentication
Do it: /os/canons//


/os/hidden/

Manage and query mass hidden symbols

GET

(text/html) calls function xxx()
Dump hidden symbols
Note: this method is not currently available

PUT

(text/html) calls function xxx()
Restore hidden symbols
Note: this method is not currently available
Note: this method requires authentication

DELETE

(text/html) calls function xxx()
Mass unhide symbols
Note: this method is not currently available
Note: this method requires authentication


/os/hidden/:symbol/

Manage and query single symbol hiding

GET

(text/html) calls function getHidden()
Find out if symbol is hidden
Note: this method is not currently available
Do it: /os/hidden//

PUT

(text/html) calls function putHidden()
Hide symbol
Note: this method requires authentication
Do it: /os/hidden//

DELETE

(text/html) calls function deleteHidden()
Unhide symbol
Note: this method requires authentication
Do it: /os/hidden//


/os/pairs/

Deal with large numbers of pairs at once

GET

(text/html, text/plain, application/json) calls function getPairs()
Dump listing of all pairs within the relationship store or maybe modified by the service it is on

PUT

(text/html) calls function putPairs()
Send a load of pairs to the store
Note: this method requires authentication

DELETE

(text/html) calls function deletePairs()
Send a load of unpairs to the store - currently deletes all pairs
Note: this method requires authentication


/os/pairs/:symbol1/:symbol2/

Query, assert or retract relationship between two items

GET

(text/html) calls function getPair()
Query to see if there is a relationship between symbol1 and symbol2. Transitive relationships will be shown.
Do it: /os/pairs///

PUT

(text/html) calls function putPair()
Assert that there is a relationship between symbol1 and symbol2
For example you could do (remember to urlencode any URIs):
curl -X PUT http://{service-root}/pairs/God/Jesus
Note: this method requires authentication
Do it: /os/pairs///

DELETE

(text/html) calls function deletePair()
Remove relationship between symbol1 and symbol2
Note: this method requires authentication
Do it: /os/pairs///


/os/search/

Provide a search facility

GET

(text/html, text/plain, application/json) calls function search()
Search for a symbol using the provided 'symbol' query argument


/os/status/

Default service status page.

GET

(text/html, application/json) calls function show_status()


/os/symbols/:symbol/

Do the single symbol stuff

GET

(text/html, text/plain, application/json, application/rdf+xml, text/turtle) calls function getSymbol()
Find the bundle for symbol
Do it: /os/symbols//

PUT

(text/html) calls function xxx()
Create a singelton bundle that has symbol in it
Note: this method is not currently available
Note: this method requires authentication
Do it: /os/symbols//

DELETE

(text/html) calls function deleteSymbol()
Isolate symbol from all other symbols
Note: this method requires authentication
Do it: /os/symbols//


/os/symbols/:symbol/details/

Get the full information about symbol

GET

(text/html) calls function queryDetails()
symbol
Note: this method is not currently available
Do it: /os/symbols//details/


/os/symbols/:symbol/filter/

Deal with the filter value associated with a symbol.

GET

(text/html) calls function getFilter()
Get the filter value for symbol
Do it: /os/symbols//filter/

PUT

(text/html) calls function setFilter()
Set the filter value for symbol
Note: this method requires authentication
Do it: /os/symbols//filter/

DELETE

(text/html) calls function resetFilter()
Reset the filter value for symbol
Note: this method requires authentication
Do it: /os/symbols//filter/


/os/usage/

Usage page - renders the description you are currently reading :)

GET

(text/html, application/json) calls function usage()