Example #1
0
def getieuri(graph, subject, ds, ie):
    uidtag = None
    if ie == 'Study':
        uidtag = 0x0020000D
    elif ie == 'Series':
        uidtag = 0x0020000E
    elif ie == 'Frame of Reference':
        uidtag = 0x00200052

    uri = None
    if uidtag:
        uid = getsinglevalue(ds, uidtag, 'UI')
        if uid is not None:
            uri = uritools.urifromuid(uid)
            label = str(uid)
    if not uri:
        uri, label = generateuri()

    graph.add((uri, RDF.type, uritools.getieclass(ie)))
    graph.add((uri, RDFS.label, rdflib.Literal(label)))
    graph.add((subject, DCTERMS.subject, uri))
    return uri
Example #2
0
def getieuri(graph,subject,ds,ie):
    uidtag=None
    if ie=='Study':
        uidtag=0x0020000D
    elif ie=='Series':
        uidtag=0x0020000E
    elif ie=='Frame of Reference':
        uidtag=0x00200052

    uri=None
    if uidtag:
        uid=getsinglevalue(ds,uidtag,'UI')
        if uid is not None:
            uri=uritools.urifromuid(uid)
            label=str(uid)
    if not uri:
        uri,label=generateuri()

    graph.add((uri,RDF.type,uritools.getieclass(ie)))
    graph.add((uri,RDFS.label,rdflib.Literal(label)))
    graph.add((subject,DCTERMS.subject,uri))
    return uri
Example #3
0
            range=XSD.dateTime
        else:
            assert False,vr

    graph.add((subject,RDF.type,cl))

    if range is not None:
        graph.add((subject,RDFS.range,range))

    if tag in iesbyattribute or tag in sequencesbyattribute:
        ies=iesbyattribute.get(tag,{})
        ies=ies.get(None,[])
        sqs=sequencesbyattribute.get(tag,[])
        if len(ies+sqs)==1:
            for ie in ies:
                domain=uritools.getieclass(ie)
            for sq in sqs:
                domain=uritools.urifromtag(sq,isclass=True)
            graph.add((subject,RDFS.domain,domain))
        else:
            colitems=[]
            for ie in ies:
                colitems.append(uritools.getieclass(ie))
            for sq in sqs:
                colitems.append(uritools.urifromtag(sq,isclass=True))
            colbnode=rdflib.BNode()
            col=rdflib.collection.Collection(graph,colbnode,colitems)
            union=rdflib.BNode()
            graph.add((subject,RDFS.domain,union))
            graph.add((union,RDF.type,OWL.Class))
            graph.add((union,OWL.unionOf,colbnode))