Modules

Contents

Modules#

Lineage_dictionary

Lineage Dictionary module Manages the dictionary-related functionalities within the lineage tool.

DataSourceManager

DataSourceManager module Responsible for managing data source configurations and operations.

MappingColumnsGraph

MappingColumnsGraph module. Handles the visualization and management of mapping columns in a graph.

MappingModeler

MappingModeler module. The MappingModeler tool helps creating new mappings from sources, and visualising and editing these mappings.

MappingTransform

Module responsible for generating and managing mappings for the MappingTransform process. It interacts with the Vis.js graph to retrieve mappings and formats them as JSON for use in the application. It also provides functionality for generating SLS mappings and R2ML mappings (coming soon).

MappingsDetails : Object

MappingsDetails manages technical mappings (non structural mappings)

TripleFactory

The TripleFactory module handles the creation, filtering, and writing of RDF triples. It includes functions for generating sample triples, creating all mappings triples, and indexing the graph.

UIcontroller

UIcontroller module manages the display of panels in the mapping modeler interface, handling tab activation and panel visibility for data sources, column mappings, technical mappings, and triples.

Members#

SPARQL_endpoint

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Axioms_manager : Object

one graph for each axiom , uri=[Source graphUri]/  »concepts »/[classUri.lastpart]/[axiomType]/[id]/

Lineage_common

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Lineage_properties

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Objects#

Lineage_graphTraversal : object

Module for managing the shortest path search between nodes in the Lineage graph.

Lineage_dictionary#

Lineage Dictionary module Manages the dictionary-related functionalities within the lineage tool.

DataSourceManager#

DataSourceManager module Responsible for managing data source configurations and operations.

See:

[Tutorial: Overview]{@tutorial overview}

DataSourceManager.getSlsvSourceConfig(source, callback) ⇒ void#

Retrieves the configuration for a given data source. Transfers the "main.json" configuration to the Vis.js graph if not already transferred.

Kind: static method of DataSourceManager

Param

Type

Description

source

string

The source name.

callback

function

The callback function to be executed after the operation.

DataSourceManager.initNewSlsvSource(source, callback) ⇒ void#

Initializes a new data source and sets the current configuration.

Kind: static method of DataSourceManager

Param

Type

Description

source

string

The source name.

callback

function

The callback function to be executed after the initialization.

DataSourceManager.loaDataSourcesJstree(jstreeDiv, callback) ⇒ void#

Loads data sources into a Jstree widget for visualization and interaction.

Kind: static method of DataSourceManager

Param

Type

Description

jstreeDiv

string

The DOM element where the tree should be loaded.

callback

function

The callback function to be executed after loading the data sources.

DataSourceManager.initNewDataSource(name, type, sqlType, table) ⇒ void#

Initializes a new data source, updating the current configuration. This function handles both CSV and non-CSV sources by adding them to the Jstree and updating the current data source configuration.

Kind: static method of DataSourceManager

Param

Type

Description

name

string

The name of the data source.

type

string

The type of the data source (e.g., “csvSource” or other types).

sqlType

string

The SQL type of the data source, relevant for non-CSV sources.

table

string

The initial table to be set for the data source.

DataSourceManager.loadCsvSource(slsvSource, fileName, loadJstree, callback) ⇒ void#

Loads a CSV source by fetching data from the server, including headers and sample data. This function updates the current configuration with the columns of the CSV source and its sample data.

Kind: static method of DataSourceManager

Param

Type

Description

slsvSource

string

The name of the CSV source.

fileName

string

The name of the CSV file to load.

loadJstree

boolean

A flag indicating whether to reload the Jstree.

callback

function

A callback function to be executed after loading the CSV source.

DataSourceManager.loadDataBaseSource(slsvSource, dataSource, sqlType, callback) ⇒ void#

Loads a database source and its associated model by fetching data from the server. This function retrieves the model for a given data source and updates the configuration with its tables. It also updates the Jstree with the available tables for the data source.

Kind: static method of DataSourceManager

Param

Type

Description

slsvSource

string

The name of the source.

dataSource

string

The name of the database source to load.

sqlType

string

The SQL type of the database source.

callback

function

A callback function to be executed after the source is loaded.

DataSourceManager.onDataSourcesJstreeSelect(event, obj) ⇒ void#

Handles the selection of a node in the Jstree, which represents different types of data sources, including databases, CSVs, and tables. It updates the configuration and loads the corresponding data source or table based on the selection. Also handles UI updates for the mapping modeler and left panel tabs.

Kind: static method of DataSourceManager

Param

Type

Description

event

Object

The event object triggered by the selection.

obj

Object

The Jstree node object containing details about the selected node.

DataSourceManager.saveSlsvSourceConfig(callback) ⇒ void#

Saves the current configuration of the SlsvSource by using the MappingColumnsGraph save function. Calls the provided callback once the saving operation is complete.

