Я пытался исследовать RDF Тройной магазин функцию и Семантический поиск возможности MarkLogic 7, а затем запрос с использованием SPARQL. Я был в состоянии выполнять некоторые основные операции, такие как:MarkLogic 7: семантический поиск
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"at"/MarkLogic/semantics.xqy";
sem:rdf-insert(sem:triple(sem:iri("http://example.org/ns/people#m"),
sem:iri("http://example.com/ns/person#firstName"), "Sam"),(),(),"my collection")
, который создает тройную, а затем запросить его с помощью следующей SPARQL:
PREFIX ab: <http://example.org/ns/people#>
PREFIX ac: <http://example.com/ns/person#>
SELECT ?Name
WHERE
{ ab:m ac:firstName ?Name . }
, который извлекает Сэм как результат. Отредактировано: В моем случае использования, у меня есть разделителей файл (Structured данные) имея 1 миллиард записей, которые я заглатывание в ML с помощью МЛКПА, которая хранится в ML, например, как:
<root>
<ID>1000-000-000--000</ID>
<ACCOUNT_NUM>9999</ACCOUNT_NUM>
<NAME>Vronik</NAME>
<ADD1>D7-701</ADD1>
<ADD2>B-Valentine</ADD2>
<ADD3>Street 4</ADD3>
<ADD4>Fifth Avenue</ADD4>
<CITY>New York</CITY>
<STATE>NY</STATE>
<HOMPHONE>0002600000</HOMPHONE>
<BASEPHONE>12345</BASEPHONE>
<CELLPHONE>54321</CELLPHONE>
<EMAIL_ADDR>[email protected]</EMAIL_ADDR>
<CURRENT_BALANCE>10000</CURRENT_BALANCE>
<OWNERSHIP>JOINT</OWNERSHIP>
</root>
Теперь я хочу использовать функцию RDF/Semantic для моего набора данных выше. Однако, я не могу понять, нужно ли мне, чтобы преобразовать выше документ в RDF, как показано ниже (как показано на <NAME>
) при условии, что это правильный путь:
<sem:triple>
<sem:subject>unique/uri/Person
</sem:subject>
<sem:predicate>unique/uri/Name
</sem:predicate>
<sem:object datatype="http://www.w3.org/2001/XMLSchema#string"
xml:lang="en">Vronik
</sem:object>
</sem:triple>
, а затем глотают эти документы в ML и поиск с использованием SPARQL, или мне нужно просто глотать мои документы, а затем отдельно проглатывать тройки, полученные из внешних источников и как-то (как .. ??) связывать их с моими документами, а затем запрашивать с помощью SPARQL? Или есть другой способ, которым я должен это сделать?
Я d ожидайте, что XML на основе документа станет чем-то более похожим: ': id" 1000-000-000--000 "; : accountNum "9999" ^^ xsd: int; : название «Vronik»; : add1 "D7-701"; ...; : собственность: JOINT .' –
Это значит быть XML, Джошуа? Это больше похоже на N3. Шрей опубликовал свой пример в схеме «sem: triple», так как MarkLogic хранит тройки. Он может читать RDF-XML, NTriple, N3 и т. Д. Через http://docs.marklogic.com/sem:rdf-parse - но неясно, что Шрей нуждается в этом. – mblakele
@mblakele @Joshua Tayler: обновил мой qn. В основном у меня есть файл с разделителями **, который я проглатываю через ML. 'sem: triple' - это мое понимание, верно ли это, что мой исходный документ должен быть _ преобразован в_, а затем проглочен? Я хотел бы выполнить массовую загрузку/преобразование, поскольку у меня около миллиарда записей. –