User Tools

Site Tools


api4kb_ontologies

====== 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_ontologies [2015/03/06 14:27]
greentara [Descriptions of Applications Property Values]
api4kb_ontologies [2015/03/10 11:10] (current)
apaschke [API4KB Architectural Elements]
Line 41: Line 41:
 The API4KB architectural elements are categorized according to the following competency questions. The API4KB architectural elements are categorized according to the following competency questions.
  
-  * What are the entities that are communicating in the distributed system? => **Communicating Entities** +  * What are the entities that are communicating in the distributed ​API4KB ​system? => **Communicating Entities** 
-  * How do they communicate,​ or, more specifically,​ what communication paradigm is used? => **Communication Paradigms** +  * How do they communicate,​ or, more specifically,​ what communication paradigm is used to communicate between API4KB entities? => **Communication Paradigms** 
-  * What (potentially changing) roles and responsibilities do they have in the overall architecture?​ => **Communication Roles**+  * What (potentially changing) roles and responsibilities do they have in the overall ​API4KB ​architecture?​ => **Communication Roles**
   * What is the mapping of the API4KB elements into a physical distributed infrastructure?​ => **Communication Placement**   * What is the mapping of the API4KB elements into a physical distributed infrastructure?​ => **Communication Placement**
  
Line 77: Line 77:
   * **Caching and Proxying**: A **Cache** stores recently used knowledge resources. Caches might be co-located with each client or located in a **Proxy**. Proxy provides a surrogate or placeholder for a API4KB knowledge object to control access to it. Applications of proxies are, e.g., virtual proxy (delaying the creation and initialization of expensive objects until needed, where the objects are created on demand, e.g. via factory design pattern), remote proxy (providing a local representation for an object that is in a different address space), protection proxies (where a proxy controls access to real subject methods, by giving access to some objects while denying access to others), smart reference proxy (e.g. providing a sophisticated access to certain objects).   * **Caching and Proxying**: A **Cache** stores recently used knowledge resources. Caches might be co-located with each client or located in a **Proxy**. Proxy provides a surrogate or placeholder for a API4KB knowledge object to control access to it. Applications of proxies are, e.g., virtual proxy (delaying the creation and initialization of expensive objects until needed, where the objects are created on demand, e.g. via factory design pattern), remote proxy (providing a local representation for an object that is in a different address space), protection proxies (where a proxy controls access to real subject methods, by giving access to some objects while denying access to others), smart reference proxy (e.g. providing a sophisticated access to certain objects).
   * **Mobile**: Mobile (executable) code that is downloaded to a client or mobile components/​agents,​ which are running programs (both code and data/​resources + state) that travel from one computer / environment to another   * **Mobile**: Mobile (executable) code that is downloaded to a client or mobile components/​agents,​ which are running programs (both code and data/​resources + state) that travel from one computer / environment to another
-===== Description Schemas ​=====+===== Descriptions ​=====
 A description is a particular kind of Knowledge Resource that provides essential characteristics of an API4KB entity. A description is a particular kind of Knowledge Resource that provides essential characteristics of an API4KB entity.
  
-There are several key kinds of descriptions+RDF is typically sufficient to express ​descriptions.
-  - Descriptions of Knowledge Resources +
-  - Descriptions of Knowledge Platform +
-  - Descriptions of Knowledge Platform Managers+
  
-The (draft) schemas ​for these descriptions are shown below in matrix form.+The API4KB ontologies define a vocabulary in the API4KB namespace ​for use in descriptions.
  
 +Foreign namespaces may also be used within descriptions.
 +
 +Descriptions must be consistent with the metamodel (ontology), which provides restrictions on the domain, range and cardinality of properties in the API4KB namespace.
 +
 +Descriptions adopt the semantics of RDF, especially the open-world assumption. This means that "​violation"​ of a minimum cardinality restrictions in a description does not correspond to an inconsistency,​ but to either a lack of knowledge or a query for a partial description.
 ==== Descriptions of Knowledge Resources ==== ==== Descriptions of Knowledge Resources ====
-Key      ^ Value           ^+These codes are used in the following tables. 
 +Code      ^ Value           ^
 | Y        | Yes (exactly 1) | | Y        | Yes (exactly 1) |
 | Y+        | Yes (1 or more) | | Y+        | Yes (1 or more) |
Line 96: Line 99:
 | I[+?​*] ​       | Inherited and Indirectly Available| | I[+?​*] ​       | Inherited and Indirectly Available|
  
 +These CURIE prefixes are used in the following tables.
 +^ Abbreviation ​     ^ Expansion ​          ^
 +| :          | http: API4KB namespace here |
 +| ks:        | :​KnowledgeSource/​ |
 +| kr:        | :​KnowledgeResource/​ |
 +| ka:        | kr:Asset/ |
 +| ke:        | kr:​Expression/​|
 +| km:        | kr:​Manifestation/​|
 +| ki:        | kr:Item/ |
 +| lang:        | :Language/ |
 +| map:        | :Mapping/ |
 +| xsd:        | http: XSD datatype namespace here |
  
  
