RDF Graph Patterns and Templates

This Version
http://purl.org/vocab/riro/gpt [HTML] [OWL]
Latest Version
http://purl.org/vocab/riro/gpt#
Authors
Sergei Egorov <esl@ariadnegenomics.com>
Contributors
 

Copyright © 2006 Sergei Egorov

OWL metadata & format Copyright © 2005 Richard Newman and Ian Davis

This work is licensed under a Creative Commons License.

Table of Contents

Introduction

This vocabulary defines terms used to describe RDF Graph patterns and templates as used in RDF Query languages (e.g. SPARQL) and elsewhere.

The goal of the design is to model common parts of these languages in RDF in a way that allows for the generation of the actual queries in their native format. Note that only patterns and templates are modeled, not complete queries.

A basic pattern/template is a set of reified RDF statements (reification is similar to the one built-in into RDF). Leaves of a reified triple are URIs, literals (stand for themselves) or blank nodes (variables). Variables have no names; blank nodes can be assigned nodeIDs and shared in a normal RDF way.

More complex patterns are built by joining and filtering simpler patterns. Joining (cf. SPARQL UNION, regexp |) allows specification of alternative patterns; filtering (cf. SPARQL FILTER) constrains the allowable binding of variables.

Changes From Previous Version

Namespace

The URI for this vocabulary is

http://purl.org/vocab/riro/gpt#

When used in XML documents the suggested prefix is gpt

Each class or property in the vocabulary has a URI constructed by appending a term name to the vocabulary URI. For example:

http://purl.org/vocab/riro/gpt#subject http://purl.org/vocab/riro/gpt#Statement

The term name for a class always starts with an uppercase character. Where the term name is comprised of multiple concatenated words, the leading character of each word will be an uppercase character. For example:

Statement Graph

The term name for a property always starts with an lowercase character. Where the term name is comprised of multiple concatenated words, the leading character of the second and each subsequent word will be an uppercase character. For example:

subject allOf

Summary of Terms

This vocabulary defines 10 classes and 9 properties.

Term Name Type Definition
Statement class A pattern or template for a single RDF Statement (triple).
subject property The pattern/template for the statement's subject.
predicate property The pattern/template for the statement's predicate.
object property The pattern/template for the statement's object.
Graph class A pattern/template for an RDF Graph.
Union class A set of alternative patterns.
allOf property The set enumerated in a list form.
Filter class A pattern with constraints on its variables.
onPattern property The pattern which variables are restricted.
valueConstraint property The expression restricting values of variables.
ConstraintExpression class Any constraint expression.
arg1 property The first argument of a constraint expression.
arg2 property The second argument of a constraint expression.
arg3 property The third argument of a constraint expression.
ISBLANK class True if A is a blank node.
ISLITERAL class True if A is a literal.
ISURI class True if A is an IRI/URI.
EQUAL class True if A and B are the same RDF terms.
OR class True if A or B are true.

Vocabulary Classes

Class: Statement

Definition: A pattern or template for a single RDF Statement (triple).

A member of this class describes a pattern that can be matched against any RDF statement or a template that can be used to build such a statement from its three components. A pattern matches if its subject, predicate, and object match the corresponding components of the statement.

URI: http://purl.org/vocab/riro/gpt#Statement
Label: RDF Statement Pattern/Template
Subclass of (a composite term, see schema)

History

Class: Graph

Definition: A pattern/template for an RDF Graph.

A member of this class describes a pattern/template for an RDF graph. A graph pattern is represented as a set of patterns/templates (one per RDF statement).

A graph pattern matches if all its statement patterns match some statements in the target graph (shared blank nodes should match the same RDF resource). The result of a match is a set of solutions, each solution being a substitution providing replacement values for all blank nodes in the pattern graph. Replacement values can be literals, URIs, or other blank nodes.

The set is modeled as an RDF list to make it closed with the assumption that the elements of the list are members of the set being modeled (cf. owl:oneOf). The graph pattern node and the list are connected with the gpt:allOf predicate.

URI: http://purl.org/vocab/riro/gpt#Graph
Label: RDF Graph Pattern/Template
Subclass of (a composite term, see schema)

History

Class: Union

Definition: A set of alternative patterns.

A member of this class describes pattern alternatives. A union pattern matches if any of the alternative patterns match. Alternative patterns can be instances of gpt:Graph, gpt:Filter, or another gpt:Union.

