SPARQL Namespaces

From SPARQL Working Group
Revision as of 16:05, 8 February 2011 by Gwilliam (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Namespaces

There are several namespaces being used (some tentatively) by the SPARQL 1.1 work. These include:

The Entailment Regimes and OWL Profiles namespaces seem orthogonal to the core SPARQL work, but are referenced by the SPARQL Entailment and Service Description documents.

The first namespace above is only currently used for giving the SPARQL BOUND() function a URI, but the implication seems to be that this would be a namespace for all SPARQL functions (and possibly aggregates as well).

Needs

The SPARQL 1.1 documents seem to have two primary requirements for defining URIs: identifiers for built-in features (functions, aggregates, etc.) and the collection of terms making up the service description vocabulary. The SPARQL 1.1 Service Description document enumerates the service description terms. The relevant functions/aggregates from the query language are:

  • Existing SPARQL 1.0 Functions:
    • STR
    • LANG
    • LANGMATCHES
    • DATATYPE
    • BOUND
    • sameTerm
    • isBlank
    • isURI
    • isIRI
    • isLiteral
    • REGEX
  • New SPARQL 1.1 Functions:
    • ABS
    • CEIL
    • FLOOR
    • ROUND
    • CONCAT
    • SUBSTRING
    • STRLEN
    • STRSTARTS
    • STRENDS
    • UCASE
    • LCASE
    • ENCODE_FOR_URI
    • CONTAINS
    • YEAR
    • MONTH
    • DAY
    • HOURS
    • MINUTES
    • SECONDS
    • TIMEZONE
    • TZ
    • NOW
    • RAND
    • MD5
    • SHA1
    • SHA224
    • SHA256
    • SHA384
    • SHA512
  • New SPARQL 1.1 Aggregates:
    • COUNT
    • SUM
    • MIN
    • MAX
    • AVG
    • GROUP_CONCAT

Discussion

Sandro suggested that the service description vocabulary might be folded into the same namespace as the SPARQL functions, or that the namespace for functions be renamed from /ns/sparql to /ns/sparql-function. I believe the service description vocabulary should use its own namespace. All the terms are defined in the single document and are meant for use together. That being said, there is some overlap; the definition of SPARQL functions and aggregates could use the classes defined in the service description vocabulary (e.g. sparqlfn:bound rdf:type sd:Function). — Greg