0

WHAT: I have an ontology and a dataset in CSV format. I want to store this data (in triple format) in virtuoso triple store, so that I can use it in my application. It might be the case that I need to reason over the stored data.

APPROACH:

  • Read csv file and convert this into triple format with jena API
  • Use SPARQL update to push this data into the virtuoso triple store. Update queries made should be done using the vocabulary of ontology already created.

QUESTIONS: With respect to the above approach, I have following questions

    1. Do I need to store my ontology in virtuoso server also? If yes, should I store the ontology in virtuoso first and then populate it with data (triples).
    1. If I do not need to store the ontology in virtuoso then how can I reason over the stored data (triples)?
    1. Do I need to store both ontology and data separately in virtuoso?

I have asked related question before this found at link, but at that time I populated my ontology with data. I did not use any triple store as the data was too small.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Haroon Lone
  • 2,837
  • 5
  • 29
  • 65
  • answer below aside, this is not a programming question, which is the focus of Stack Overflow. RDF/Linked Data questions have a strong audience [here](http://answers.semanticweb.com/), and Virtuoso has a [Users mailing list](https://lists.sourceforge.net/lists/listinfo/virtuoso-users) and a dedicated [Support forum](http://boards.openlinksw.com/support/index.php). There doesn't appear to be anything about Jena nor SPARQL in your question... – TallTed Aug 21 '15 at 03:58

1 Answers1

0

I think you're making life harder than it needs to be.

  1. Tell Virtuoso to link the CSV file in as a remote table.
  2. Tell Virtuoso to expose RDF Views of the linked CSV table.

But you can continue as you had planned...

I would recommend that you load the Ontology into one named graph, and load the instance data into a distinct named graph. It doesn't matter what order you load these into Virtuoso -- RDF isn't like SQL, where you have to define a table or group of tables, and then populate it/them.

TallTed
  • 9,069
  • 2
  • 22
  • 37