The set of alternatives is modeled as an RDF list to make it closed with the assumption that the elements of the list are members of the set being modeled (cf. owl:oneOf). The union pattern node and the list are connected with the gpt:allOf predicate.

URI: http://purl.org/vocab/riro/gpt#Union
Label: Union of Patterns
Subclass of (a composite term, see schema)

History

Class: Filter

Definition: A pattern with constraints on its variables.

A member of this class describes a pattern with a boolean expression imposing constraints on possible values of its variables. A filter pattern matches if its base pattern matches and the filter expression evaluates to true for the given solution (a set of values corresponding to the blank nodes in the graph patterns).

URI: http://purl.org/vocab/riro/gpt#Filter
Label: Filter Pattern
Subclass of (a composite term, see schema)

History

Class: ConstraintExpression

Definition: Any constraint expression.

This is the base class for all constraint expressions. Constraint expressions are distinguished by their class; they have zero or more arguments as defined by the corresponding class. The vocabulary of constraint expressions now covers a very small subset of SPARQL FILTER expressions; more expressions will be added later (possibly in a separate namespace).

URI: http://purl.org/vocab/riro/gpt#ConstraintExpression
Label: Value Constraint Expression
Subclass of (a composite term, see schema)

History

Class: ISBLANK

Definition: True if A is a blank node.

URI: http://purl.org/vocab/riro/gpt#ISBLANK
Label: isBlank(A)
Subclass of gpt:ConstraintExpression, (a composite term, see schema)

History

Class: ISLITERAL

Definition: True if A is a literal.

URI: http://purl.org/vocab/riro/gpt#ISLITERAL
Label: isLiteral(A)
Subclass of gpt:ConstraintExpression, (a composite term, see schema)

History

Class: ISURI

Definition: True if A is an IRI/URI.

URI: http://purl.org/vocab/riro/gpt#ISURI
Label: isURI(A)
Subclass of gpt:ConstraintExpression, (a composite term, see schema)

History

Class: EQUAL

Definition: True if A and B are the same RDF terms.

URI: http://purl.org/vocab/riro/gpt#EQUAL
Label: RDFterm-equal(A, B)
Subclass of gpt:ConstraintExpression (a composite term, see schema)

History

Class: OR

Definition: True if A or B are true.

URI: http://purl.org/vocab/riro/gpt#OR
Label: A || B
Subclass of gpt:ConstraintExpression, (a composite term, see schema)

History

Vocabulary Properties

Property: subject

Definition: [The value of this property is] The pattern/template for the statement's subject.

URI: http://purl.org/vocab/riro/gpt#subject
Label: pattern for subject
Domain gpt:Statement
Range rdfs:Resource

History

Property: predicate

Definition: [The value of this property is] The pattern/template for the statement's predicate.

URI: http://purl.org/vocab/riro/gpt#predicate
Label: pattern for predicate
Domain gpt:Statement
Range rdfs:Resource

History

Property: object

Definition: [The value of this property is] The pattern/template for the statement's object.

URI: http://purl.org/vocab/riro/gpt#object
Label: pattern for object
Domain gpt:Statement
Range rdfs:Resource

History

Property: allOf

Definition: [The value of this property is] The set enumerated in a list form.

URI: http://purl.org/vocab/riro/gpt#allOf
Label: members of a set
Domain rdfs:Resource
Range rdf:List

History

Property: onPattern

Definition: [The value of this property is] The pattern which variables are restricted.

URI: http://purl.org/vocab/riro/gpt#onPattern
Label: base pattern for filtering
Domain gpt:Filter
Range rdfs:Resource

History

Property: valueConstraint

Definition: [The value of this property is] The expression restricting values of variables.

URI: http://purl.org/vocab/riro/gpt#valueConstraint
Label: value constraint expression
Domain gpt:Filter
Range rdfs:Resource

History

Property: arg1

Definition: [The value of this property is] The first argument of a constraint expression.

URI: http://purl.org/vocab/riro/gpt#arg1
Label: first argument
Domain gpt:ConstraintExpression
Range rdfs:Resource

History

Property: arg2

Definition: [The value of this property is] The second argument of a constraint expression.

URI: http://purl.org/vocab/riro/gpt#arg2
Label: second argument
Domain gpt:ConstraintExpression
Range rdfs:Resource

