sbol-data-examples/src/main/java/org/sbolstandard/examples/DataTreeCreator.java
public static DocumentRoot<QName> makeSBOL2SequenceComponent()
  {
    TopLevelDocument<QName> pLac=TopLevelDocument(
            Sbol2Terms.component.sequenceComponent,
            sbolExample.namespacedUri("sequenceComponent/pLac"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "pLac"),
                    NamedProperty(Sbol2Terms.documented.displayId, "pLac"),
                    NamedProperty(RdfTerms.rdfType, URI.create("DNA")),
                    NamedProperty(Sbol2Terms.component.sequenceType, URI.create("http://purl.org/obo/owl/SO#SO_0000167"))
            ));


    NestedDocument<QName> instantiationpLac=NestedDocument(
            Sbol2Terms.instantiation.componentInstantiation,
            sbolExample.namespacedUri("sequenceComponent/pLac/instantiation"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "pLac"),
                    NamedProperty(Sbol2Terms.component.component, pLac.getIdentity())
            ));

    NestedDocument<QName> pLacAnnotation=NestedDocument(
            Sbol2Terms.component.sequenceAnnotation,
            sbolExample.namespacedUri("sequenceComponent/UU_002/pLac_annotation"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.component.orientation, "inline"),
                    NamedProperty(Sbol2Terms.instantiation.subComponentInstantiation, instantiationpLac)
            ));


    TopLevelDocument<QName> lacIRepressibleGeneSequence=TopLevelDocument(
            Sbol2Terms.component.sequence,
            sbolExample.namespacedUri("sequenceComponent/UU_002/sequence"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.component.elements, "atg")
            ));

    TopLevelDocument<QName> lacIRepressibleGene=TopLevelDocument(
            Sbol2Terms.component.sequenceComponent,
            sbolExample.namespacedUri("sequenceComponent/UU_002"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "LacI Repressible Gene"),
                    NamedProperty(Sbol2Terms.documented.displayId, "UU_002"),
                    NamedProperty(RdfTerms.rdfType, URI.create("DNA")),
                    NamedProperty(Sbol2Terms.component.sequenceType, URI.create("http://purl.org/obo/owl/SO#SO_0000774")),
                    NamedProperty(Sbol2Terms.component.annotation, pLacAnnotation),
                    NamedProperty(Sbol2Terms.component.hasSequence, lacIRepressibleGeneSequence.getIdentity())
            ));



    return DocumentRoot(
            NamespaceBindings(SbolTerms.sbol2),
            TopLevelDocuments(lacIRepressibleGene,pLac,lacIRepressibleGeneSequence)
    );
  }
public static DocumentRoot<QName> makeSBOL2SequenceComponent()
  {
    TopLevelDocument<QName> pLac=TopLevelDocument(
            Sbol2Terms.component.sequenceComponent,
            sbolExample.namespacedUri("sequenceComponent/pLac"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "pLac"),
                    NamedProperty(Sbol2Terms.documented.displayId, "pLac"),
                    NamedProperty(RdfTerms.rdfType, URI.create("DNA")),
                    NamedProperty(Sbol2Terms.component.sequenceType, URI.create("http://purl.org/obo/owl/SO#SO_0000167"))
            ));


    NestedDocument<QName> instantiationpLac=NestedDocument(
            Sbol2Terms.instantiation.componentInstantiation,
            sbolExample.namespacedUri("sequenceComponent/pLac/instantiation"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "pLac"),
                    NamedProperty(Sbol2Terms.component.component, pLac.getIdentity())
            ));

    NestedDocument<QName> pLacAnnotation=NestedDocument(
            Sbol2Terms.component.sequenceAnnotation,
            sbolExample.namespacedUri("sequenceComponent/UU_002/pLac_annotation"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.component.orientation, "inline"),
                    NamedProperty(Sbol2Terms.instantiation.subComponentInstantiation, instantiationpLac)
            ));


    TopLevelDocument<QName> lacIRepressibleGeneSequence=TopLevelDocument(
            Sbol2Terms.component.sequence,
            sbolExample.namespacedUri("sequenceComponent/UU_002/sequence"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.component.elements, "atg")
            ));

    TopLevelDocument<QName> lacIRepressibleGene=TopLevelDocument(
            Sbol2Terms.component.sequenceComponent,
            sbolExample.namespacedUri("sequenceComponent/UU_002"),
            NamedProperties(
                    NamedProperty(Sbol2Terms.documented.name, "LacI Repressible Gene"),
                    NamedProperty(Sbol2Terms.documented.displayId, "UU_002"),
                    NamedProperty(RdfTerms.rdfType, URI.create("DNA")),
                    NamedProperty(Sbol2Terms.component.sequenceType, URI.create("http://purl.org/obo/owl/SO#SO_0000774")),
                    NamedProperty(Sbol2Terms.component.annotation, pLacAnnotation),
                    NamedProperty(Sbol2Terms.component.hasSequence, lacIRepressibleGeneSequence.getIdentity())
            ));



    return DocumentRoot(
            NamespaceBindings(SbolTerms.sbol2),
            TopLevelDocuments(lacIRepressibleGene,pLac,lacIRepressibleGeneSequence)
    );
  }
Creates an example {@link DocumentRoot} object with data from the SBOL2.0 proposed data model.
Included SBOL objects from the data model are SequenceComponent, ComponentInstantiation, SequenceAnnotation and SequenceComponent.
@return {@link DocumentRoot}