I can’t believe that it has already been six months since we first announced Gra.fo. Time flies when you are having fun! I am really excited to share with everybody some of the major features we have been up to: New Exports, Graph Schema Documentation, Multi-select and Import Mapping.
New Exports
It was clear to us from the beginning that Gra.fo was in the position to support both RDF Graph and Property Graph communities. We started out by exporting the schemas as OWL ontologies in Turtle and RDF/XML syntaxes. However, we lacked support for Property Graph schemas.
Throughout the past few months, we have been thrilled to see the interest of the Property Graph community in schemas and Gra.fo. (I’m honored to be chairing the Property Graph Schema Working Group within the context of the GQL standardization effort.)
That is why we are excited to announce three new property graph schema export formats:
There is a clear need for a general purpose graph schema modeling tool. We are lucky to have this opportunity where Gra.fo can be a bridge between both graph communities.
Graph Schema Documentation
Exporting the graph schema to a PNG or SVG image sure is pretty may not be sufficient. The image does not show attributes or detailed descriptions.
An important need is to provide documentation about the graph schema in a way that can be easily consumed by humans. This type of documentation can serve as requirement documentation, project deliverable, etc.
Now you are able to view the documentation of the graph schema in a separate page. Go to File > Graph Documentation.
The documentation has its own URL of the form https://app.gra.fo/documentation/a1b2c3 You can now easily share that link with others who also have permission to view the document.
Need a PDF? Simply print and save as PDF.
Multi-select
What if you need to move multiple concepts at the same time? Before, you would need to move each one independently. That was very annoying.
Not any more! Now you can select multiple concepts at the same time and move them all at once. And it even works in real-time when you have multiple users on the document.
Simply select multiple concepts by pressing shift on your keyboard and clicking on each concept that you want to move. Additionally you can click on the canvas while pressing shift on your keyboard and then drag/drop to create a bounding box.
In addition to moving multiple concepts at once, you can also change the colors and delete them.
Import Mapping
Designing a graph schema is just the first part. You have to do something with it. Our customer’s common use case is data integration. Their need is to map complex source relational databases into the graph schema which models the business users view of the world.
One way of representing these mapping is using the W3C’s R2RML: Relational Databases to RDF Mapping Language. This standard was ratified back in 2012, together with the Direct Mapping standard (I am one of the editors).
R2RML is a declarative language that defines how RDF triples are generated from SQL tables or queries. For example, the following R2RML snippet defines that all the rows of the OMS_ORDER table will be instances of a class ec:Order and that the subject of the triples are defined by that template which uses the values from the attribute OrderId.
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix map: <http://capsenta.com/mappings#> .
@prefix ec: <http://gra.fo/e-commerce/schema/> .
map:Order a rr:TriplesMap ;
rr:logicalTable [ rr:tableName "OMS_ORDER" ] ;
rr:subjectMap [ rr:class ec:Order ;
rr:template "http://www.e-commerce.com/data/order/{OrderId}"
] .
These mappings can be created using editors, or by hand if you are an RDF geek 🙂. Capsenta offers Ultrawrap Mapper, our mapping management systems.
I’m really excited about this initial feature: import an existing R2RML mapping to a graph schema document. Go to Mapping > Manage
Once a mapping has been imported, you will see an icon on the left panel if a mapping exists for a Concept, Attribute or Relationship
If you click on the icon, you will see the mapping details. In this example, we are showing the previous R2RML snippet.
In real-world, enterprise relational databases, the mappings will consist of complex SQL queries defined in an R2RML mapping, as the following example shows:
Once you have the mappings, you have to do something with the mappings. You can use the mappings to physically convert the relational data into graphs (ETL) or virtualize the relational databases as if it were a graph database (NoETL). Capsenta also offers Ultrawrap Data Integrator where you can use mappings in an ETL or NoETL mode, or even a hybrid.
So what’s next?
There are a lot more exciting features coming soon.
- Gra.fo/Mapper: Importing a mapping is just the beginning. We want you to be able to create your mappings all from within Gra.fo.
- API: We want to empower users to create their own apps that interact with Gra.fo. Everything that you can do through the frontend, you will also be able to accomplish through an API.
- Gra.fo Documentation: We have a phenomenal UI/UX team who strive to make Gra.fo very intuitive. Nevertheless, we acknowledge the necessity of having documentation.
We truly appreciate all the feedback that we have been getting from our users. Please keep it coming!
One Reply to “Gra.fo, six months later! What have we been up to?”