Kind: static method of DataSourceManager

Param

Type

Description

callback

function

The callback to invoke after saving the configuration.

DataSourceManager.displayUploadApp(displayForm) ⇒ void#

Displays the upload form app for uploading database or CSV sources. Depending on the form type, it loads the appropriate form and handles initialization of the React app.

Kind: static method of DataSourceManager

Param

Type

Description

displayForm

string

The type of form to display (“database” or “file”).

DataSourceManager.createDataBaseSourceMappings() ⇒ void#

Creates mappings for a selected database source. Closes the upload app dialog, adds the selected database source to the current configuration, and saves the updated configuration. Calls the provided callback once the operation is complete.

Kind: static method of DataSourceManager

DataSourceManager.createCsvSourceMappings() ⇒ void#

Creates mappings for a selected CSV source. Closes the upload app dialog, adds the selected CSV source to the current configuration, and saves the updated configuration. Calls the provided callback once the operation is complete.

Kind: static method of DataSourceManager

DataSourceManager.deleteDataSource(jstreeNode) ⇒ void#

Deletes a data source (either database or CSV) from the configuration. Removes the data source from the raw configuration, updates the JSTree, and removes related nodes and edges from the graph. The updated configuration is then saved. If the source is a CSV, additional steps would be taken to remove the file.

Kind: static method of DataSourceManager

Param

Type

Description

jstreeNode

Object

The JSTree node representing the data source to be deleted.

MappingColumnsGraph#

MappingColumnsGraph module. Handles the visualization and management of mapping columns in a graph.

See:

[Tutorial: Overview]{@tutorial overview}

MappingColumnsGraph.self.currentOffset : Object#

Current graph node being manipulated.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.self.currentGraphNode#

Stores the currently selected graph node.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.self.visjsGraph : Object#

Instance of the Vis.js graph.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.self.graphDiv#

ID of the HTML container where the graph is rendered.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.stepX : number#

X-axis step size for node positioning.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.stepY : number#

Y-axis step size for node positioning.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.minX : number#

Minimum X position for graph layout adjustments.

Kind: static property of MappingColumnsGraph

MappingColumnsGraph.drawResource(newResource) ⇒ void#

Draws a new resource node in the Vis.js graph. Positions the node dynamically and links it with existing nodes if necessary.

Kind: static method of MappingColumnsGraph

Param

Type

Description

newResource

Object

The resource to be added to the graph.

MappingColumnsGraph.initOffsets() ⇒ void#

Initializes the offset values for positioning nodes in the graph. Ensures that the offset is set correctly before adding new nodes.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.objectIdExistsInGraph(id) ⇒ boolean#

Checks if a given object ID already exists in the Vis.js graph. Iterates through existing nodes to determine if the ID is present.

Kind: static method of MappingColumnsGraph
Returns: boolean -

True if the object exists, otherwise false.

Param

Type

Description

id

string

The ID of the object to check.

MappingColumnsGraph.drawGraphCanvas(graphDiv, visjsData, [callback]) ⇒ void#

Draws the graph canvas using Vis.js with specified options. Configures the graph's visual settings and event handlers.

Kind: static method of MappingColumnsGraph

Param

Type

Description

graphDiv

string

The ID of the div container for the graph.

visjsData

Object

Data containing nodes and edges for the graph.

[callback]

function

Optional callback function to execute after drawing.

MappingColumnsGraph.onVisjsGraphClick(node, event, options) ⇒ void#

Handles click events on the Vis.js graph. Updates the current selected node and manages relations between columns.

Kind: static method of MappingColumnsGraph

Param

Type

Default

Description

node

Object

The clicked node object.

event

Object

The click event object.

options

Object

Additional event options.

[options.ctrlKey]

boolean

false

Indicates if the Ctrl key was pressed during the click.

[options.shiftKey]

boolean

false

Indicates if the Shift key was pressed during the click.

[options.altKey]

boolean

false

Indicates if the Alt key was pressed during the click.

MappingColumnsGraph.showGraphPopupMenu(node, point, event) ⇒ void#

Displays the context menu for a graph node. Shows relevant options based on the node type (Class, Column, or Edge).

Kind: static method of MappingColumnsGraph

Param

Type

Description

node

Object

The node where the menu should appear.

point

Object

The coordinates for the popup menu.

event

Object

The event triggering the menu.

MappingColumnsGraph.outlineNode(nodeId) ⇒ void#

Outlines a selected node by increasing its border width.

Kind: static method of MappingColumnsGraph

Param

Type

Description

nodeId

string

The ID of the node to highlight.

MappingColumnsGraph.removeNodeFromGraph() ⇒ void#

Removes a node from the graph after user confirmation. Also removes its connected edges.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.removeNodeEdgeGraph() ⇒ void#

Removes an edge from the graph after user confirmation.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.addSuperClassToGraph() ⇒ void#

