  Information sources such as relational databases, spreadsheets, XML, JSON,
and Web APIs contain a tremendous amount of structured data that can be
leveraged to build and augment knowledge graphs. However, they rarely provide a
semantic model to describe their contents. Semantic models of data sources
represent the implicit meaning of the data by specifying the concepts and the
relationships within the data. Such models are the key ingredients to
automatically publish the data into knowledge graphs. Manually modeling the
semantics of data sources requires significant effort and expertise, and
although desirable, building these models automatically is a challenging
problem. Most of the related work focuses on semantic annotation of the data
fields (source attributes). However, constructing a semantic model that
explicitly describes the relationships between the attributes in addition to
their semantic types is critical.
  We present a novel approach that exploits the knowledge from a domain
ontology and the semantic models of previously modeled sources to automatically
learn a rich semantic model for a new source. This model represents the
semantics of the new source in terms of the concepts and relationships defined
by the domain ontology. Given some sample data from the new source, we leverage
the knowledge in the domain ontology and the known semantic models to construct
a weighted graph that represents the space of plausible semantic models for the
new source. Then, we compute the top k candidate semantic models and suggest to
the user a ranked list of the semantic models for the new source. The approach
takes into account user corrections to learn more accurate semantic models on
future data sources. Our evaluation shows that our method generates expressive
semantic models for data sources and services with minimal user input. ...
