Class ModelExpansion

java.lang.Object
org.apache.jena.assembler.ModelExpansion

public class ModelExpansion extends Object
The ModelExpansion code expands a model M against a schema S, returning a new model which contains
  • the statements of M
  • any statements (A rdfs:subClassOf B) from S where neither A nor B is a bnode.
  • statements (A rdf:type T) if M contains (A P any) and S contains (P rdfs:domain T).
  • statements (A rdf:type T) if M contains (any P A) and S contains (P rdfs:range T).
  • statements (A rdf:type T) if (A rdf:type U) and (U rdfs:subClassOf T).
This is sufficient to allow the subjects in M which have properties from S to have enough type information for AssemblerGroup dispatch.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    Do (limited) subclass closure on m.
    static Model
    withSchema(Model model, Model schema)
    Answer a new model which is the aggregation of the statements of model the non-bnode subclass statements of schema the subclass closure of those statements the rdf:type statements implied by the rdfs:domain statements of schema and the model statements using that statements property similarly for rdfs:range the rdf:type statements implied by the subclass closure

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ModelExpansion

      public ModelExpansion()
  • Method Details

    • withSchema

      public static Model withSchema(Model model, Model schema)
      Answer a new model which is the aggregation of
      • the statements of model
      • the non-bnode subclass statements of schema
      • the subclass closure of those statements
      • the rdf:type statements implied by the rdfs:domain statements of schema and the model statements using that statements property
      • similarly for rdfs:range
      • the rdf:type statements implied by the subclass closure
    • addSubClassClosure

      public static void addSubClassClosure(Model m)
      Do (limited) subclass closure on m.

      Those classes in m that appear in subClassOf statements are given as explicit superclasses all their indirect superclasses.