User Tools

Site Tools


graph_manipulation

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

Link to this comparison view

Last revision Both sides next revision
graph_manipulation [2012/11/25 19:53]
hsolbrig
graph_manipulation [2012/11/25 20:03]
hsolbrig
Line 1: Line 1:
-APIs for graph manipulation ​(derived from CTS2 specification) ​[[start|Link to API4KB Main Page]]+====== ​APIs for graph manipulation ​======  
 +[[start|Link to API4KB Main Page]]
  
 The terminology and requirements are derived from the CTS2 specification. ​ The terminology and requirements are derived from the CTS2 specification. ​
  
-A note on the terminology used below:+===== A note on the terminology used below: ​=====
 * **Graph** - A named collection of assertions. ​ Graphs are assumed to be immutable - if the set of assertions changes in a graph, the graph is given a different name. Graphs implicitly include any logical conclusions that can be drawn from the application of one or more sound, monotonic reasoning algorithms to the assertions in the graph. ​ * **Graph** - A named collection of assertions. ​ Graphs are assumed to be immutable - if the set of assertions changes in a graph, the graph is given a different name. Graphs implicitly include any logical conclusions that can be drawn from the application of one or more sound, monotonic reasoning algorithms to the assertions in the graph. ​
 * **Assertion** - a "​triple"​ consisting of a named predicate, a subject and an object where: * **Assertion** - a "​triple"​ consisting of a named predicate, a subject and an object where:
Line 16: Line 17:
 The key distinction between the terminology used above and that used in classic RDF is that the subject of an assertion must be the name of a persistent resource - not a BNODE. The key distinction between the terminology used above and that used in classic RDF is that the subject of an assertion must be the name of a persistent resource - not a BNODE.
  
-Requirements:​ +===== Requirements: ​===== 
-  ​* ​Return the URI of a graph given the URI of a source file (RDF / OWL / ...).  ​+==== Return the URI of a graph given the URI of a source file (RDF / OWL / ...) ====
     * Inputs: URI of source file  ​     * Inputs: URI of source file  ​
     * Return: URI of graph     * Return: URI of graph
Line 24: Line 25:
       * Assertions that are are derived from the application of one or more sound, monotonic reasoning algorithms need to be identified as "​derived"​ (vs. "​asserted"​) and it should be possible to determine which algorithm(s) were used to reach the conclusion       * Assertions that are are derived from the application of one or more sound, monotonic reasoning algorithms need to be identified as "​derived"​ (vs. "​asserted"​) and it should be possible to determine which algorithm(s) were used to reach the conclusion
       * Assertions that are both asserted //and// derived should be marked as asserted.       * Assertions that are both asserted //and// derived should be marked as asserted.
-  * Create a new graph that contains the union of two or more existing graphs+==== Create a new graph that contains the union of two or more existing graphs ​====
     * Inputs: List of graph URIs     * Inputs: List of graph URIs
     * Return: URI of new graph     * Return: URI of new graph
     * Notes: Assertion provenance must be maintained - every assertion must include the name of the graph(s) from which it was derived     * Notes: Assertion provenance must be maintained - every assertion must include the name of the graph(s) from which it was derived
-  * Return a graph that contains the intersection of two or more existing graphs+==== Return a graph that contains the intersection of two or more existing graphs ​====
     * Inputs: List of graph URIs     * Inputs: List of graph URIs
     * Return:     * Return:
graph_manipulation.txt · Last modified: 2012/11/25 21:35 by hsolbrig