View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *  http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17
    18  package org.apache.any23.vocab;
    19
    20  import org.eclipse.rdf4j.model.IRI;
    21
    22  /**
    23   * The <a href="http://ogp.me/">Open Graph Protocol Article Type</a> vocabulary.
    24   */
    25  public class OGPArticle extends Vocabulary {
    26
    27      private OGPArticle() {
    28          super(NS);
    29      }
    30
    31      public static final String NS = "http://ogp.me/ns/article#";
    32
    33      /* BEGIN: http://ogp.me/#type_article */
    34
    35      /** When the article was first published. */
    36      public static final String ARTICLE__PUBLISHED_TIME = "article:published_time";
    37
    38      /** When the article was last changed. */
    39      public static final String ARTICLE__MODIFIED_TIME = "article:modified_time";
    40
    41      /** When the article is out of date after. */
    42      public static final String ARTICLE__EXPIRATION_TIME = "article:expiration_time";
    43
    44      /** Writers of the article. */
    45      public static final String ARTICLE__AUTHOR = "article:author";
    46
    47      /** A high-level section name. E.g. Technology */
    48      public static final String ARTICLE__SECTION = "article:section";
    49
    50      /** Tag words associated with this article. */
    51      public static final String ARTICLE__TAG = "article:tag";
    52
    53      /* END: http://ogp.me/#type_article */
    54
    55      private static OGPArticle instance;
    56
    57      public static OGPArticle getInstance() {
    58          if (instance == null) {
    59              instance = new OGPArticle();
    60          }
    61          return instance;
    62      }
    63
    64      public final IRI NAMESPACE = createIRI(NS);
    65
    66      public final IRI articlePublishedTime = createProperty(ARTICLE__PUBLISHED_TIME);
    67      public final IRI articleModifiedTime = createProperty(ARTICLE__MODIFIED_TIME);
    68      public final IRI articleExpirationTime = createProperty(ARTICLE__EXPIRATION_TIME);
    69      public final IRI articleAuthor = createProperty(ARTICLE__AUTHOR);
    70      public final IRI articleSection = createProperty(ARTICLE__SECTION);
    71      public final IRI articleTag = createProperty(ARTICLE__TAG);
    72
    73      @SuppressWarnings("unused")
    74      private IRI createClass(String localName) {
    75          return createClass(NS, localName);
    76      }
    77
    78      private IRI createProperty(String localName) {
    79          return createProperty(NS, localName);
    80      }
    81
    82  }