-^ Property ^Range ​     ^ ka:       ​^ ke:          ^ km:          ^ ken:          ^ kio:          ​^ ki:          +^ Property ​           ^ Range         ​^ ka: ^ ke: ^ km: ^ ki: ^ 
-level      |ks:Level | ASSET   | EXPRESSION ​   ​MANIFESTATION ​ ​| ​ENCODING ​  IO    | ITEM          ​+:​hasIdentifier ​     | :Identifier ​  | Y?  ​Y?  ​| ​Y?  ​Y?  ​
-| :hasIdentifier  ​| :identifier| Y?             | Y?                   | Y?                      ​| Y?                 | Y?           | Y?             +| :level              ​ks:Level      ​| Y   ​| Y   ​| Y   ​| Y   ​
-| :​usesPerformative[1]|:​Performative ​Y            ​| Y*                   ​Y                     Y                | Y*           | Y*             +| :​usesPerformative[1]| :Operation ​   ​I | Y*  I I 
-| :​hasLocator ​    ​|:Address | Y?             ​| Y?                   ​| Y?                   ​| Y?             | Y?           | Y             +| :​hasLocator ​        ​| :​Address ​     | Y?  | Y?  | Y?  | Y   ​
-| :​usesLanguage ​   |kr:Language | I+             | Y+                   | I+                    ​| I+                 | I+           | I+             +| :​usesLanguage ​      ​| :​Language ​    ​| I*  ​| Y*  ​| I*  ​| I*  ​
-| :​usesDialect ​    ​|km:Dialect | N             ​| N                   ​| Y+                     | I+                 | I+           | I+             | +| :​usesDialect ​       | km:​Dialect ​   | N   ​| N   ​| Y*  ​| I*  ​
-| :​usesFormat ​     |ken:Format | N             | N                   | N                      | Y+                 | I+           | I+             +| :​usesConfiguration ​ |ki:​Configuration| N  | N   ​| N   ​| Y*  ​
-| :​usesConfiguration |ki:​Configuration | N             ​| N                   ​| N                      | N                 | Y+           | I+             +| :​accordingTo ​       |lang:​Environment| Y  | N   ​| N   ​| N   ​
-| :​accordingTo |:​Environment | Y             ​| N                   | Y                      | Y                 | N           ​| N             ​+| :​isBasic ​           |xsd:​boolean ​   | Y   ​| Y   ​| Y   ​| Y   ​
-| :​isBasic ​    ​|xsd:​boolean | Y             ​| Y                   ​| Y                      | Y                 | Y           | Y             | +| :​hasMetadata ​       |kr           | Y*  | Y*  | Y*  | Y*  
-| :​usesIOMode ​    ​|:​IOMode | N             | N                   | N                      | N                 | Y+           | N+| :hasDescription[3]  |kr           | Y*  ​| Y*  ​| Y*  ​| Y*  ​|
-| :​hasMetadata ​   |:KnowledgeResource ​| Y*             ​| Y*                   ​| Y*                      | Y*                 | Y*           | Y*| +
-| :selfDescription[3]   ​|:Description ​| Y?             | Y?                   | Y?                      ​| Y?                 | Y?           | Y?|+
  
-[1] Possible ​Performative ​values are AssertionRetraction, Query, Result, ... +[1] Performative ​is an operation that is expressed directly in the knowledge resource. Languages with this capability include PrologRuleML and DOLA knowledge resource containing performatives is an "​executable knowledge resource"​.
  
-[3] A self-description (of a knowledge resource) ​is a descripton ​embedded in the knowledge resource it is describingIt naturally inherits a number ​of properties from the knowledge resource ​being describedincluding level. Other properties are inherited unless overriden; e.g. language, dialect, format, storeConfig,​ IOMode, Metadata.+[3] The "​hasDescription"​ property ​is a means to embedded ​information about the description ​in the description itselfNote that the subject ​of the ":​hasDescription"​ property is the knowledge resource ​that the description is aboutas named by the ":​hasIdentifier"​ property.
 ==== Descriptions of Knowledge Resources Property Values ==== ==== Descriptions of Knowledge Resources Property Values ====
 ^ Property ​     ^ Language ​      ^ Dialect ​         ^ Format ​               ^ StoreConfig ​       ^ Asset Environment ​   ^ Type    ^Level ​   ^Performative ​   ^Metadata[2] ​   ^ ^ Property ​     ^ Language ​      ^ Dialect ​         ^ Format ​               ^ StoreConfig ​       ^ Asset Environment ​   ^ Type    ^Level ​   ^Performative ​   ^Metadata[2] ​   ^
api4kb_ontologies.1425670079.txt.gz · Last modified: 2015/03/06 14:27 by greentara