30 "http://www.copasi.org/RDF/MiriamTerms#encodes",
31 "http://www.copasi.org/RDF/MiriamTerms#hasPart",
32 "http://www.copasi.org/RDF/MiriamTerms#hasVersion",
33 "http://www.copasi.org/RDF/MiriamTerms#is",
34 "http://www.copasi.org/RDF/MiriamTerms#isDescribedBy",
35 "http://www.copasi.org/RDF/MiriamTerms#isEncodedBy",
36 "http://www.copasi.org/RDF/MiriamTerms#isHomologTo",
37 "http://www.copasi.org/RDF/MiriamTerms#isPartOf",
38 "http://www.copasi.org/RDF/MiriamTerms#isVersionOf",
39 "http://www.copasi.org/RDF/MiriamTerms#occursIn",
41 "http://biomodels.net/biology-qualifiers/encodes",
42 "http://biomodels.net/biology-qualifiers/hasPart",
43 "http://biomodels.net/biology-qualifiers/hasVersion",
44 "http://biomodels.net/biology-qualifiers/is",
45 "http://biomodels.net/biology-qualifiers/isDescribedBy",
46 "http://biomodels.net/biology-qualifiers/isEncodedBy",
47 "http://biomodels.net/biology-qualifiers/isHomologTo",
48 "http://biomodels.net/biology-qualifiers/isPartOf",
49 "http://biomodels.net/biology-qualifiers/isVersionOf",
50 "http://biomodels.net/biology-qualifiers/occursIn",
51 "http://biomodels.net/model-qualifiers/is",
52 "http://biomodels.net/model-qualifiers/isDescribedBy",
53 "http://purl.org/dc/elements/1.1/creator",
54 "http://purl.org/dc/terms/creator",
55 "http://purl.org/dc/terms/bibliographicCitation",
57 "http://purl.org/dc/terms/created",
58 "http://purl.org/dc/terms/description",
60 "http://purl.org/dc/terms/modified",
63 "http://purl.org/dc/terms/W3CDTF",
64 "http://www.w3.org/2001/vcard-rdf/3.0#EMAIL",
65 "http://www.w3.org/2001/vcard-rdf/3.0#Family",
66 "http://www.w3.org/2001/vcard-rdf/3.0#Given",
67 "http://www.w3.org/2001/vcard-rdf/3.0#N",
68 "http://www.w3.org/2001/vcard-rdf/3.0#ORG",
69 "http://www.w3.org/2001/vcard-rdf/3.0#Orgname",
70 "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
71 "http://www.w3.org/1999/02/22-rdf-syntax-ns#li",
72 "http://www.w3.org/1999/02/22-rdf-syntax-ns#_",
73 "http://www.w3.org/1999/02/22-rdf-syntax-ns#subject",
74 "http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate",
75 "http://www.w3.org/1999/02/22-rdf-syntax-ns#object",
133 "bibliographic citation",
182 AboutUnboundedResource.resize(1);
184 AboutUnboundedResource[0].ReadOnly =
false;
186 AboutUnboundedResource[0].Location.resize(1);
187 AboutUnboundedResource[0].Location[0] =
about;
190 AboutOneLiteral.resize(1);
191 AboutOneLiteral[0].MaxOccurance = 1;
192 AboutOneLiteral[0].ReadOnly =
false;
194 AboutOneLiteral[0].Location.resize(1);
195 AboutOneLiteral[0].Location[0] =
about;
244 AboutUnboundedResource[0].ReadOnly =
true;
287 AboutUnboundedResource[0].ReadOnly =
false;
382 VCardOneBlankNode.resize(2);
384 VCardOneBlankNode[0].MaxOccurance = 1;
385 VCardOneBlankNode[0].ReadOnly =
false;
387 VCardOneBlankNode[0].Location.resize(2);
388 VCardOneBlankNode[0].Location[0] =
any;
391 VCardOneBlankNode[1].MaxOccurance = 1;
392 VCardOneBlankNode[1].ReadOnly =
true;
394 VCardOneBlankNode[1].Location.resize(2);
395 VCardOneBlankNode[1].Location[0] =
any;
396 VCardOneBlankNode[1].Location[1] =
dc_creator;
456 for (Predicate = 0; Predicate < PredicateMax; Predicate++)
467 if (AbsoluteList.size() > 0)
return;
471 size_t i, imax = RelativeList.size();
473 for (i = 0; i < imax; i++)
482 assert(Relative.
Location.size() > 0);
485 size_t StartIndex = 0;
494 Absolute.
Location.push_back(predicate);
495 AbsoluteList.push_back(Absolute);
503 assert(Relative.
Location.size() > 1);
513 size_t j, jmax = ParentList.size();
515 for (j = 0; j < jmax; j++)
518 Absolute.
Location = ParentList[j].Location;
520 size_t k, kmax = Relative.
Location.size();
522 for (k = StartIndex + 1; k < kmax; k++)
526 Absolute.
Location.push_back(predicate);
527 AbsoluteList.push_back(Absolute);
534 static bool Initialized =
false;
632 std::map< std::string, ePredicateType >::iterator it =
URI2Predicate.find(URI);
665 if (currentPath.size() > fullPath.size())
669 Path::const_iterator itCurrent = currentPath.begin();
670 Path::const_iterator endCurrent = currentPath.end();
671 Path::const_iterator itFull = fullPath.begin();
673 for (; itCurrent != endCurrent; ++itCurrent, ++itFull)
674 if (*itCurrent != *itFull)
677 return currentPath.size();
687 for (; itPredicate != endPredicate; ++itPredicate)
690 AllowedLocationList::const_iterator itLocation = itPredicate->begin();
691 AllowedLocationList::const_iterator endLocation = itPredicate->end();
693 for (; itLocation != endLocation; ++itLocation)
694 if (itLocation->ReadOnly &&
695 currentPath.size() == itLocation->Location.size())
698 Path::const_iterator itCurrent = currentPath.begin();
699 Path::const_iterator endCurrent = currentPath.end();
700 Path::const_iterator itAbsolute = itLocation->Location.begin();
702 for (; itCurrent != endCurrent; ++itCurrent, ++itAbsolute)
703 if (*itCurrent != *itAbsolute)
706 if (itCurrent == endCurrent)
717 std::vector< CRDFPredicate::ePredicateType >::const_iterator it = path.begin();
718 std::vector< CRDFPredicate::ePredicateType >::const_iterator end = path.end();
720 for (; it != end; ++it)
723 return os << std::endl;
728 os <<
"MaxOccurance: " << location.
MaxOccurance << std::endl;
729 os <<
"ReadOnly: " << location.
ReadOnly << std::endl;
730 os <<
"Type: " << location.
Type << std::endl;
731 os << location.
Location << std::endl;
static bool isReadOnly(const Path ¤tPath)
bool operator!=(const CRDFPredicate &rhs) const
std::ostream & operator<<(std::ostream &os, const CRDFPredicate &p)
static ePredicateType getPredicateFromDisplayName(const std::string &displayName)
bool operator==(const CRDFPredicate &rhs) const
std::vector< sAllowedLocation > AllowedLocationList
static std::map< std::string, ePredicateType > DisplayName2Predicate
static ePredicateType getPredicateFromURI(const std::string &URI)
static const std::string PredicateURI[]
static void createURI2Predicate()
CRDFObject::eObjectType Type
static void createAllowedLocationsRelative()
static void createAllowedLocationsAbsolute()
CRDFPredicate operator=(const ePredicateType &type)
static const std::string & getDisplayName(const CRDFPredicate &predicate)
static size_t getSubPathIndex(const Path &fullPath, const Path ¤tPath)
static std::vector< AllowedLocationList > Predicate2AllowedLocationsRelative
static const AllowedLocationList & getAllowedLocationList(const ePredicateType &predicate)
bool operator<(const CRDFPredicate &rhs) const
static std::map< std::string, ePredicateType > URI2Predicate
const std::string & getURI() const
void setURI(const std::string &uri)
static std::vector< AllowedLocationList > Predicate2AllowedLocationsAbsolute
static void createDisplayName2Predicate()
std::vector< ePredicateType > Path
CRDFPredicate(const ePredicateType &type=end)
static const std::string PredicateDisplayName[]
const ePredicateType & getType() const