0

I'm using Karma to map the tables of my databases to a well known ontology (the MusicOntology). Some tables refer to other through the id. I'm not sure about the way I should create URIs:

  • Using the id would lead to a situation where same entities from different databases have different URIs, because same entities in different databases would have different ids.
  • Using the name of the entities should avoid duplicates between databases, but then the map of other entities in other tables would not be able to "link" to the main entities (because the other tables would have only the id and not the name of the main entities).
Luca Di Liello
  • 1,486
  • 2
  • 17
  • 34

1 Answers1

1

Keep every entity from every database in a single URI e.g.

da1:entityX 
da2:entityY

however use the ids from the main ontology to tag them

da1:entityX ref:hasId ref:id1 .
da2:entityY ref:hasId ref:id1 .

if the ref:hasId (object) property is marked as inverse functional and you're using a reasoner it would be able to infer that da:entityX is the same as da:entityY.

Koenig Lear
  • 2,366
  • 1
  • 14
  • 29
  • 1
    HasKey would also work, and remove the restriction on hasId to be an object property. It would be possible to use the I'd as is, as a literal. – Ignazio Dec 11 '18 at 16:07