Adds a superclass to the graph for the selected node. Queries the ontology for superclass relationships.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.drawColumnToClassEdge() ⇒ void#

Draws an edge between a column and a class in the graph.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.showNodeInfos() ⇒ void#

Displays detailed information about the selected node.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.showSampledata() ⇒ void#

Displays sample data related to the selected column.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.showColumnDetails([node]) ⇒ void#

Shows detailed mappings for the selected column in a dialog.

Kind: static method of MappingColumnsGraph

Param

Type

Description

[node]

Object

The node for which details should be displayed. Defaults to the currently selected node.

MappingColumnsGraph.loadVisjsGraph([callback]) ⇒ void#

Loads the Vis.js graph for the current mapping source. Retrieves graph data from a JSON file and adjusts layout positioning. Clusters nodes based on data tables for better visualization.

Kind: static method of MappingColumnsGraph

Param

Type

Description

[callback]

function

Optional callback function executed after loading the graph.

MappingColumnsGraph.saveVisjsGraph([callback]) ⇒ void#

Saves the current Vis.js graph to a JSON file. Captures nodes, edges, positions, and configuration data before sending it to the backend for storage.

Kind: static method of MappingColumnsGraph

Param

Type

Description

[callback]

function

Optional callback function executed after saving the graph.

MappingColumnsGraph.addDataSourceNode() ⇒ void#

Adds data source nodes and edges to the Vis.js graph, representing data tables and their relationships. Checks for existing nodes and edges, adding new ones if necessary. Links data tables to columns based on their associations.

Kind: static method of MappingColumnsGraph

MappingColumnsGraph.getDatasourceTablesFromVisjsGraph() ⇒ Array.<string>#

Retrieves distinct data tables from the Vis.js graph nodes. Filters out undefined values and returns a list of unique data tables.

Kind: static method of MappingColumnsGraph
Returns: Array.<string> -

List of unique data table names.


MappingColumnsGraph.updateNode(node) ⇒ void#

Updates a node in the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

node

Object

The node to be updated.

MappingColumnsGraph.removeNode(node) ⇒ void#

Removes a node from the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

node

Object

The node to be removed.

MappingColumnsGraph.addNode(node) ⇒ void#

Adds a new node to the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

node

Object

The node to be added.

MappingColumnsGraph.updateEdge(edge) ⇒ void#

Updates an edge in the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

edge

Object

The edge to be updated.

MappingColumnsGraph.removeEdge(edge) ⇒ void#

Removes an edge from the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

edge

Object

The edge to be removed.

MappingColumnsGraph.addEdge(edge) ⇒ void#

Adds a new edge to the Vis.js graph and saves the updated graph.

Kind: static method of MappingColumnsGraph

Param

Type

Description

edge

Object

The edge to be added.

MappingColumnsGraph.saveVisjsGraphWithConfig(callback) ⇒ void#

Saves the Vis.js graph with the current configuration.

Kind: static method of MappingColumnsGraph

Param

Type

Description

callback

function

Optional callback to execute after saving.

MappingColumnsGraph.clearGraph() ⇒ void#

Clears the current graph, resets offsets, and reinitializes the graph canvas.

Kind: static method of MappingColumnsGraph

MappingModeler#

MappingModeler module. The MappingModeler tool helps creating new mappings from sources, and visualising and editing these mappings.

See:

[Tutorial: Overview]{@tutorial overview}

MappingModeler.self.jstreeDivId : string#

ID of the tree container.

Kind: static property of MappingModeler

MappingModeler.self.legendGraphDivId : string#

ID of the legend container.

Kind: static property of MappingModeler

MappingModeler.self.legendItemsArray : Array.<{label: string, color: string, shape: string, size: number}>#

Array defining the legend items for the graph. Each item includes label, color, shape, and size properties.

Kind: static property of MappingModeler

MappingModeler.onLoaded() ⇒ void#

Initializes the MappingModeler module.

This method performs the following steps in sequence:

  1. Sets up the current source and initializes the UI menu bar.
  2. Loads the source configuration using DataSourceManager.
  3. Loads the HTML structure for the graph container.
  4. Initializes an empty VisJS graph canvas.
  5. Loads the VisJS mapping graph with data.
  6. Loads and sets up the lateral panel with tabs and the data source tree.

Kind: static method of MappingModeler
Throws:

  • Error

    If any step in the initialization sequence fails.

MappingModeler.loadSuggestionSelectJstree(objects, parentName)#

Loads and initializes a suggestion tree in the specified container.

Kind: static method of MappingModeler

Param

Type

Description

objects

Array.<Object>

The objects to populate the tree with.

parentName

string

The name of the parent node.

MappingModeler.initActiveLegend(divId)#

Initializes the active legend for a given container.

Kind: static method of MappingModeler

Param

Type

Description

divId

string

The ID of the container where the legend will be displayed.

