3 ms·
Not an expert on OWL but I heard owl:sameAs is supposed to be a strong equivalence assertion (commutative) and perhaps not necessarily the tool you want to use
by emmanueloga_ 6y ago
Not an expert on OWL but I heard owl:sameAs is supposed to be a strong equivalence assertion (commutative) and perhaps not necessarily the tool you want to use for integration
To be able to say that two subgraphs describe the same thing, at some point, a mapping is needed between the different sub graphs (for users could be, say, a common schema:email statement). A good practice is to use some existing ontology when modeling (say, FOAF or schema.org), this can fix the problem of having to map fields since both sources would already be using the same conventions.
I think what's normally done is some sort of normalization pass or passes after ingesting the triples, so at the end of the process your app can always use your preferred property (say vcard:fn) or just ignore the subgraph in the worst case. There are a number of tools to perform this kind of normalization.. I know of SPARQL construct queries but I've seen others out there (rml.io).
- Vinnl 6y agoRight, but is that feasible in practice? Do people actually successfully do that, on a large scale? Or does it run into: - Having to create your own mapping for every piece of data of every divergent data source, with a not-insignificant amount of work involved? - Those mappings inevitably containing mistakes/different interpretations that result in invalid data? - Some of the data not being amenable to lossless mapping in the first place? In other words: is "RDF provides a solution for that" not overselling it a bit?
- emmanueloga_ 6y agoIf you are asking if RDF provides a silver bullet to integrate data sources, the answer is no, everything requires effort. But I think the integration story is way better than when integrating other data models, say, relational databases. The other aspect is that URLs being the ids for statements, I can peek at the implementation of a 3rd party data model and use that _in advance_, instead of integrating later. For instance, when I write my blog I can use the URLs of existing wikidata entities to model my own entities. If wikipedia entities used a relational model, the IDs of these entities would be opaque and could change at any time, so I wouldn't be able to do that.
- Vinnl 6y agoThose are very good points, thanks for the clarification.