如何获取资源 属性 的值(对象)?
How can I get the value (object) of a Resource's property?
我有以下代码,我在其中通过电子邮件找到资源。
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))
但 return 没有任何效果。调试器说 rec
确实有 属性 FirstContactTime
.
如何在我的代码中获取 FirstContactTime
(2017-03-03T10:35:00Z
) 的值?
请注意,数据中的 属性 是 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 }
}
我有以下代码,我在其中通过电子邮件找到资源。
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))
但 return 没有任何效果。调试器说 rec
确实有 属性 FirstContactTime
.
如何在我的代码中获取 FirstContactTime
(2017-03-03T10:35:00Z
) 的值?
请注意,数据中的 属性 是 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 }
}