MappingModeler.hideForbiddenResources(resourceType)#

Hides specific resources in the legend based on the resource type.

Kind: static method of MappingModeler

Param

Type

Description

resourceType

string

The type of resource to hide.

MappingModeler.onSuggestionsSelect(event, obj)#

Handles the selection of a suggestion from the tree.

Kind: static method of MappingModeler

Param

Type

Description

event

Object

The selection event object.

obj

Object

The selected tree node object.

MappingModeler.onLegendNodeClick(node, event)#

Performs actions such as:

  • Creating a specific URI resource.
  • Loading suggestions for columns, classes, or properties.
  • Managing virtual columns or row indices.

Kind: static method of MappingModeler

Param

Type

Description

node

Object

The legend node clicked, containing its ID and properties.

event

Object

The click event triggering the action.

MappingModeler.showLegendGraphPopupMenu()#

Displays the legend graph popup menu (TO DO).

Kind: static method of MappingModeler

MappingModeler.get AllClasses(source, callback)#

  • If the classes are already cached in self.allClasses, returns the cached list.
  • Otherwise, fetches all classes using CommonBotFunctions.listSourceAllClasses.
  • Filters out duplicate class IDs and formats labels with source prefixes.
  • The resulting class list is sorted alphabetically by label.
  • Calls the callback with the formatted list or an error if the API call fails.

Kind: static method of MappingModeler

Param

Type

Description

source

string

The source to retrieve classes from. Defaults to self.currentSource if not provided.

callback

function

Callback function to handle the result. Receives two arguments: error and result.

MappingModeler.getAllProperties(source, callback)#

  • If the properties are already cached in self.allProperties, returns the cached list.
  • Otherwise, fetches all object properties using CommonBotFunctions.listSourceAllObjectProperties.
  • Filters out duplicate property IDs and prepares labels for each property.
  • Sorts the resulting property list alphabetically by label.
  • Calls the callback with the formatted list or an error if the API call fails.

Kind: static method of MappingModeler

Param

Type

Description

source

string

The source to retrieve properties from. Defaults to self.currentSource if not provided.

callback

function

Callback function to handle the result. Receives two arguments: error and result.

Example

self.getAllProperties("mySource", function(err, properties) {
    if (err) {
        console.error(err);
    } else {
        console.log(properties);
    }
});

MappingModeler.hideLegendItems(hiddenNodes)#

  • Retrieves all legend node IDs from Axiom_activeLegend.data.nodes.
  • Iterates through each node ID, marking them as hidden if they are not in the hiddenNodes list.
  • Updates the visibility of legend items using self.updateNode.

Kind: static method of MappingModeler

Param

Type

Description

hiddenNodes

Array

Array of node IDs to keep visible. If not provided, all legend items are hidden.

Example

self.hideLegendItems(["node1", "node2"]);

MappingModeler.initResourcesMap(source, callback)#

  • Initializes self.allResourcesMap as an empty object.
  • Resets self.allClasses and self.allProperties to null.
  • Calls self.getAllClasses to fetch all classes, adding each to the self.allResourcesMap by ID.
  • Calls self.getAllProperties to fetch all properties, adding each to the self.allResourcesMap by ID.
  • If a callback is provided, it is invoked after all resources are processed.

Kind: static method of MappingModeler

Param

Type

Description

source

string

The data source from which resources are fetched.

callback

function

Callback function invoked after resources are initialized. Receives two arguments: error and result.

Example

self.initResourcesMap("mySource", function(err, result) {
    if (err) {
        console.error(err);
    } else {
        console.log("Resources initialized:", self.allResourcesMap);
    }
});

MappingModeler.clearMappings()#

  • Clears the visjsGraph object, which contains the graph visualization data.
  • Removes all content from the graph's HTML container using its ID.
  • Resets self.visjsGraph to null.
  • Reinitializes an empty graph canvas using self.drawGraphCanvas with empty nodes and edges.

Kind: static method of MappingModeler
Example

self.clearMappings();

MappingModeler.showCreateResourceBot(resourceType, filteredUris)#

  • Initializes the workflow for creating a new resource based on the resource type.
  • If the resource type is "Class", it uses the workflowNewClass workflow, otherwise, if it's "ObjectProperty", it uses the workflowNewObjectProperty workflow.
  • Updates internal data structures (allClasses, allProperties, allResourcesMap) with the newly created resource.
  • Adds the new resource to a suggestion list displayed in a jsTree widget.
  • If the resource type is invalid, it alerts the user.

Kind: static method of MappingModeler

Param

Type

Description

resourceType

string

The type of resource to create (“Class” or “ObjectProperty”).

filteredUris

Array

The URIs to filter the resource creation process.

Example

self.showCreateResourceBot("Class", filteredUris);

