====== Differences ====== This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
api4kb_usecases [2012/11/17 13:28] rmbell created |
api4kb_usecases [2012/12/08 13:44] rburkhart |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== API4KB Use Cases ====== | ====== API4KB Use Cases ====== | ||
- | The following shows a use case for a policy-based information exchange: | + | This page contains a list of use cases to be supported by the API4KB [[start|Link back to API4KB Main Page]] |
- | {{UseCase.png|policy-based information exchange}} | + | |
+ | |||
+ | |||
+ | ===== Policy-Based Information Exchange ===== | ||
+ | |||
+ | 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]] | ||