You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HQDM has a lot of flexibility in how a data model is created, with none of the relationships being mandatory in the current code. This is not a problem in itself, but it raises the issue of how should HQDM be used and how can we check that the data model is not missing some required triple in the Jena database. Data Integration between databases will be easier if they all use HQDM in the same way.
One way is to implement a series of SPARQL data integrity checks that can be run against a database to check whether it complies with the guidelines agreed on by some interested community. For example, this SPARQL query CONSTRUCTS some triples to indicate when some required triples are missing. It checks that every participant_in an association is also a member_of_kind of at least one role (the constructed triples are only in the query results, not the database):
PREFIX hqdm: <http://www.semanticweb.org/hqdm#>
construct {
?s hqdm:error_participant_with_no_role "Should be a member_of_kind of a role.".
?sa?type.
}
where {
?s hqdm:participant_in ?association;
a?type.
?associationa hqdm:association.
OPTIONAL {
?s hqdm:member_of_kind ?kind.
?kinda hqdm:role.
}
FILTER(!bound(?kind))
}
This might need to be a separate data-integrity or data-validation module with options to run it against local or remote SPARQL endpoints or against in-memory databases as part of unit tests in core.
The text was updated successfully, but these errors were encountered:
HQDM has a lot of flexibility in how a data model is created, with none of the relationships being mandatory in the current code. This is not a problem in itself, but it raises the issue of how should HQDM be used and how can we check that the data model is not missing some required triple in the Jena database. Data Integration between databases will be easier if they all use HQDM in the same way.
One way is to implement a series of SPARQL data integrity checks that can be run against a database to check whether it complies with the guidelines agreed on by some interested community. For example, this SPARQL query
CONSTRUCTS
some triples to indicate when some required triples are missing. It checks that everyparticipant_in
anassociation
is also amember_of_kind
of at least onerole
(the constructed triples are only in the query results, not the database):This might need to be a separate
data-integrity
ordata-validation
module with options to run it against local or remote SPARQL endpoints or against in-memory databases as part of unit tests incore
.The text was updated successfully, but these errors were encountered: