115 static std::string Empty =
"";
119 if (Triplets.size() > 0)
121 const CRDFObject & Object = Triplets.begin()->pObject->getObject();
160 if (pParent == NULL)
return false;
165 object.setResource(value.
getURI(),
false);
179 std::set< CRDFTriplet > Triplets =
184 if (Triplets.size() > 0)
185 pObject = Triplets.begin()->pObject;
197 if (pParent == NULL)
return false;
215 assert(pObject != NULL);
240 else if (pObject != NULL)
257 size_t i, imax = Locations.size();
260 for (i = 0; i < imax; i++)
263 if (Locations[i].ReadOnly)
280 pLocation = &Locations[i];
286 const size_t & level)
290 size_t i, imax = predicatePath.size() - 1;
292 for (i = level; i < imax; i++)
294 std::set< CRDFTriplet > Triplets =
298 if (Triplets.size() > 0)
300 pNode = Triplets.begin()->pObject;
340 Object.
setResource(
"http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag",
false);
367 assert(Triplets.size() > 0);
369 CRDFNode * pTarget = Triplets.begin()->pObject;
371 if (pTarget->isBagNode() && pTarget != pObject)
377 switch (Triplets.size())
400 std::set< CRDFTriplet > Triplets;
404 std::set< CRDFTriplet >::const_iterator it = Predicates.begin();
405 std::set< CRDFTriplet >::const_iterator end = Predicates.end();
407 for (; it != end; ++it)
408 if (it->pObject->hasAncestor(
this))
409 Triplets.insert(*it);
426 std::set< CRDFTriplet >::const_iterator it = Triplets.begin();
427 std::set< CRDFTriplet >::const_iterator end = Triplets.end();
429 for (; it != end; ++it)
430 if (Triplets.begin()->pObject->getObject().getResource() ==
"http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag")
451 std::set< const CRDFNode * >::const_iterator it = Parents.begin();
452 std::set< const CRDFNode * >::const_iterator end = Parents.end();
455 hasAncestor = (*it)->hasAncestor(pNode);
static bool isReadOnly(const Path ¤tPath)
std::string getURI() const
const eObjectType & getType() const
std::set< CRDFTriplet > getDescendantsWithPredicate(const CRDFPredicate &predicate) const
const std::string & getBlankNodeID() const
void setSubject(const CRDFSubject &subject)
const CRDFSubject & getSubject() const
const std::string & getBlankNodeID() const
std::set< const CRDFNode * > getParentSubjects(const CRDFNode *pObject) const
std::vector< sAllowedLocation > AllowedLocationList
const std::string & getId() const
void setBlankNodeId(const std::string &blankNodeId)
CRDFNode * getNode() const
CRDFObject::eObjectType Type
void setType(const eObjectType &type)
bool setFieldValue(const CMIRIAMResourceObject &value, const CRDFPredicate::ePredicateType &predicate, const CRDFPredicate::Path &nodePath)
CRDFTriplet addTriplet(const CRDFSubject &subject, const CRDFPredicate &predicate, const CRDFObject &object)
const std::set< CRDFTriplet > & getTriplets() const
CRDFPredicate::Path getPredicatePath(const CRDFNode *pNode)
CRDFPredicate::Path getPath() const
bool hasAncestor(const CRDFNode *pNode) const
bool isSubjectNode() const
void setType(const eLiteralType &type)
static size_t getSubPathIndex(const Path &fullPath, const Path ¤tPath)
static const AllowedLocationList & getAllowedLocationList(const ePredicateType &predicate)
void removeEdge(const CRDFPredicate &predicate, CRDFNode *pObject)
void setLexicalData(const std::string &lexicalData)
void setResource(const std::string &resource, const bool &isLocal)
void setId(const std::string &id)
bool isObjectNode() const
const std::string & getURI() const
const std::string & getFieldValue(const CRDFPredicate::ePredicateType &predicate) const
const std::string & getLexicalData() const
CRDFNode * createMissingAncestors(const CRDFPredicate::Path &nodePath, const CRDFPredicate::ePredicateType &predicate, CRDFPredicate::sAllowedLocation const *&pLocation)
void setBlankNodeId(const std::string &blankNodeId)
void setObject(const CRDFObject &object)
void setType(const eSubjectType &type)
std::string generatedNodeId(const std::string &existingId="")
CRDFTriplet addEdge(const CRDFPredicate &predicate, CRDFNode *pObject)
std::vector< ePredicateType > Path
const std::string & getResource() const
const eSubjectType & getType() const
bool addTripletToGraph(const CRDFTriplet &triplet) const
CRDFLiteral & getLiteral()
void removeTripletFromGraph(const CRDFTriplet &triplet) const