Marc,
An RDF Model can not hold quads. That is what a Dataset is for.
TriG is a dataset format, so is N-Quads.
The only design choice Jena has made is that reading TriG into a unnamed
graph is that it takes the default graph from the dataset. Implicitly
merging data is a bad idea. If you expected the reading to merge all
the graph in the data into one graph, then you can add that step with an
appropriately-written StreamRDF.
Your data is in a dataset format which is why it isn't mentioned in the
table you reference. Your TriG represents a dataset with two graphs - it
has one named graph and, because a dataset always has a default graph,
even if empty, it has an default graph.
Andy
On 24/11/2019 00:40, Marc Agate wrote:
Thanks Andy for your very informative email. We are using trig precisely
because we are dealing with quads (i.e named graphs).
As I said earlier, I am going to use DatasetGraph for now, as suggested by Martynas,
but I think that something should be done in Jena so there is a Jena reader for Trig
(which is lacking according to this doc :
https://jena.apache.org/documentation/io/rdf-input.html
<https://jena.apache.org/documentation/io/rdf-input.html>)
Best
Marc
Le 22 nov. 2019 à 14:00, Andy Seaborne <[email protected]> a écrit :
If you read TriG into model, it takes the default graph only.
The TriG has a named graphs in it. bdg:T1642 { ... }
Remove the name and it should work.
The Turtle does not have a name (so it is the same as Trig+default graph)
Andy
On 22/11/2019 17:22, Marc Agate wrote:
Hi Martynas !
The method you are pointing me to effectively works and I can use it to solve
the issue for now. However, the RDFDataMgr documentation says (about read
methods/operations):
read -- Read data from a location into a Model, Dataset, etc. The methods in
this class treat all types of Model in the same way. For behavior specific to a
subtype of Model, use the methods of that specific class.
Therefore, both
https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/RDFDataMgr.html#read-org.apache.jena.graph.Graph-java.io.StringReader-java.lang.String-org.apache.jena.riot.Lang-
AND
https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/RDFDataMgr.html#read-org.apache.jena.rdf.model.Model-java.io.StringReader-java.lang.String-org.apache.jena.riot.Lang-
should work.
I am wondering why they don't: Am I using them wrongly or is this just a bug ?
Best
Marc
On 2019/11/22 15:56:16, Martynas Jusevičius <[email protected]> wrote:
I think you want to read a Dataset:
https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/RDFDataMgr.html#read-org.apache.jena.query.Dataset-java.io.StringReader-java.lang.String-org.apache.jena.riot.Lang-
On Fri, 22 Nov 2019 at 16.45, Marc Agate <[email protected]> wrote:
Hi all,
I need to build Models or Graphs from strings being a trig serialization
of a rdf resource.
I tried to do using Model.read or RDFDataMgr but both produce empty models
or graphs.
When I do the same operation with Turtle serialization, it works just fine.
What do you think ?
Run the following code to see that by yourself:
https://github.com/buda-base/editserv/blob/master/src/test/java/editservio/bdrc/edit/test/RDFDataMgrCheck.java
Thx
Marc