Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1 complete documentation #36

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
- [Prefixes](/guide/prefixes.md)
- [Mappings and Sources](/guide/mappings.md)
- [Mapping Interface](/guide/mapping-interface.md)
- [Generating mappings](/guide/generating-mappings.md)
- [Generating Mappings](/guide/generating-mappings.md)
- [Development](/#Development-🛠)
18 changes: 18 additions & 0 deletions docs/guide/generating-mappings.md
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
# Generating Mappings

After populating the mapping canvas by mapping all the desired data, you can now generate mappings after you saved your changes.

![A Complete Mapping](imgs/mapping-complete.png)

To save your mapping, press the orange **Save** button near the interface's top right corner. After the button turns green, you can generate mappings by pressing the **Map** button on its right. Given that no faulty URI's, wrong references, or invalid connections are detected; the mapping results will appear in an interactive window.

![The Results Window](imgs/generated-mapping.png)

RDFCraft outputs completed mappings in three different formats. To switch between them, press **YARRRML**, **RML**, and **TTL** buttons. The details of these formats are as follows:

- **YARRRML**: Text-based declarative Linked Data generation rules, formatted to be human-readable. It is a readable representation of your mapping's structure. You can find out more [here](https://rml.io/yarrrml/spec/).
- **RML**: Stands for RDF Mapping Language. It is a generic mapping language designed to express serializations to the RDF data model. RDFCraft uses the RML format to map source data to TTL knowledge graphs. You can find out more [here](https://rml.io/specs/rml/).
- **TTL**: Stands for Turtle. It is a knowledge graph format where triples are written in a compact textual form. Human-readable and allows investigating how each data point relates to others in detail. The final knowledge graph output from RDFCraft. You can find out more [here](https://www.w3.org/TR/turtle/#language-features).

To utilize the results elsewhere, you can directly copy the lines from each output tab and paste them on the desired document. You can close the mapping results window by pressing either the **X** button on top right or the **Close** button on the bottom left.

[Previous: Mapping Interface](/guide/mapping-interface.md)
Binary file added docs/guide/imgs/generated-mapping.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/guide/imgs/mapping-complete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 25 additions & 24 deletions docs/guide/mapping-interface.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,38 @@
# Mapping Interface

Now that you have created a workspace, imported the ontologies you need, and
Now that you have created a workspace, imported the ontologies you need,
added prefixes you will use, and created a mapping, you can start mapping your
data. Simply click on the **Open** button on the mapping you want to work on.

![Empty Mapping](imgs/empty-mapping.png)

You will see a screen like the one above. This is the mapping interface.
You will see the above screen. This is the mapping interface.

- The red box is the **Tabs** section. You can switch between different tabs
using this section. The tabs are:

- **Entity Properties**: This tab shows the properties of selected entity. Via
this tab, you can add classes, properties to entity. Change its label and
define its URI Pattern.
- **AI**: This tab shows the AI recommendations for the mapping. You can
accept or reject the recommendations. (Work in progress)
- **Search**: This tab allows you to search the entities in you mapping.
- **Problems**: This tab shows the problems in your mapping. You can click on
using this section. From top to bottom, the tabs are:

- **Entity Properties**: Shows the properties of selected entity. You can add classes, properties to entity.
Change its label and define its URI Pattern.
- **AI**: Shows the AI recommendations for the mapping. You can
accept or reject the recommendations. (WIP)
- **Search**: Allows you to search the entities in you mapping.
- **Problems**: Shows the problems in your mapping. You can click on
the problem to see the details.
- **References**: This tab shows the references (column names/keys) in your
- **References**: Shows the references (column names/keys) in your
source file.

- The green box is Side Panel. This panel is collapsible and its width can be
adjusted. It shows the tab selected in the red box.
adjusted. It projects the selected tab from the red box.

- In the middle where it says **Mapping Canvas**, is where you will do the
- In the middle where it says **Mapping Canvas**, is where you will do your
actual mapping. You can **Right Click** on the canvas to add a new node,
literal or URI Reference.

- The blue box is the **Mapping Toolbar**. This toolbar contains the buttons:
- The blue box is the **Mapping Toolbar**. From top to bottom, the buttons are:

- **Zoom In**
- **Zoom Out**
- **Fit to Screen**: It fits the mapping canvas to the screen.
- **Fit to Screen**: Adjusts mapping canvas to the screen dimensions.
- **Lock/Unlock**: It disables/enables the ability drag and drop entities on
the canvas.
- **Delete**: It deletes the selected entity.
Expand All @@ -55,14 +54,13 @@ You will see a screen like the one above. This is the mapping interface.
## Creating Nodes

To create a node, right click on the canvas and select **Create Node**. It will
create a new Node in the canvas.
place a Node on the canvas.

![Create Node](imgs/create-node.png)

![Mapping-1](imgs/mapping-01.png)

After you create a node, you can click on the node to see the properties of the
node on the **Node Properties** panel.
After its creation, you can click on the node to see its properties on the **Node Properties** panel.

![Node Properties For Entities](imgs/node-properties.png)

Expand All @@ -88,7 +86,7 @@ node on the **Node Properties** panel.

- **URI Pattern**: The URI pattern of the node. URI patterns are used to
generate unique URIs for unique entities. This field supports auto complete
and you can access it using `Ctrl + Space` (or `Cmd + Space` on Mac).
and you can access it by pressing `Ctrl + Space` (or `Cmd + Space` on Mac).

You can use the prefixes you have added in the workspace in the URI pattern.
You can use references (column names/keys) in the source file in the URI with
Expand All @@ -105,8 +103,8 @@ node on the **Node Properties** panel.

![Mapping-5](imgs/mapping-05.png)

After you have added the classes, properties, and URI pattern, you should have a
node like this:
After you have added the classes, properties, and URI pattern, your node should
resemble the following:

![Mapping-6](imgs/mapping-06.png)

Expand All @@ -127,8 +125,11 @@ You can again click on the newly created node to see and edit its properties.

![Mapping-9](imgs/mapping-09.png)

You can continue creating nodes and connections until you have mapped all your
You can continue creating nodes and connections until you have mapped all desired
data.

You can check which references you have used in the mapping by clicking on the
**References** tab. (Work in progress)
**References** tab. (WIP)

[Previous: Mappings](/guide/mappings.md) |
[Next: Generating Mappings](/guide/generating-mappings.md)
19 changes: 9 additions & 10 deletions docs/guide/mappings.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
# Mappings and Sources

RDFCraft only supports one source per mapping. This means that you can only use
one source file per mapping. However, you can create multiple mappings.
RDFCraft only supports a single source file per mapping. However, you can create multiple mappings in a designated workspace and draw connections between manually.

> [!Note]
>
> We are well aware that this is an arbitrary limitation that we enforced. The
> reasons why we did this are:
> We have enforced this is an arbitrary limitation for the
> following reasons:
>
> - We wanted to keep the mapping interface simple and easy to use.
> - We wanted to keep the mapping process as simple as possible.
> - Lastly, in our use cases, we observed that many RML engines struggles/takes
> - In our use cases, we observed that many RML engines struggles/takes
> a long time to process multiple sources. Usually it is much faster to create
> the connection manually.

## Creating a mapping

To create a mapping, after you open your workspace, click on the **Create New
Mapping** button on the right top corner of the screen. You will be prompted to
After you open your workspace, click on the **Create New Mapping** button
on the right top corner of the screen to create a mapping. You will be prompted to
enter the details of the mapping.

![Empty Workspace](imgs/empty-workspace.png)
Expand All @@ -33,7 +32,7 @@ enter the details of the mapping.
required for CSV files. You can use the
[JSON Path Tester](https://jsonpath.com/) to test your JSON Path. Also at the
end of this page, you can find examples of JSON Path.
- **File**: The file path of the source file.
- **File**: The path of the source. You can browse your computer for the appropriate file.

After you enter the details, click on the **Create** button to create the
mapping.
Expand All @@ -48,7 +47,7 @@ If the array you would like to map is at the root of the JSON file, you can use
$.
```

bn the JSON Path field.
on the JSON Path field.

If the array you would like to map is nested inside an object, like the
following JSON:
Expand Down Expand Up @@ -77,4 +76,4 @@ $.people[*]
This JSON Path will lead to the array of objects in the JSON file.

[Previous: Ontologies](/guide/prefixes.md) |
[Next: Mapping Interface](/guide/mapping-interface.md) []: # (end)
[Next: Mapping Interface](/guide/mapping-interface.md)
8 changes: 4 additions & 4 deletions docs/guide/ontologies.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Ontologies

RDFCraft is capable of indexing and using ontologies to provide a better user
RDFCraft is capable of indexing and using multiple ontologies to provide a better user
experience. It indexes all the classes and properties from the provided ontology
and provides recommendations while mapping.

You can totally map your data without using any ontology, but using an ontology
You can map your entire data without using any ontology, but using an ontology
will make the mapping process easier and more accurate.

## Adding an ontology

To add an ontology, after you open your workspace, click on the **Ontologies**
tab on the right top corner of the screen. You will see a list of all the
tab on the top right corner of the screen. You will see a list of all the
ontologies that is imported in the workspace.

![Empty Workspace](imgs/empty-workspace.png)
Expand All @@ -34,7 +34,7 @@ used for display/metadata purposes.
![Ontology Added](imgs/added-ontology.png)

After you add the ontology, you can see all the classes, properties, and
individuals indexed from the ontology by clicking **Details**.
individuals indexed from it by clicking **Details**.

![FOAF Details](imgs/foaf-detail.png)

Expand Down
10 changes: 5 additions & 5 deletions docs/guide/prefixes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@ easier and more readable.

## Adding a prefix

To add a prefix, after you open your workspace, click on the **Prefixes** tab on
the right top corner of the screen. You will see a list of all the prefixes that
After you open your workspace, click on the **Prefixes** tab on
the right top corner of the screen to add a prefix. You will see a list of all the prefixes that
is created in the workspace.

![Empty Workspace](imgs/empty-workspace.png)

Click on the **Add Prefix** button to add a new prefix. You will be prompted to
enter the details of the prefix.
Click on the **Add Prefix** button. You will be prompted to enter the
details of the prefix.

![Empty Prefixes](imgs/empty-prefix.png)

![Add Prefix](imgs/create-prefix.png)

**Prefix**: The prefix that you want to use in the mapping process. It should be
a alphanumeric string.
an alphanumeric string.

**URI**: The URI that the prefix will be mapped to. It should be a valid URI.

Expand Down
3 changes: 1 addition & 2 deletions docs/guide/workspaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ After that, you will need to fill in the details for your workspace.

> [!Warning]
>
> For now, select **Local** as the workspace type. Remote workspaces are not yet
> supported.
> For now, select **Local** as the workspace type. Remote workspaces are WIP.

After you have filled in the details, click on the **Create** button. Your new
workspace will be created and you can click **Open** to start working on it.
Expand Down