MappingModeler.viewSampleTriples(mappings)#

  • Constructs a payload with the current source, data source, table name, and options.
  • Sends a POST request to the server to generate sample triples based on the provided mappings.
  • Displays the generated triples in a data table using TripleFactory.showTriplesInDataTable.
  • Shows a dialog with the generated triples and allows the user to close the dialog.
  • If an error occurs during the request, an alert is shown with the error message.

Kind: static method of MappingModeler

Param

Type

Description

mappings

Object

The mappings to be applied as a filter when generating the sample triples.

Example

self.viewSampleTriples(mappings);

MappingModeler.filterSuggestionTree()#

  • Retrieves the input keyword from the filter field and converts it to lowercase.
  • Checks if the suggestion tree data exists and creates a copy of it if necessary.
  • Filters the nodes in the suggestion tree, only including leaf nodes whose text contains the keyword.
  • Updates the jstree with the filtered nodes using JstreeWidget.updateJstree.

Kind: static method of MappingModeler
Example

self.filterSuggestionTree();

MappingModeler.predicateFunctionShowDialog()#

  • Loads the HTML content from functionDialog.html into the #smallDialogDiv element.
  • Opens the dialog to display the loaded content.

Kind: static method of MappingModeler
Example

self.predicateFunctionShowDialog();

MappingModeler.addPredicateFunction()#

  • Creates an edge with a label "function" and a diamond-shaped arrow pointing to the target node.
  • The edge's data contains the function body retrieved from the #MappingModeler_fnBody input field.
  • Adds the edge to the graph and then closes the dialog displaying the function input.

Kind: static method of MappingModeler
Example

self.addPredicateFunction();

MappingModeler.loadSource(callback)#

  • Uses Lineage_sources.loadSources to load the current source specified in MainController.currentSource.
  • On success, hides the graph edition buttons and calls the provided callback function.
  • If an error occurs during the loading process, an alert is displayed with the error message.

Kind: static method of MappingModeler

Param

Type

Description

callback

function

The function to be executed once the source is loaded successfully.

Example

self.loadSource(function() {
  console.log("Source loaded successfully");
});

MappingModeler.showSampleData(node, columns, callback)#

  • Checks if columns are specified and prepares the table accordingly.
  • Fetches and displays sample data from either a database or CSV source.
  • For a database source, it fetches the first 200 rows based on a predefined SQL query.
  • Displays the data in a table with the specified columns.
  • Alerts the user if the CSV source is not yet implemented.

Kind: static method of MappingModeler

Param

Type

Description

node

Object

The selected node from which to fetch data.

columns

Array | string

The specific columns to display, can be an array or a single column name.

callback

function

A callback function to be executed after showing the data (optional).

Example

self.showSampleData(node, ['column1', 'column2'], function() {
  console.log("Sample data displayed");
});

MappingTransform#

Module responsible for generating and managing mappings for the MappingTransform process. It interacts with the Vis.js graph to retrieve mappings and formats them as JSON for use in the application. It also provides functionality for generating SLS mappings and R2ML mappings (coming soon).

See:

[Tutorial: Overview]{@tutorial overview}

MappingTransform.generateSLSmappings() ⇒ void#

Generates the SLS mappings from the Vis.js graph and displays them in the right panel of the UI. The mappings are formatted as JSON and placed inside a textarea for easy access and copying.

Kind: static method of MappingTransform

MappingTransform.generateR2MLmappings() ⇒ void#

Placeholder function for generating R2ML mappings. Currently displays an alert.

Kind: static method of MappingTransform

MappingTransform.getSLSmappingsFromVisjsGraph([table]) ⇒ Object#

Retrieves the SLS mappings for the current table from the Vis.js graph. Filters nodes that belong to the specified table and exclude those with type "Class" or "table".

Kind: static method of MappingTransform
Returns: Object -

The generated JSON object containing the SLS mappings for the specified table.

Param

Type

Description

[table]

string

The name of the table for which to retrieve the mappings. Defaults to the current table if not provided.

MappingTransform.nodeToKGcreatorColumnName(data) ⇒ string#

Converts a node's data to a KGcreator-compatible column name based on its URI type and data type. It generates column names based on different conditions such as blankNode, randomIdentifier, or URI. Virtual columns and URI columns have specific suffixes added to the column name

Kind: static method of MappingTransform
Returns: string -

The generated column name in KGcreator format.

Param

Type

Description

data

Object

The node’s data containing the URI type and other properties.

MappingTransform.mappingsToKGcreatorJson(columnsMap) ⇒ Array#

Transforms a columns map into KGcreator-compatible JSON format, generating mappings between columns, predicates, and objects. This function handles RDF types, labels, transformations, and other predicates for each column. It also processes connections between nodes and generates appropriate triples for each mapping

Kind: static method of MappingTransform
Returns: Array -

An array of mapping objects in KGcreator JSON format.

Param

Type

Description

columnsMap

Object

A map of nodes containing columns to be transformed.

