2015-10-13 3 views
0

У меня есть неуправляемые троек, хранящиеся в моих документах. Когда я возвращаю документы с использованиемУдаление троек из возвращаемого документа

var doc = cts.doc('/document/location/doc.json'); 
doc; 

Я получаю свой документ с прикрепленными тройками.

{ 
    "name": "Place name", 
    "address": "Place address" 
    "triple": { 
     "subject": "/document/location/doc.json", 
     "predicate": "contains", 
     "object": "/locations/buildings/A000001.json" 
    }, 
    "triple": { 
     "subject": "/document/location/doc.json", 
     "predicate": "contains", 
     "object": "/locations/buildings/rooms/offices/A000003.json" 
    } 
} 

Как вернуть документ без троек? Я хочу отправить результаты на средний уровень, не подвергая слишком много информации о базе данных.

+1

Какой язык это? Ваш объект имеет несколько свойств 'triple', поэтому он недействителен. В зависимости от того, кто/что его обрабатывает, скорее всего, один из свойств «тройной» будет удален/проигнорирован. –

+0

Это не язык, это объект json. Таким образом, база данных MarkLogic хранит rdf-тройки внутри json-документа. Или, по крайней мере, так, как база данных возвращает объект json, когда вы запрашиваете документ с неуправляемыми тройками. – MoreThanCarbon

+0

MarkLogic позволяет использовать JavaScript для взаимодействия с базой данных. cts.doc ('/ document/location/doc.json') - это то, как вы извлекаете документ, хранящийся в базе данных. – MoreThanCarbon

ответ

0

Так что, предположим, cts.doc возвращает объект, а не обязательно JSONObject. Я думаю, имеет смысл, так как он имеет несколько объектов с ключом «тройной». Таким образом, мне просто пришлось проанализировать объект в JSONObject (который сохраняет только первый «тройной» объект), а затем я мог бы избавиться от «тройного» объекта.

var doc = cts.doc('/document/location/doc.json'); 
doc = JSON.parse(doc); 
delete doc.triple; 
doc; 

Теперь возвращает:

{ 
    "name": "Place name", 
    "address": "Place address" 
} 
Смежные вопросы