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   * This vocabulary models the structure of a <i>CSV</i> file according the
    24   * <a href="http://www.ietf.org/rfc/rfc4180.txt">RFC 4180</a>.
    25   *
    26   * @author Davide Palmisano (dpalmisano@gmail.com)
    27   */
    28  public class CSV extends Vocabulary {
    29
    30      public static final String ROW = "row";
    31
    32      public static final String ROW_POSITION = "rowPosition";
    33
    34      public static final String NUMBER_OF_ROWS = "numberOfRows";
    35
    36      public static final String NUMBER_OF_COLUMNS = "numberOfColumns";
    37
    38      public static final String COLUMN_POSITION = "columnPosition";
    39
    40      public static final String ROW_TYPE = "Row";
    41
    42      /**
    43       * This property links the identifier of a <i>CSV</i> to an entity representing a row.
    44       */
    45      public final IRI row = createProperty(ROW);
    46
    47      /**
    48       * This property expresses the index of a row in a <i>CSV</i> file.
    49       */
    50      public final IRI rowPosition = createProperty(ROW_POSITION);
    51
    52      /**
    53       * This property expresses the number of rows in a <i>CSV</i> file.
    54       */
    55      public final IRI numberOfRows = createProperty(NUMBER_OF_ROWS);
    56
    57      /**
    58       * This property expresses the number of columns in a <i>CSV</i> file.
    59       */
    60      public final IRI numberOfColumns = createProperty(NUMBER_OF_COLUMNS);
    61
    62      /**
    63       * This resource identifies a <i>Row</i>.
    64       */
    65      public final IRI rowType = createResource(ROW_TYPE);
    66
    67      /**
    68       * This property expresses the index of a column in a <i>CSV</i> file.
    69       */
    70      public final IRI columnPosition = createProperty(COLUMN_POSITION);
    71
    72      /**
    73       * The namespace of the vocabulary as a string.
    74       */
    75      public static final String NS = "http://tools.ietf.org/html/rfc4180";
    76
    77      private static CSV instance;
    78
    79      private CSV() {
    80          super(NS);
    81      }
    82
    83      public static CSV getInstance() {
    84          if (instance == null) {
    85              instance = new CSV();
    86          }
    87          return instance;
    88      }
    89
    90      public IRI createResource(String localName) {
    91          return createProperty(NS, localName);
    92      }
    93
    94      /**
    95       *
    96       * @param localName
    97       *            name to assign to namespace.
    98       *
    99       * @return the new URI instance.
    100      */
    101     public IRI createProperty(String localName) {
    102         return createProperty(NS, localName);
    103     }
    104
    105 }