MappingTransform.addMappingsRestrictions(allMappings) ⇒ Array#

Adds restrictions to the mappings if both subject and object are classes and are different from each other. This function checks if the subject and object in a mapping are RDF classes, and if they are, it marks the mapping as a restriction.

Kind: static method of MappingTransform
Returns: Array -

The modified array of mappings with restrictions added where applicable.

Param

Type

Description

allMappings

Array

The array of mappings to which restrictions will be added.

MappingTransform.copyKGcreatorMappings()#

Copies the KGcreator mappings from the textarea to the clipboard. It retrieves the current mappings as text from the UI and uses a common utility to copy the content to the clipboard.

Kind: static method of MappingTransform

MappingsDetails : Object#

MappingsDetails manages technical mappings (non structural mappings)

See:

[Tutorial: Overview]{@tutorial overview}

MappingsDetails.transform : object#

The transform module handles operations related to transforming columns in the mapping model. It includes functions for displaying a dialog, creating prefix transformation functions, testing the transformation, and saving the transformation.

Kind: static namespace of MappingsDetails

transform.showTansformDialog([column]) ⇒ void#

Displays a dialog for transforming the selected column. If no column is provided, it defaults to the currently selected column.

Kind: static method of transform

Param

Type

Description

[column]

string

The column to transform (optional).

transform.createPrefixTransformFn() ⇒ void#

Creates a prefix transformation function and applies it to the selected column. The user is prompted to enter a prefix, and the function is generated accordingly.

Kind: static method of transform

transform.testTransform() ⇒ void#

Tests the transformation function by applying it to a sample mapping. It checks for any errors in the transformation code and then creates triples using the mapping.

Kind: static method of transform

MappingsDetails.showDetailsDialog([divId]) ⇒ void#

Displays the details dialog for mappings. If no table is selected, an alert is shown. Otherwise, it loads the details dialog HTML and activates the right panel in the UI. It also sets up the detailed mappings tree and graph, and binds the search input to search the mappings in the tree.

Kind: static method of MappingsDetails

Param

Type

Default

Description

[divId]

string

”&quot;mainDialogDiv&quot;”

The ID of the dialog div to display the details in. Default is “mainDialogDiv”.

MappingsDetails.showDetailedMappingsTree([column], [divId], [_options]) ⇒ void#

Displays the detailed mappings tree for the current table. It populates the tree with nodes and mappings related to the selected table and columns. The tree allows search and interaction with mapping nodes.

Kind: static method of MappingsDetails

Param

Type

Default

Description

[column]

Object

Optional column data to filter the tree by.

[divId]

string

”&quot;detailedMappings_jsTreeDiv&quot;”

The ID of the div to display the tree in. Default is “detailedMappings_jsTreeDiv”.

[_options]

Object

{}

Optional configuration options for the tree, such as context menu behavior.

[_options.withoutContextMenu]

boolean

false

If true, disables the context menu.

[_options.searchPlugin]

boolean

true

Enables or disables the search plugin.

[_options.openAll]

boolean

true

If true, expands all nodes by default.

[_options.selectTreeNodeFn]

function

Callback function for when a tree node is selected.

MappingsDetails.showSpecificMappingsBot(columnId) ⇒ void#

Displays a button for configuring specific mappings for a column. The button initiates a workflow that allows the user to add various predicates (rdf:type, rdfs:subClassOf, non-object properties) to the column's data in the graph. The changes are applied and saved to the graph upon completion of the workflow.

Kind: static method of MappingsDetails

Param

Type

Description

columnId

string

The ID of the column for which the specific mappings are to be configured.

MappingsDetails.saveMappingsDetailsToVisjsGraph(columnId) ⇒ void#

Saves the mapping details to the Vis.js graph for a specific column. It updates the column's URI type, RDF type, and rdfs:label based on the user's selection, then saves the updated data to the graph and triggers any necessary transformations.

Kind: static method of MappingsDetails

Param

Type

Description

columnId

string

The ID of the column whose mapping details are to be saved.

MappingsDetails.deleteMappingInVisjsNode(treeNode) ⇒ void#

Deletes a specific mapping from the Vis.js graph node. It identifies the mapping based on the node's ID and removes the corresponding property or predicate from the node's data. After deletion, the tree is updated and the graph is re-rendered.

Kind: static method of MappingsDetails

Param

Type

Description

treeNode

Object

The tree node representing the mapping to be deleted.

MappingsDetails.onSelectTreeNode(event, obj) ⇒ void#

Handles the selection of a tree node and displays the corresponding column's technical details. If the selected node is a column node, it opens the column technical mappings dialog.

Kind: static method of MappingsDetails

Param

Type

Description

event

Object

The event object triggered by the tree node selection.

obj

Object

The selected tree node object containing node details.

MappingsDetails.drawDetailedMappingsGraph([column]) ⇒ void#

