====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
api4kb_usecases [2012/12/08 13:44] rburkhart |
api4kb_usecases [2013/01/14 11:28] 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]] | + | |