2 votes

Comment fusionner deux ou plusieurs modèles dans RDF4J (anciennement Sesame) ?

Dans Apache Jena, il existe un moyen d'ajouter un modèle à un autre en appelant simplement model1.add(model2) par exemple.

Cela est-il également possible avec RDF4J dans le cas où vous interprétez un modèle comme un ensemble de déclarations ?

1voto

Jeen Broekstra Points 5856

Dans Eclipse RDF4J, un Modèle est une collection Java (similaire à une Set ou un List ). Vous pouvez donc utiliser les opérations de collecte standard de Java. Pour ajouter deux modèles, il suffit de faire :

model1.addAll(model2);

Notez que cette opération ne fait qu'ajouter des déclarations. Si model2 contient des déclarations d'espaces de noms que vous souhaitez également copier, vous devrez le faire séparément. Par exemple, pour avoir model2 Les déclarations d'espace de noms sont simplement copiées, écrasant toutes les déclarations existantes dans l'espace de noms. model1 :

model2.getNamespaces().stream().forEach(model1::setNamespace);

Ou si vous souhaitez seulement copier sur les préfixes pour lesquels model1 n'a pas encore fait de déclaration :

model2.getNamespaces().stream()
      .filter(ns -> !model1.getNamespace(ns.getPrefix()).isPresent())
      .forEach(model1::setNamespace);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X