Draws a detailed mappings graph based on the column's mappings. It visualizes the mappings in a graph format, with nodes representing the columns and edges representing the relationships between them. Optionally filters the graph to a specific column if provided.

Kind: static method of MappingsDetails

Param

Type

Description

[column]

string

The column to filter the mappings by (optional).

MappingsDetails.onDetailedMappingsGraphClick(obj, event, options) ⇒ void#

Handles the click event on the detailed mappings graph. Currently, it serves as a placeholder function for handling interactions with the graph.

Kind: static method of MappingsDetails

Param

Type

Description

obj

Object

The clicked object details from the graph.

event

Object

The event object triggered by the click.

options

Object

Additional options for handling the click event.

MappingsDetails.getColumnType(nodeId) ⇒ string | null#

Retrieves the RDF type of a column based on its connected edges in the graph. Searches through the edges to find the rdf:type and returns the type if it's a valid URI.

Kind: static method of MappingsDetails
Returns: string | null -

  • The RDF type of the column if found, otherwise null.

Param

Type

Description

nodeId

string

The ID of the node whose type is to be retrieved.

TripleFactory#

The TripleFactory module handles the creation, filtering, and writing of RDF triples. It includes functions for generating sample triples, creating all mappings triples, and indexing the graph.

See:

[Tutorial: Overview]{@tutorial overview}

TripleFactory.showTripleSample()#

Displays a dialog with sample triples for the current table. It checks if the current table is valid before proceeding to show the sample triples.

Kind: static method of TripleFactory

TripleFactory.writeTriples()#

Writes the RDF triples for the current table after filtering them based on the user-defined criteria. It checks if the current table is valid before proceeding to write the triples.

Kind: static method of TripleFactory

TripleFactory.createAllMappingsTriples()#

Creates all RDF mappings triples using the KGcreator_run module.

Kind: static method of TripleFactory

TripleFactory.indexGraph()#

Indexes the RDF graph using the KGcreator_run module.

Kind: static method of TripleFactory

TripleFactory.showFilterMappingDialog(isSample)#

Displays a dialog for filtering mappings, allowing the user to choose between sample and actual triples. The dialog is populated with a tree view of detailed mappings that can be filtered by the user.

Kind: static method of TripleFactory

Param

Type

Description

isSample

boolean

If true, the dialog is for displaying sample mappings; if false, for writing actual triples.

TripleFactory.runSlsFilteredMappings()#

Runs the filtered mappings for the SLS (Semantic Linked Set) based on the selected nodes in the tree view. It filters and creates unique mappings by checking the selected attributes and mapping nodes.

Kind: static method of TripleFactory

TripleFactory.checkCurrentTable() ⇒ boolean#

Checks if the current table is valid and if its mappings details are loaded. Prompts the user to select a table or load the mappings details if they are not available.

Kind: static method of TripleFactory
Returns: boolean -

  • Returns true if the current table is valid and its mappings details are loaded, otherwise false.

TripleFactory.deleteTriples(all, [callback])#

Deletes triples created by KGCreator from the datasource. Confirms with the user before deleting triples, and sends a DELETE request to the API.

Kind: static method of TripleFactory

Param

Type

Description

all

boolean

Indicates whether to delete all triples or just for the current table.

[callback]

function

A callback function to be executed after the deletion process.

TripleFactory.createTriples(sampleData, table, [options], callback)#

Creates triples for a given table using the selected mappings. Confirms with the user before creating triples, and sends a POST request to the API.

Kind: static method of TripleFactory

Param

Type

Default

Description

sampleData

boolean

Indicates whether to create sample data triples or full triples.

table

string

The table for which to create triples.

[options]

Object

Options for creating triples, such as sample size and filter options.

[options.deleteOldGraph]

boolean

false

If true, deletes the existing graph before creating new triples.

[options.sampleSize]

number

500

The number of sample triples to create if sampleData is true.

[options.clientSocketId]

string

The client socket ID for real-time updates.

[options.mappingsFilter]

Object

Filters for selecting specific mappings.

[options.filteredMappings]

Object

Alternative mapping filter.

[options.deleteTriples]

boolean

false

If true, deletes existing triples before creation.

callback

function

A callback function to be executed after the triples creation process.

TripleFactory.createAllMappingsTriples()#

Generates KGcreator triples for the entire datasource, deleting any previous triples before creating new ones. It proceeds with a series of steps: deleting old triples, creating new triples, and reindexing the graph.

Kind: static method of TripleFactory

TripleFactory.showTriplesInDataTable(data, div)#

Displays the triples data in a table format within the specified div element. The table includes columns for subject, predicate, and object, and the data is escaped to prevent HTML injection.

Kind: static method of TripleFactory

Param

Type

Description

data

Array

The triples data to display, each item should contain ‘s’, ‘p’, and ‘o’ properties.

div

string

The ID of the div element where the table should be displayed.

