The Data View: Editing Edoal alignments
Intro
The data view page for the Edoal projects differs a lot from the others. Instead of the "classic" two-sections page structure, with the data structure on the left and the resource view on the right, here the page adopts a three-columns subdivision: in the left and right columns there are the data structures of the two datasets involved in the Edoal project, at the center there is a panel that allows the management of the alignments.
The side panels contain the tree/list structures essential to the alignment. In the specific case shown in the figure above, where the two aligned datasets are both SKOS thesauri, the panels contain the skos:Concept tree and the skos:ConceptScheme list (needed in order to eventually restrict the view of the concept tree to different schemes).
Alignment creation
The central column has two panels: the lower one, which takes up most of the column, allows to manage existing alignments, while the upper one is used to define new ones. When the user selects a resource in one of the side panels, the same is shown in the New alignment panel. It is then possible to select one of the relations available and set a measure between 0 and 1 (the higher it is, the more trustworthy the relation). Clicking the Create button will add the new alignment to the Alignments list below.
The relations available for alignments are those defined by INRIA's Alignment API:
- =: the left and right resources are equivalent or very similar. The mapping properties for this relation depend on the type of resources involved in the alignment, for example skos:exactMatch or skos:closeMatch for concepts and owl:sameAs for properties, classes, or individuals, etc.
- >: the left resource subsumes the right resource. An example of a semantic relation property would be skos:narrowMatch.
- <: the left resource is subsumed by the right resource. An example of a semantic relation property would be skos:broadMatch.
- %: the two resources are considered incompatible. Examples of equivalent properties would be owl:disjointWith or owl:differentFrom.
- HasInstance: relation between a class and an individual, like in an OWL ontology.
- InstanceOf: relation between an individual and a class, like in an OWL ontology.
Alignments management
The Alignments panel located in the central column lists the available mappings. This panel contains a table with five columns:
- Left entity: the resource of the left dataset involved in the alignment. If double clicked, it opens a dialog with the ResourceView of the resource.
- Right entity: the resource of the right dataset involved in the alignment. If double clicked, it opens a dialog with the ResourceView of the resource.
- Relation: shows the relation between the two entities. If clicked it allows to select another relation.
- Mapping prop: allows the selection of an alignment property.
- Measure: shows the confidence measure assigned to the alignment. If clicked it allows to edit the value.
There are three action buttons on the right side of the panel header. The first one, two arrowheads, is enabled only when an alignment is selected in the table. It allows to highlight the two entities of the alignment in the side panels. The button with the minus icon simply removes the selected alignment. Finally, the last button refreshes the list of alignments.
When selecting a mapping property (using the selector under Mapping prop column) the system suggests one or more properties suitable for the type of resources involved in the alignment and the type of relation. The following table defines the possible combinations.
Relation ▶ | = | > | < | % | InstanceOf | HasInstance |
---|---|---|---|---|---|---|
▼ Entity Role | ||||||
Property | owl:equivalentProperty ; owl:sameAs |
rdfs:subPropertyOf |
owl:propertyDisjointWith |
rdf:Type |
||
Concept | skos:exactMatch ; skos:closeMatch |
skos:narrowMatch |
skos:broadMatch |
skos:broadMatch ; rdf:type |
skos:narrowMatch |
|
Class | owl:equivalentClass ; owl:sameAs |
rdfs:subClassOf |
owl:disjointWith |
rdf:type |
||
Individual | owl:sameAs |
owl:differentFrom |
rdf:type |
So, as shown in the example below, the properties suggested for an alignment between two concepts and a =
relation are skos:exactMatch
and skos:closeMatch
. Note: Given that aligning two resources of different types would not make sense, only the type of the left entity role is taken into account.
Additionally, as shown in the sample above, an "Other..." option is available under the Mapping prop selector. This option allows the selection of a property, different from the ones suggested by default, by picking it from the property tree.
Once a custom property has been set, the system will suggest it, in addition to the default ones, whenever choosing a mapping property for the same role-relation pair. As you can see in the following image, rdfs:seeAlso
is suggested, in addition to the default skos:exactMatch
and skos:closeMatch
, since it is already used in another alignment between concepts with =
relation.