User Tools

Site Tools


api4kb_usecases

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
api4kb_usecases [2012/12/08 12:12]
rburkhart
api4kb_usecases [2013/01/14 11:28] (current)
rburkhart
Line 1: Line 1:
 ====== API4KB Use Cases ====== ====== API4KB Use Cases ======
-This page contains a list of use cases to be supported by the API4KB [[start|Link back to API4KB Main Page]] 
  
 +This page contains a list of use cases to be supported by the API4KB
 +([[start|Link back to API4KB Main Page]])
  
- +  * [[Policy-Based Information Exchange]] 
- +  * [[Elisa Placeholder]] 
-===== Policy-Based Information Exchange ​===== +  ​* [[LegalRuleML]] 
- +  * [[Extend API using a metaobject protocol]]
-The following use case shows what is necessary to maintain security and privacy when someone (or something) requests access to information:​ +
- +
-{{UseCase.policy-based_information_exchange_1.25x.png}} +
- +
- +
- +
- +
- +
- +
-===== Elisa Placeholder ===== +
- +
-The following use case shows somthing that Elisa has in mind: +
- +
-{{UseCase.Elisa.png}} +
- +
-===== LegalRuleML (Tara) ===== +
- +
-Use Case of a Generic Criminal Legal System +
- +
- +
-with input from (http://​en.wikipedia.org/​wiki/​Italian_Criminal_Procedure#​Parties) +
- +
-Actors +
-Parties may have agents acting on their behalf, and these agents may be restricted in their access to the KB to some subset of the authority of the Party. +
- +
-  - Judges - may be different depending on stage of proceedings +
-  - suspect +
-  - defendant +
-  - prosecutor +
-  - police +
-  - injured party +
-  - civilly-liable party (to pay damages and/or fines) +
-  - counsel (lawyers) for suspect/​defendant +
-  - witnesses +
-  - experts +
-  - courts +
-  - jury (not in Italy) +
-  - legislature +
- +
-Actions +
-The particular actions are roughly categorized based on CRUD +
-  * Create (POST) +
-  * Read   ​(GET) +
-  * Update (PUT/​PATCH) +
-  * Delete (DELETE) +
- +
-Note that the difference between Create and Update is a function of the modularity of the KB. In a highly modular architecture,​ a new table/​knowledgebase-module may be created when a law is passed, when an investigation is opened, etc.. In a less modular architecture,​ these actions may be Updates rather than Creates. +
- +
-  - (*CRU) pass, modify and annul *laws* - Legislature +
-  - (*R) query (including semantic query) to legal KB for details of the legal code - General Public +
-  - (*CRU) maintain records of investigations - Prosecutor, Judges, Defendant, Counsel, Police +
-  - (CRU) initiate proceedings - Prosecutor +
-  - (CRU) call a hearing - Judge +
-  - (*CRU) file requests (authorization to conduct investigations,​ such as wire-tapping) - Prosecutor +
-  - (*CRU) issue an order (e.g. authorizing investigations),​ *with explanation* - Judge +
-  - (CRU) appeal an order - Prosecutor, Counsel +
-  - (RU) drop charges - Prosecutor +
-  - (CRU) proceed to trial - Judge, Prosecutor +
-  - (*CRU) file a brief -  Counsel +
-  - (CRU) summon witness or expert - Prosecutor, Counsel +
-  - (*CRU) provide testimony or expert judgement - Witness, Expert, Defendant, Injured Party +
-  - (*RU) convict/​acquit,​ *with explanation* ​  - Judge, Jury +
-  - (*CRU) issue a sentence - Judge +
-  - (CRU) appeal a conviction - Prosecutor, Counsel +
-  - (*RU) reverse, amend or quash a decision, ​ *with explanation* - Judge +
-  - (UD) delete/​expunge records - Court +
-  - (CRU) manage records on payment of penalties, imprisonment,​ etc -  Court +
- +
-Those items with * are the services that go beyond the capability of an ordinary database, requiring encoding of natural language texts into a knowledge representation language and performing specialized actions, such as parsing or (semantic) querying, on that encoding. +
- +
-===== Extend basic API layers using a metaobject protocol (Roger) ===== +
- +
-Since the scope of API4KB will span many levels and types of expressibility within a knowledge base, including operations and services specific to each, provide users with the ability to extend any initial %%API%% using a metaobject protocol. Metaobjects that define the basic elements of an %%API%%, and mappings of these services to their underlying implementations,​ should themselves be available for access and extension through the most basic layers of API4KB. +
- +
-For example, a small core definition of essential API4KB operations could be supplied by a REST-compatible linked data interface, such as the [[http://​www.w3.org/​Submission/​ldbp/​|Linked Data Basic Profile]], thereby satisfying RFP requirement 6.1.2, "The API4KB standard will provide a standard way to access and query knowledge bases in tools [for] building the Semantic Web." A definition of metaobjects to add new operations and services to this basic %%API%% would be published as Basic Profile Resources, also defined in the core of API4KB. Additional %%API%%'​s and services defined by API4KB itself, along with those of API4KB users for their own specific needs, could then be established by operations against this basic extensibility %%API%%. All extended layers of %%API%% services, both those established by API4KB itself and by user extension, would be defined unambiguously within the KB by means of extensibility operations performed using the metaobject protocol. +
- +
-Background: "The essence of a Metaobject Protocol is simple: every aspect of a program'​s mapping down onto the lower level substrate (i.e. its compilation and runtime support) is controlled by some object or set of objects following a well-defined protocol." ​ [[http://​c2.com/​cgi/​wiki?​MetaObjectProtocol|(Wiki Wiki Web)]]. See also,[[http://​en.wikipedia.org/​wiki/​Metaobject|Metaobject article in Wikipedia]],​ and [[http://​en.wikipedia.org/​wiki/​The_Art_of_the_Metaobject_Protocol|The Art of the Metaobject Protocol]] ([[http://​www.amazon.com/​Art-Metaobject-Protocol-Gregor-Kiczales/​dp/​0262610744#​_|Amazon]]). Please note that operational use of metaobjects to provide comprehensive access to the working elements of a more basic level, and to extend this access not only to its further extension but to every aspect of its interpretation and implementation,​ is considerably broader than the use of "​meta"​ layers to represent static relationships within an information architecture,​ such as those of the [[http://​www.omg.org/​spec/​MOF/​|Meta Object Facility (MOF)]] of %%OMG%%.+
  
api4kb_usecases.1354986765.txt.gz · Last modified: 2012/12/08 12:12 by rburkhart