UIcontroller#

UIcontroller module manages the display of panels in the mapping modeler interface, handling tab activation and panel visibility for data sources, column mappings, technical mappings, and triples.

See:

[Tutorial: Overview]{@tutorial overview}

UIcontroller.onActivateLeftPanelTab(tabId)#

Handles the activation of left panel tabs in the UI based on the provided tab ID. It shows or hides the corresponding panels based on the selected tab.

Kind: static method of UIcontroller

Param

Type

Description

tabId

string

The ID of the tab to activate.

UIcontroller.switchLeftPanel(target)#

Switches the active left panel tab to the target tab. It also performs necessary UI updates based on the target tab, such as loading columns or technical mappings.

Kind: static method of UIcontroller

Param

Type

Description

target

string

The name of the target tab to activate.

UIcontroller.activateRightPanel(PanelLabel)#

Activates the specified right panel based on the provided panel label. It controls the visibility of different right panels like "Data Sources", "Column Mappings", and "Technical Mappings".

Kind: static method of UIcontroller

Param

Type

Description

PanelLabel

string

The label of the right panel to activate.

SPARQL_endpoint#

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Kind: global variable

Axioms_manager : Object#

one graph for each axiom , uri=[Source graphUri]/  »concepts »/[classUri.lastpart]/[axiomType]/[id]/

Kind: global variable

Lineage_common#

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Kind: global variable

Lineage_properties#

The MIT License Copyright 2020 Claude Fauconnet / SousLesens Claude.fauconnet@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Kind: global variable

Lineage_graphTraversal : object#

Module for managing the shortest path search between nodes in the Lineage graph.

Kind: global namespace

Lineage_graphTraversal.getShortestpathUris(source, fromNodeId, toNodeId, options, callback)#

Retrieves the shortest path between two nodes from the server.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

fromNodeId

string

The URI of the starting node.

toNodeId

string

The URI of the target node.

options

Object

Options for path calculation.

options.numberOfPathes

number

Number of paths to retrieve.

callback

function

Callback function receiving the result or an error.

Lineage_graphTraversal.getShortestPathObjects(source, fromNodeId, toNodeId, options, callback)#

Retrieves and structures the shortest path relationships into usable objects.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

fromNodeId

string

The URI of the starting node.

toNodeId

string

The URI of the target node.

options

Object

Options for path calculation.

callback

function

Callback function receiving the relationships or an error.

Lineage_graphTraversal.showShortestPathDialog()#

Displays the dialog box for searching the shortest path.

Kind: static method of Lineage_graphTraversal

Lineage_graphTraversal.initVisjsPathMode()#

Enables link addition mode in Vis.js for path selection.

Kind: static method of Lineage_graphTraversal

Lineage_graphTraversal.showPathNodesList(source, path)#

Displays the list of nodes in the selected path.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

path

Array

List of nodes in the path.

Lineage_graphTraversal.onSearchKeyDown(event)#

Handles concept search in the interface via keyboard input.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

event

Event

The keyboard event.

Lineage_graphTraversal.searchConcept(term, exactMatch)#

Searches for a concept in the available sources.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

term

string

The search term.

exactMatch

boolean

Whether the search should be an exact match.

Lineage_graphTraversal.contextMenufn() ⇒ Object#

Defines the context menu for selecting start and end nodes.

Kind: static method of Lineage_graphTraversal
Returns: Object -

  • Object containing the context menu items.

Lineage_graphTraversal.selectTreeNodeFn(event, obj)#

Selects a node in the search tree.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

event

Event

The selection event.

obj

Object

The object representing the selected node.

Lineage_graphTraversal.listShortestPath(source, fromUri, toUri)#

Lists the relationships in the shortest path found.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

fromUri

string

The URI of the starting node.

toUri

string

The URI of the target node.

Lineage_graphTraversal.drawPathesOnWhiteboard(relations)#

Draws the relationships of the selected path on the Vis.js whiteboard.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

relations

Array

List of relationships to display.

Lineage_graphTraversal.drawAllShortestPathes(source, fromUri, toUri, numberOfPathes)#

Retrieves and displays all shortest paths between two nodes.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

fromUri

string

The URI of the starting node.

toUri

string

The URI of the target node.

numberOfPathes

number

Number of paths to retrieve.

Lineage_graphTraversal.drawShortestPath(source, fromUri, toUri)#

Displays the shortest path between two nodes on the whiteboard.

Kind: static method of Lineage_graphTraversal

Param

Type

Description

source

string

The data source.

fromUri

string

The URI of the starting node.

toUri

string

The URI of the target node.

Lineage_graphTraversal.clearPathList()#

Clears the list of displayed paths in the user interface.

Kind: static method of Lineage_graphTraversal

Lineage_graphTraversal.clearNodes()#

Resets the selected start and end nodes.

Kind: static method of Lineage_graphTraversal