-Mapping the service offers a uniform interface to it.
-It facilitates exchanging information amongst different CRSs.
-Defining a protocol, for example: if CRSs exist that have the same canonical URI, they can negotiate to merge URIs and eliminate one of them.
I applied the mapping method, that defines resources and provides an interface
URI | Method | Description |
/CRSBundle | GET | Gets the class {ontology} |
PUT | N/A | |
POST | Creates a new bundle and assigns it a URI | |
DELETE | N/A | |
/CRSBundle/{BundleID} | GET | Gets the bundle description |
PUT | Adds the URI to the bundle | |
POST | N/A | |
DELETE | Deletes the bundle | |
/CRSBundle/{BundleID}/ hasCanonical/ | GET | Gets the canonical URI |
PUT | Adds or replaces the canonical URI | |
POST | N/A | |
DELETE | N/A | |
/CRSBundle/{BundleID}/ hasCanonical/{URI} | GET | Gets the URI |
PUT | N/A | |
POST | N/A | |
DELETE | Removes the canonical URI | |
/CRSBundle/{BundleID}/ hasEquivalent/ | GET | Gets all equivalents |
PUT | Adds a URI to the bundle | |
POST | N/A | |
DELETE | Deletes all URI equivalents | |
/CRSBundle/{BundleID}/ hasEquivalent/{URI} | GET | Gets an equivalent URI |
PUT | N/A | |
POST | N/A | |
DELETE | Deletes the URI from the bundle | |
/{Any URI}/CRSBundle/ | GET | Gets the bundles that this URI is related to |
PUT | N/A | |
POST | Creates an new bundle | |
DELETE | Deletes this URI from the bundles | |
/{Any URI}/CRSBundle/{BundleID} | GET | Gets the bundle |
PUT | N/A | |
POST | N/A | |
DELETE | Deletes this URI from the bundle | |
/CRSBundle/All | GET | Gets all the bundles on this service |
PUT | N/A | |
POST | N/A | |
DELETE | Deletes all the bundles |
Discussing the mapping with my supervisor Dr. David Millard, he was interested in the semantics of the resulting URIs.
1-/CRSBundle/{BundleID}
{BundleID} is a place holder for a bundle identifier. So it is a resource, it should exist on the server as a resource. There is no need for the /CRSBundle/ before it.
2-{BundleID}/hasEquivalent/{URI}
This gives a URI to an instance of a relationship; it introduces the possibility of making statements about the relationship. Reification?
Some questions arise here:
1-What is the potential of having Reification, from what I know it improves expressiveness, but breaks the logic.
2-How are the URIs constructed with respect to the type of relationship or property. Does it matter whether they are inverse, transitive, symmetric …?
We are starting to dig deeper, but are we going to find something?