diff --git a/external/base.py b/external/base.py index 302638f..1541562 100644 --- a/external/base.py +++ b/external/base.py @@ -142,7 +142,7 @@ class Extractor(Base): for r in c.getChildRelations(): if r.predicate != typePredicate: args = [getName(r.first), getName(r.second), getName(r.predicate)] - if r.order != 0: + if r.order != 0 or r.relevance != 1.0: args.append(r.order) if r.relevance != 1.0: args.append(r.relevance) @@ -155,7 +155,7 @@ class Extractor(Base): for r in c.getResourceRelations(): if r.predicate != typePredicate: args = [getName(r.first), getName(r.second), getName(r.predicate)] - if r.order != 0: + if r.order != 0 or r.relevance != 1.0: args.append(r.order) if r.relevance != 1.0: args.append(r.relevance) diff --git a/external/element.py b/external/element.py index c5877d3..3856b7d 100644 --- a/external/element.py +++ b/external/element.py @@ -136,7 +136,9 @@ class ChildElement(Element): self[self.posArgs[idx]] = arg def execute(self, loader): - loader.assignChild(self['first'], self['second'], self['predicate']) + loader.assignChild(self['first'], self['second'], self['predicate'], + order = self.get('order') or 0, + relevance = self.get('relevance') or 1.0) class ResourceElement(Element): @@ -181,7 +183,9 @@ class ResourceRelationElement(ChildElement): elementType = 'resourceRelation' def execute(self, loader): - loader.assignResource(self['first'], self['second'], self['predicate']) + loader.assignResource(self['first'], self['second'], self['predicate'], + order = self.get('order') or 0, + relevance = self.get('relevance') or 1.0) class NodeElement(Element): diff --git a/setup.py b/setup.py index fd043e9..cab5bf7 100644 --- a/setup.py +++ b/setup.py @@ -152,7 +152,7 @@ class SetupManager(object): self.log("Setting Attribute '%s' of '%s' to '%s'" % (attr, getName(concept), repr(value))) - def assignChild(self, conceptName, childName, predicate=None): + def assignChild(self, conceptName, childName, predicate=None, **kw): if predicate is None: predicate = self.concepts.getDefaultPredicate() if isinstance(predicate, basestring): @@ -163,7 +163,7 @@ class SetupManager(object): self.log("Concept '%s' is already a child of '%s' with predicate '%s'.'" % (childName, conceptName, getName(predicate))) else: - concept.assignChild(child, predicate) + concept.assignChild(child, predicate, **kw) self.log("Concept '%s' assigned to '%s with predicate '%s'.'" % (childName, conceptName, getName(predicate))) @@ -181,7 +181,7 @@ class SetupManager(object): self.log("Resource '%s' ('%s') created." % (name, title)) return c - def assignResource(self, conceptName, resourceName, predicate=None): + def assignResource(self, conceptName, resourceName, predicate=None, **kw): if predicate is None: predicate = self.concepts.getDefaultPredicate() if isinstance(predicate, basestring): @@ -192,7 +192,7 @@ class SetupManager(object): self.log("Resource '%s' is already assigned to '%s with predicate '%s'.'" % (resourceName, conceptName, getName(predicate))) else: - concept.assignResource(resource, predicate) + concept.assignResource(resource, predicate, **kw) self.log("Resource '%s' assigned to '%s with predicate '%s'.'" % (resourceName, conceptName, getName(predicate)))