Я использую решение IBM-оболочки для SPARQL для получения информации из нашей базы данных.Я установил тройную переменную в качестве фильтра, но она не возвращает точное совпадение, только совпадение «содержит».
Более конкретно, мы рассматриваем требования, которые существуют в коллекции.Запрос SPARQL возвращает все объекты требований и коллекцию, в которой они живут. С каждой коллекцией связан уникальный идентификатор, доступ к которому осуществляется через предикат «dcterms: identifier».Точная строка в коде SPARQL, которая делает это:
?oslc_rm_RequirementCollection1_uri dcterms:identifier ?oslc_rm_RequirementCollection1_identifier
Это работает как ожидалось.В выходных данных я получаю таблицу, содержащую каждую коллекцию со списком требований, связанных с каждой из них.
Проблема возникает, когда я хочу посмотреть на требования только в определенной коллекции.Для этого я установил переменную oslc_rm_RequirementCollection1_identifier в оболочке IBM, и она обычно работает.Если я введу «18732», он покажет мне только требования из коллекции с идентификатором 18732. Однако это не точное совпадение, а только содержимое.Например, если я введу «867», мне будут показаны две коллекции: 867 и 38674.
Как я могу изменить это, чтобы исключить 38674 и показывать только точное совпадение?Я не могу использовать строковый литерал, потому что оболочка не позволяет этого.