Search in sources :

Example 11 with Entry

use of cbit.vcell.biomodel.meta.registry.Registry.Entry in project vcell by virtualcell.

the class VCMetaDataMiriamManager method addMiriamRefGroup.

public void addMiriamRefGroup(Identifiable identifiable, MIRIAMQualifier miriamQualifier, Set<MiriamResource> miriamResources) throws URNParseFailureException {
    Entry entry = vcMetaData.getRegistry().getEntry(identifiable);
    Resource resource = entry.getResource();
    if (resource == null) {
        String newURIString = vcMetaData.getRegistry().generateFreeURI(identifiable);
        resource = entry.setURI(vcMetaData.getRdfData(), newURIString);
    }
    MIRIAMizer miriamizer = new MIRIAMizer();
    RefGroup sybilRefGroup = miriamizer.newRefGroup(vcMetaData.getRdfData(), resource, miriamQualifier);
    Set<MIRIAMRef> sybilMiriamRefs = new HashSet<MIRIAMRef>();
    for (MiriamResource miriamResource : miriamResources) {
        sybilMiriamRefs.add(MIRIAMRef.createFromURN(miriamResource.getMiriamURN()));
    }
    for (MIRIAMRef sybilMiriamRef : sybilMiriamRefs) {
        sybilRefGroup.add(vcMetaData.getRdfData(), sybilMiriamRef);
    }
    invalidateCache(identifiable);
    vcMetaData.fireAnnotationEventListener(new VCMetaData.AnnotationEvent(identifiable));
}
Also used : MIRIAMRef(org.vcell.sybil.models.miriam.MIRIAMRef) Entry(cbit.vcell.biomodel.meta.registry.Registry.Entry) MIRIAMizer(org.vcell.sybil.models.miriam.MIRIAMizer) Resource(org.openrdf.model.Resource) RefGroup(org.vcell.sybil.models.miriam.RefGroup) HashSet(java.util.HashSet)

Example 12 with Entry

use of cbit.vcell.biomodel.meta.registry.Registry.Entry in project vcell by virtualcell.

the class VCMetaDataMiriamManager method getDublinCoreDateMap.

// this is not yet cached.
public Map<Identifiable, Map<DateQualifier, Set<DublinCoreDate>>> getDublinCoreDateMap() {
    Map<Identifiable, Map<DateQualifier, Set<DublinCoreDate>>> map = new HashMap<Identifiable, Map<DateQualifier, Set<DublinCoreDate>>>();
    Set<Entry> allEntries = vcMetaData.getRegistry().getAllEntries();
    Graph rdfData = vcMetaData.getRdfData();
    for (Entry entry : allEntries) {
        Resource resource = entry.getResource();
        if (resource != null) {
            Identifiable identifiable = entry.getIdentifiable();
            Map<DateQualifier, Set<DublinCoreDate>> qualifierDateMap = new HashMap<DateQualifier, Set<DublinCoreDate>>();
            for (DublinCoreQualifier.DateQualifier dateQualifier : AnnotationQualifiers.DC_date_all) {
                Set<DublinCoreDate> dateStrings = new HashSet<DublinCoreDate>();
                Iterator<Statement> stmtIter = rdfData.match(resource, dateQualifier.getProperty(), null);
                while (stmtIter.hasNext()) {
                    Statement statement = stmtIter.next();
                    Value dateObject = statement.getObject();
                    if (dateObject instanceof Literal) {
                        Literal dateLiteral = (Literal) dateObject;
                        String dateString = dateLiteral.stringValue();
                        dateStrings.add(new DublinCoreDate(dateString));
                    }
                }
                if (!dateStrings.isEmpty()) {
                    qualifierDateMap.put(dateQualifier, dateStrings);
                }
            }
            if (!qualifierDateMap.isEmpty()) {
                map.put(identifiable, qualifierDateMap);
            }
        }
    }
    return map;
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) DublinCoreDate(org.vcell.sybil.models.dublincore.DublinCoreDate) HashMap(java.util.HashMap) Statement(org.openrdf.model.Statement) Resource(org.openrdf.model.Resource) DateQualifier(org.vcell.sybil.models.dublincore.DublinCoreQualifier.DateQualifier) Identifiable(org.vcell.util.document.Identifiable) Entry(cbit.vcell.biomodel.meta.registry.Registry.Entry) Graph(org.openrdf.model.Graph) DateQualifier(org.vcell.sybil.models.dublincore.DublinCoreQualifier.DateQualifier) DublinCoreQualifier(org.vcell.sybil.models.dublincore.DublinCoreQualifier) Literal(org.openrdf.model.Literal) Value(org.openrdf.model.Value) HashMap(java.util.HashMap) Map(java.util.Map) TreeMap(java.util.TreeMap) HashSet(java.util.HashSet)

Aggregations

Entry (cbit.vcell.biomodel.meta.registry.Registry.Entry)12 Identifiable (org.vcell.util.document.Identifiable)6 HashSet (java.util.HashSet)4 Map (java.util.Map)4 Resource (org.openrdf.model.Resource)4 HashMap (java.util.HashMap)3 TreeMap (java.util.TreeMap)3 MIRIAMQualifier (org.vcell.sybil.models.miriam.MIRIAMQualifier)3 MIRIAMizer (org.vcell.sybil.models.miriam.MIRIAMizer)3 RefGroup (org.vcell.sybil.models.miriam.RefGroup)3 VCID (cbit.vcell.biomodel.meta.VCID)2 Registry (cbit.vcell.biomodel.meta.registry.Registry)2 Element (org.jdom.Element)2 Graph (org.openrdf.model.Graph)2 Literal (org.openrdf.model.Literal)2 MIRIAMRef (org.vcell.sybil.models.miriam.MIRIAMRef)2 MiriamRefGroup (cbit.vcell.biomodel.meta.MiriamManager.MiriamRefGroup)1 NonRDFAnnotation (cbit.vcell.biomodel.meta.NonRDFAnnotation)1 IdentityHashMap (java.util.IdentityHashMap)1 Set (java.util.Set)1