我有以下代码,通过电子邮件找到资源。
val varn = "x"
val query = createQuery("""SELECT ?${varn}
WHERE { ?x <http://www.w3.org/2001/vcard-rdf/3.0#EMAIL> "${email}" }""")
val qexec = createQueryExecution(ds, query)
val rs = qexec.execSelect()
if (rs.hasNext()) {
val solution = rs.nextSolution()
val rec = solution[varn]
// Here I need to find the value of the property FirstContactTime
}
现在我想知道rec
是否有属性FirstContactTime
,如果是,则是
我试过了rec.model.listObjectsOfProperty(ds.defaultModel.createProperty(FirstContactTime))
,但它没有返回任何内容。调试器说rec
确实有一个属性FirstContactTime
。
如何在代码中获取FirstContactTime
(2017-03-03T10:35:00Z
)的值?
答案 0 :(得分:1)
请注意,数据中的属性为FirstContactDateTime
而不是FirstContactTime
。
您正在寻找的SPARQL是这样的 -
PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#>
PREFIX ex: <http://example.com/schema/person/>
SELECT ?user ?email ?firstcontact
WHERE
{ ?x vcard:EMAIL ?email .
OPTIONAL { ?x ex:firstContactDateTime ?firstcontact }
}