const PropertyHolder::PropertyList PropertyHolder::PropertiesMatching(const IRI& iri, bool lookupParents) const { PropertyList output; BuildPropertyList(output, iri); if (lookupParents) { auto parent = _parent.lock(); if ( parent ) { //parent->BuildPropertyList(output, iri); PropertyHolder::PropertyList pList = parent->PropertiesMatching(iri, lookupParents); output.insert(output.end(), pList.begin(), pList.end()); } } return output; }