History

Property: arg3

Definition: [The value of this property is] The third argument of a constraint expression.

URI: http://purl.org/vocab/riro/gpt#arg3
Domain gpt:ConstraintExpression
Range rdfs:Resource

History

Examples

gpt-example.rdf

gpt-example.ttl

RDF Schema

The schema included here is informational only. The normative schema can be found at http://purl.org/vocab/riro/gpt.rdf

<rdf:RDF
   xmlns:gpt="http://purl.org/vocab/riro/gpt#"
   xmlns:skos="http://www.w3.org/2004/02/skos/core#"
   xmlns:vann="http://purl.org/vocab/vann/"
   xmlns:cc="http://web.resource.org/cc/"
   xmlns:dctype="http://purl.org/dc/dcmitype/"
   xmlns:dct="http://purl.org/dc/terms/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xml:base="http://purl.org/vocab/riro/gpt">
  
  <owl:Ontology
     rdf:about=""
     dc:date="2006-02-21">
    <dc:title xml:lang="en">RDF Graph Patterns and Templates</dc:title>
    <rdfs:comment xml:lang="en">
      This vocabulary defines terms used to describe RDF Graph patterns and 
      templates as used in RDF Query languages (e.g. SPARQL) and elsewhere.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      The goal of the design is to model common parts of these languages in 
      RDF in a way that allows for the generation of the actual queries in their 
      native format. Note that only patterns and templates are modeled, not 
      complete queries.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      A basic pattern/template is a set of reified RDF statements (reification 
      is similar to the one built-in into RDF). Leaves of a reified triple are 
      URIs, literals (stand for themselves) or blank nodes (variables). 
      Variables have no names; blank nodes can be assigned nodeIDs and shared 
      in a normal RDF way.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      More complex patterns are built by joining and filtering simpler 
      patterns. Joining (cf. SPARQL UNION, regexp |) allows specification of 
      alternative patterns; filtering (cf. SPARQL FILTER) constrains the 
      allowable binding of variables.
    </rdfs:comment>

    <dc:identifier>http://purl.org/vocab/riro/gpt</dc:identifier>
    <dct:isVersionOf rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <dc:creator>Sergei Egorov <esl@ariadnegenomics.com></dc:creator>
    <dc:rights>
      Copyright © 2006 Sergei Egorov
    </dc:rights>
    <dc:rights>
      OWL metadata & format Copyright © 2005 Richard Newman and Ian Davis
    </dc:rights>
    <vann:preferredNamespaceUri>http://purl.org/vocab/riro/gpt#</vann:preferredNamespaceUri>
    <vann:preferredNamespacePrefix>gpt</vann:preferredNamespacePrefix>

    <dct:hasFormat>
      <dctype:Text rdf:about="http://purl.org/vocab/riro/gpt.html">
        <dc:format>
          <dct:IMT>
            <rdf:value>text/html</rdf:value>
            <rdfs:label xml:lang="en">HTML</rdfs:label>
          </dct:IMT>
        </dc:format>
      </dctype:Text>
    </dct:hasFormat>
    <dct:hasFormat>
      <dctype:Text rdf:about="http://purl.org/vocab/riro/gpt.owl">
        <dc:format>
          <dct:IMT>
            <rdf:value>application/rdf+xml</rdf:value>
            <rdfs:label xml:lang="en">OWL</rdfs:label>
          </dct:IMT>
        </dc:format>
      </dctype:Text>
    </dct:hasFormat>

    <skos:example rdf:resource="gpt-example.rdf"/>
    <skos:example rdf:resource="gpt-example.ttl"/>

    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Fixed rdf:Resource bug"
       dc:date="2007-02-21"
       dc:creator="Sergei Egorov"/>
    <skos:changeNote
       rdf:value="Fixed cardinality type error"
       dc:date="2006-03-06"
       dc:creator="Sergei Egorov"/>
    <skos:changeNote
       rdf:value="Added examples"
       dc:date="2006-02-26"
       dc:creator="Sergei Egorov"/>
    <skos:changeNote
       rdf:value="Added OWL ontology metadata"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
    <skos:historyNote
       rdf:value="First version"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:Ontology>
  
  <cc:Work rdf:about="">
    <cc:license rdf:resource="http://creativecommons.org/licenses/by/2.5/"/>
  </cc:Work>
  
  <cc:License rdf:about="http://creativecommons.org/licenses/by/2.5/">
    <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
  </cc:License>
  
  <owl:ObjectProperty rdf:about="http://purl.org/dc/elements/1.1/format"/>
  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/hasFormat"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/isVersionOf"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/replaces"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/type"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/rights"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/identifier"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/contributor"/>
  <owl:DatatypeProperty rdf:about="http://purl.org/dc/elements/1.1/title"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/>
  <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/changes"/>
  <owl:DatatypeProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#value"/>
  <owl:Class rdf:about="http://web.resource.org/cc/License"/>
  <owl:Class rdf:about="http://web.resource.org/cc/Permission"/>
  <owl:Class rdf:about="http://web.resource.org/cc/Requirement"/>
  <owl:ObjectProperty rdf:about="http://web.resource.org/cc/permits"/>
  <owl:ObjectProperty rdf:about="http://web.resource.org/cc/requires"/>
  <owl:AnnotationProperty rdf:about="http://web.resource.org/cc/license"/>
  <cc:Permission rdf:about="http://web.resource.org/cc/Reproduction"/>
  <cc:Permission rdf:about="http://web.resource.org/cc/Distribution"/>
  <cc:Requirement rdf:about="http://web.resource.org/cc/Notice"/>
  <cc:Requirement rdf:about="http://web.resource.org/cc/Attribution"/>
  <cc:Permission rdf:about="http://web.resource.org/cc/DerivativeWorks"/>

  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#Statement">
    <rdfs:label xml:lang="en">RDF Statement Pattern/Template</rdfs:label>
    <skos:definition xml:lang="en">
      A pattern or template for a single RDF Statement (triple).
    </skos:definition>
    <rdfs:comment xml:lang="en">
      A member of this class describes a pattern that can be matched against 
      any RDF statement or a template that can be used to build such a 
      statement from its three components. A pattern matches if its subject, 
      predicate, and object match the corresponding components of the statement.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="http://purl.org/vocab/riro/gpt#subject"/>
        </owl:onProperty>
        <owl:maxCardinality 
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#predicate"/>
        </owl:onProperty>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#object"/>
        </owl:onProperty>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Added comment"
       dc:date="2006-02-12"
       dc:creator="Sergei Egorov"/>
  </owl:Class>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#subject">
    <rdfs:label xml:lang="en">pattern for subject</rdfs:label>
    <skos:definition xml:lang="en">
      The pattern/template for the statement's subject.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#Statement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#predicate">
    <rdfs:label xml:lang="en">pattern for predicate</rdfs:label>
    <skos:definition xml:lang="en">
      The pattern/template for the statement's predicate.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#Statement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#object">
    <rdfs:label xml:lang="en">pattern for object</rdfs:label>
    <skos:definition xml:lang="en">
      The pattern/template for the statement's object.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#Statement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#Graph">
    <rdfs:label xml:lang="en">RDF Graph Pattern/Template</rdfs:label>
    <skos:definition xml:lang="en">
      A pattern/template for an RDF Graph.
    </skos:definition>
    <rdfs:comment xml:lang="en">
      A member of this class describes a pattern/template for an RDF graph. A 
      graph pattern is represented as a set of patterns/templates (one per RDF 
      statement).
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      A graph pattern matches if all its statement patterns match some 
      statements in the target graph (shared blank nodes should match the same 
      RDF resource). The result of a match is a set of solutions, each 
      solution being a substitution providing replacement values for all blank 
      nodes in the pattern graph. Replacement values can be literals, URIs, or 
      other blank nodes.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      The set is modeled as an RDF list to make it closed with the assumption that 
      the elements of the list are members of the set being modeled (cf. 
      owl:oneOf). The graph pattern node and the list are connected with the 
      gpt:allOf predicate.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#allOf"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Added comment"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:Class>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#allOf">
    <rdfs:label xml:lang="en">members of a set</rdfs:label>
    <skos:definition xml:lang="en">
      The set enumerated in a list form.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Fixed rdf:Resource bug"
       dc:date="2007-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:ObjectProperty>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#Union">
    <rdfs:label xml:lang="en">Union of Patterns</rdfs:label>
    <skos:definition xml:lang="en">
      A set of alternative patterns.
    </skos:definition>
    <rdfs:comment xml:lang="en">
      A member of this class describes pattern alternatives. A union pattern 
      matches if any of the alternative patterns match. Alternative patterns 
      can be instances of gpt:Graph, gpt:Filter, or another gpt:Union.
    </rdfs:comment>
    <rdfs:comment xml:lang="en">
      The set of alternatives is modeled as an RDF list to make it closed with 
      assumption that the elements of the list are members of the set being 
      modeled (cf. owl:oneOf). The union pattern node and the list are 
      connected with the gpt:allOf predicate.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#allOf"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Added comment"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:Class>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#Filter">
    <rdfs:label xml:lang="en">Filter Pattern</rdfs:label>
    <skos:definition xml:lang="en">
      A pattern with constraints on its variables.
    </skos:definition>
    <rdfs:comment xml:lang="en">
      A member of this class describes a pattern with a boolean expression 
      imposing constraints on possible values of its variables. A filter 
      pattern matches if its base pattern matches and the filter expression 
      evaluates to true for the given solution (a set of values corresponding 
      to the blank nodes in the graph patterns).
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#onPattern"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#valueConstraint"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Added comment"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:Class>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#onPattern">
    <rdfs:label xml:lang="en">base pattern for filtering</rdfs:label>
    <skos:definition xml:lang="en">
      The pattern which variables are restricted.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#Filter"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#valueConstraint">
    <rdfs:label xml:lang="en">value constraint expression</rdfs:label>
    <skos:definition xml:lang="en">
      The expression restricting values of variables.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#Filter"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#ConstraintExpression">
    <rdfs:label xml:lang="en">Value Constraint Expression</rdfs:label>
    <skos:definition xml:lang="en">
      Any constraint expression.
    </skos:definition>
    <rdfs:comment xml:lang="en">
      This is the base class for all constraint expressions. Constraint 
      expressions are distinguished by their class; they have zero or more 
      arguments as defined by the corresponding class. The vocabulary of 
      constraint expressions now covers a very small subset of SPARQL FILTER 
      expressions; more expressions will be added later (possibly in a 
      separate namespace).
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#onPattern"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#valueConstraint"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
    <skos:changeNote
       rdf:value="Added comment"
       dc:date="2006-02-21"
       dc:creator="Sergei Egorov"/>
  </owl:Class>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1">
    <rdfs:label xml:lang="en">first argument</rdfs:label>
    <skos:definition xml:lang="en">
      The first argument of a constraint expression.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg2">
    <rdfs:label xml:lang="en">second argument</rdfs:label>
    <skos:definition xml:lang="en">
      The second argument of a constraint expression.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg3">
    <skos:definition xml:lang="en">
      The third argument of a constraint expression.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:domain rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
    <dct:issued>2006-02-21</dct:issued>
  </owl:ObjectProperty>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#ISURI">
    <rdfs:label xml:lang="en">isURI(A)</rdfs:label>
    <skos:definition xml:lang="en">
      True if A is an IRI/URI.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
  </owl:Class>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#ISBLANK">
    <rdfs:label xml:lang="en">isBlank(A)</rdfs:label>
    <skos:definition xml:lang="en">
      True if A is a blank node.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
  </owl:Class>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#ISLITERAL">
    <rdfs:label xml:lang="en">isLiteral(A)</rdfs:label>
    <skos:definition xml:lang="en">
      True if A is a literal.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
  </owl:Class>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#EQUAL">
    <rdfs:label xml:lang="en">RDFterm-equal(A, B)</rdfs:label>
    <skos:definition xml:lang="en">
      True if A and B are the same RDF terms.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg2"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
  </owl:Class>
  
  <owl:Class rdf:about="http://purl.org/vocab/riro/gpt#OR">
    <rdfs:label xml:lang="en">A || B</rdfs:label>
    <skos:definition xml:lang="en">
      True if A or B are true.
    </skos:definition>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/riro/gpt#"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/vocab/riro/gpt#ConstraintExpression"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg1"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://purl.org/vocab/riro/gpt#arg2"/>
        </owl:onProperty>
        <owl:minCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:minCardinality>
        <owl:maxCardinality
          rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">
          1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <dct:issued>2006-02-21</dct:issued>
  </owl:Class>

</rdf:RDF>

License

This work is licensed under a Creative Commons License.

The following section is informational only, please refer to the Original License for complete license terms.

This license grants the following rights:

This license imposes the following restrictions: