【问题标题】:ontology- Storing Java Date in XMLSchema#dateTime本体 - 在 XMLSchema#dateTime 中存储 Java 日期
【发布时间】:2014-04-16 10:03:07
【问题描述】:

我在 protege 中创建了一个文件系统本体。我已将文件创建日期的范围设置为 dateTime,如下面的代码所示。

<owl:DatatypeProperty rdf:about="http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#created">
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
  <rdfs:domain rdf:resource="http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#File"/>
  <rdfs:comment>Time when the file was last accessed.</rdfs:comment>
  <rdfs:label>fileLastAccessed</rdfs:label>

在日期创建属性中,我存储 java 日期 Date date = new Date();(转换为字符串后)

它正确存储为:

<File rdf:about="http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#8117c6b9-3db8-4ab9-8de4-ba67f52ac615">
<created>Wed Apr 16 14:37:30 PKT 2014</created>
<hasPath>/Documents/Untitled Document 5</hasPath>

我的问题是:将 java Date 存储在 XMLSchema#dateTime 中是否安全/正确?

我做对了还是错了?

【问题讨论】:

    标签: java xml ontology


    【解决方案1】:

    这不是 XML Schema dateTime 格式正确的值。相反,它应该采用以下格式:

    yyyy-MM-dd'T'HH:mm:ss
    

    您可以利用SimpleDateFormat 来控制String 表示或使用XMLGregorianCalendar 而不是Date

    【讨论】:

    • 我可以改用yyyy-MM-dd'at'HH:mm:ss 吗?因为我需要 24 小时格式的时间,而不是 am-pm
    • @user363565 - 是的,实际上这就是您需要使用的。我已更新我的答案以反映这一点。
    • 一次,如果我在转换为yyyy-MM-dd'T'HH:mm:ss 格式后将其保存为xml。是否可以将其再次存储在 java 日期对象中。因为,以后我需要它来进行 java 中的日期比较。
    • @user363565 - 是的,您也可以使用SimpleDateFormatXMLGregorianCalendar 将其转换回来。
    猜你喜欢
    • 2017-06-14
    • 2023-03-14
    • 2021-07-25
    • 1970-01-01
    • 2012-01-14
    • 2017-05-18
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    相关资源
    最近更新 更多