SPARQL тройной фильтр не является точным соответствием - PullRequest
0 голосов
/ 21 июня 2019

Я использую решение 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 и показывать только точное совпадение?Я не могу использовать строковый литерал, потому что оболочка не позволяет этого.

...