# (c) Copyright 2005 Hewlett-Packard Development Company, LP # All rights reserved. # $Id: vocab.n3,v 1.1 2005-12-07 14:47:13 chris-dollin Exp $ @prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix ja: . @prefix jr: . @prefix dc: . @prefix : <#> . <> rdfs:comment "Vocabulary for describing Jena models" ; dc:creator "Chris Dollin" ; dc:creator "the Jena team" ; dc:subject "" ; dc:publisher "HP" ; dc:title "Jena Model Spec" ; dc:description "Vocabulary for describing Jena models" ; dc:date "2005-11-15" ; dc:format "RDF" ; dc:identifier : . # # Assembler object: those things that can be specified and created # ja:Object a rdfs:Class ; rdfs:label "Assembler.Object" ; rdfs:comment "the class of Assembler objects" . # # Assembler model base type. # ja:Model a rdfs:Class ; rdfs:subClassOf ja:Object ; rdfs:subClassOf ja:Loadable ; rdfs:label "Assembler.Model" ; rdfs:comment "the class of Assembler model objects" . # # every Model can be given a ReificationMode # ja:reificationMode a rdf:Property ; rdfs:label "Assembler.reificationMode" ; rdfs:comment "property to attach a ReificationMode to a Model" ; rdfs:domain ja:Model ; rdfs:range jr:ReificationMode . # # every model can has some content specified by a Content object. # ja:content a rdf:Property ; rdfs:label "Assembler.content" ; rdfs:comment """specifies that the subject Loadable is to be loaded with all the contents specified by the object Content. """ ; rdfs:domain ja:Loadable ; rdfs:range ja:Content . ja:initialContent a rdf:Property ; rdfs:label "Assembler.initialContent" ; rdfs:comment """specifies that the subject Loadable is to be loaded with all the contents specified by the object Load when it is first created - ie not when eg an existing database model is opened. """ ; rdfs:domain ja:Loadable ; rdfs:range ja:Content . ja:Loadable a rdfs:Class ; rdfs:subClassOf ja:Object ; rdfs:label "Assembler.Loadable" ; rdfs:comment "a Loadable object, namely a Model or a Load" . ja:Content a rdfs:Class ; rdfs:subClassOf ja:Object ; rdfs:label "Assembler.Content" ; rdfs:comment "content to be loaded into a Loadable" . # # there are two kinds of Load. A ContentGroup collects together # other Loads, specified with ja:content. # ja:ContentGroup a rdfs:Class ; rdfs:subClassOf ja:Content, ja:Loadable . # # the other kind of Content is a ContentItem, which is either a # URL or a literal string with an optional language name. # ja:ContentItem a rdfs:Class ; rdfs:subClassOf ja:Content ; rdfs:label "Assembler.ContentItem" ; rdfs:comment "a single loadable model item" . ja:externalContent a rdf:Property ; rdfs:label "Assembler.externalContent" ; rdfs:comment """the subject Load is to be loaded from the object URL""" ; rdfs:domain ja:ContentItem . ja:literalContent a rdf:Property ; rdfs:label "Assembler.literalContent" ; rdfs:comment """the subject Load is to be loaded from the object String""" ; rdfs:domain ja:ContentItem . ja:contentEncoding a rdf:Property ; rdfs:label "Assembler.contentEncoding" ; rdfs:comment """specifies the name of the encoding language (N3, RDF/XML, etc) for the associated file or string. Overrides any guess that might otherwise be made. Guesses when omitted: starts with '<' means RDF/XML, starts with '@' or '#' means N3, otherwise NTRIPLE""" ; rdfs:domain ja:ContentItem . # # default models [typically memory models] # ja:DefaultModel a rdfs:Class ; rdfs:subClassOf ja:Model ; rdfs:label "Assembler.DefaultModel" ; rdfs:comment "the default model description" . # # memory models # ja:MemoryModel a rdfs:Class ; rdfs:subClassOf ja:Model ; rdfs:label "Assembler.MemoryModel" ; rdfs:comment "description of a memory model" . # # named models [for file & database models] # ja:NamedModel a rdfs:Class ; rdfs:subClassOf ja:Model ; rdfs:subClassOf [owl:onProperty ja:modelName; owl:cardinality 1] ; rdfs:label "Assembler.NamedModel" ; rdfs:comment """shared superclass for FileModel and RDBModel, accepting the modelName property""" . ja:modelName a rdf:Property ; rdfs:label "Assembler.modelName" ; rdfs:comment """property specifying that the subject NamedModel shall have the object String as its name. If the object is a URI node, it has the spelling of the URI as its name.""" ; rdfs:domain ja:NamedModel . # # file models # ja:FileModel a rdfs:Class ; rdfs:subClassOf ja:NamedModel ; rdfs:label "Assembler.FileModel" ; rdfs:comment """a FileModel is a file-backed NamedModel implemented as a MemoryModel with the name given by the modelName and in the directory given by fromDirectory.""" . ja:directory a rdf:Property ; rdfs:label "directory" ; rdfs:comment """property of a FileModel giving the directory in which the modelName is to be resolved. Query: is the current behaviour of FileModels to be preserved?""" ; rdfs:domain ja:FileModel . ja:mapName a rdf:Property ; rdfs:label "Assembler.mapName" ; rdfs:domain ja:FileModel ; rdfs:comment """property of a FileModel specifying whether the modelName should be escaped by replacing _, /, and : by __, _S, _C before being used, to allow URIs as model names without implying nested directory strucure. If ommitted or not ja:true, no translation is done.""" . # # database models # ja:RDBModel a rdfs:Class ; rdfs:subClassOf ja:NamedModel ; rdfs:subClassOf [owl:onProperty ja:connection; owl:cardinality 1] ; rdfs:label "Assembler.RDBModel" ; rdfs:comment """a Model from a Jena relational database, specified by a Connection and with a given name.""" . ja:connection a rdf:Property ; rdfs:label "Assembler.connection" ; rdfs:comment """property specifying that the subject RDBModel is built using the connection specified by the object.""" ; rdfs:domain ja:RDBModel ; rdfs:range ja:Connection . # # inference models # #! InfModel ja:InfModel a rdfs:Class ; rdfs:subClassOf ja:Model ; rdfs:subClassOf [owl:onProperty ja:baseModel; owl:maxCardinality 1] ; rdfs:subClassOf [owl:onProperty ja:reasoner; owl:maxCardinality 1] ; rdfs:label "Assembler.InfModel" ; rdfs:comment """class of inference models given by applying a reasoner to a base model (which might be implictly the a default model)""" . ja:reasoner a rdf:Property ; rdfs:label "Assembler.reasoner" ; rdfs:comment """property of an inference model that specifies the reasoner to use.""" ; rdfs:domain ja:InfModel ; rdfs:range ja:Reasoner . ja:baseModel a rdf:Property ; rdfs:label "Assembler.baseModel" ; rdfs:comment """optional property of an inference model that specifies the base model over which inference is done.""" ; rdfs:domain ja:InfModel ; rdfs:range ja:Model . #! end InfModel # # reasoners; see also properties of HasRules. # ja:Reasoner a rdfs:Class ; rdfs:subClassOf ja:Object, ja:HasRules ; rdfs:subClassOf [owl:onProperty ja:ReasonerURL; owl:maxCardinality 1] ; rdfs:label "Assembler.reasoner" ; rdfs:comment """class of Reasoner objects, allowing arbitrary reasoner properties to be attached.""" . ja:reasonerURL a rdf:Property ; rdfs:label "Assembler.reasonerURL" ; rdfs:comment """property of a Reasoner specifying the URL of the reasoner in the reasoner registry; only one such property per reasoner.""" ; rdfs:domain ja:Reasoner . ja:schema a rdf:Property ; rdfs:label "Assembler.schemaURL" ; rdfs:comment """property of a Reasoner specifying schema Models to be loaded. Multiple schemas can be given; they are unioned together before being supplied to the reasoner.""" ; rdfs:domain ja:Reasoner ; rdfs:range ja:Model . # # rulesets # ja:HasRules a rdfs:Class ; rdfs:label "Assembler.HasRules" ; rdfs:comment """the class of things that can have rules attached, viz, Reasoners and RuleSets.""" . ja:RuleSet a rdfs:Class ; rdfs:subClassOf ja:Object ; rdfs:subClassOf ja:HasRules ; rdfs:label "Assembler.RuleSet" ; rdfs:comment """class of sets of rules (for a Jena rule engine) specified within the Assembler file. A RuleSet may refer to rules by their URL, by their containing RuleSets, or by including them as string literals.""" . ja:rules a rdf:Property ; rdfs:label "Assembler.rules" ; rdfs:comment """property of a GenericRuleReasoner or RuleSet which specifies rules given witin rulesets within the Assembler RDF. Multiple such properties can be given.""" ; rdfs:domain ja:HasRules ; rdfs:range ja:RuleSet . ja:rulesFrom a rdf:Property ; rdfs:label "Assembler.rulesFrom" ; rdfs:comment """property of a RuleSet which identifies rules by their URL. The target resource is loaded and parsed as a rule string.""" ; rdfs:domain ja:HasRules . ja:rule a rdf:Property ; rdfs:label "Assembler.rule" ; rdfs:comment """property of a RuleSet specifying a rule (or rules) as a literal string.""" ; rdfs:domain ja:HasRules . # # ontology models. evert ontology model is an inference model. # ja:OntModel a rdfs:Class ; rdfs:subClassOf ja:InfModel ; rdfs:label "Assembler.OntModel" ; rdfs:comment "the class of OntModel specifications" . ja:OntModelSpec a rdfs:Class ; rdfs:label "Assembler.OntModelSpec" . ja:ontModelSpec a rdf:Property ; rdfs:label "Assembler.ontModelSpec" ; rdfs:comment "property of an OntModel giving its OntModelSpec" ; rdfs:domain ja:OntModel ; rdfs:range ja:OntModelSpec . ja:ontLanguage a rdf:Property ; rdfs:label "Assembler.ontLanguage" ; rdfs:comment """property of an OntModel that specifies the ontology language.""" ; rdfs:domain ja:OntModel . ja:docManager a rdf:Property ; rdfs:label "Assembler.docManager" ; rdfs:comment """property of an OntModel that specifies the document manager of the model. If omitted, the model has the default document manager.""" ; rdfs:domain ja:OntModel . ja:importsMaker a rdf:Property ; rdfs:label "Assembler.importsMaker" ; rdfs:comment """property of an OntModel that specifies the importsMaker of the model. If omitted, the model has a default MemoryModelMaker. """ ; rdfs:domain ja:OntModel . # # union models # ja:UnionModel a rdfs:Class ; rdfs:subClassOf ja:Model ; rdfs:label "Assembler.Union" ; rdfs:comment "class of Union models" . ja:subModel a rdf:Property ; rdfs:label "Assembler.subModel" ; rdfs:comment """property of a UnionModel that specifies one of its sub-models. Arbitrarily many sub-models can be supplied.""" ; rdfs:domain ja:UnionModel ; rdfs:range ja:Model . # # connections # ja:Connection a rdfs:Class ; rdfs:subClassOf [owl:onProperty ja:dbURL; owl:cardinality 1] ; rdfs:subClassOf [owl:onProperty ja:dbUser; owl:maxCardinality 1] ; rdfs:subClassOf [owl:onProperty ja:dbPassword; owl:maxCardinality 1] ; rdfs:subClassOf [owl:onProperty ja:dbType; owl:maxCardinality 1] ; rdfs:subClassOf ja:Object ; rdfs:label "Assembler.Connection" ; rdfs:comment "class of RDB Connection objects for JDBC database connections." . ja:dbURL a rdf:Property ; rdfs:label "Assembler.dbURL" ; rdfs:comment """property of a Connection that specifies as a URI Resource the URL of the database to connect to.""" ; rdfs:domain ja:Connection . ja:dbUser a rdf:Property ; rdfs:label "Assembler.dbUser" ; rdfs:comment """property of a database connection that specifies as a string the name of the database user for which the connection is to be made.""" ; rdfs:domain ja:Connection . ja:dbPassword a rdf:Property ; rdfs:label "Assembler.dbPassword" ; rdfs:comment """property of a database connection that specifies as a string the password used to authorise the connection.""" ; rdfs:domain ja:Connection . ja:dbType a rdf:Property ; rdfs:label "Assembler.dbType" ; rdfs:comment """property of a database connection that specifies as a string the type of the database to connect to.""" ; rdfs:domain ja:Connection . ja:dbClass a rdf:Property ; rdfs:label "Assembler.dbClass" ; rdfs:comment """property of a database connection that specifies as a string the name of a Java class to be loaded before connection is attemped.""" ; rdfs:domain ja:Connection . # # reification modes # jr:ReificationMode a rdfs:Class ; rdfs:label "Assembler.ReificationMode" ; rdfs:comment "the class of reification modes" . jr:Standard a jr:ReificationMode ; rdfs:label "Standard" ; rdfs:comment "reification mode Standard - all reification triples visible" . jr:Minimal a jr:ReificationMode ; rdfs:label "Minimal" ; rdfs:comment "reification mode Minimal - no reification triples visible" . jr:Convenient a jr:ReificationMode ; rdfs:label "Convenient" ; rdfs:comment "reification mode Convenient" . # # prefix mappings # ja:PrefixMapping a rdfs:Class ; rdfs:subClassOf ja:Object ; rdfs:label "Assembler.PrefixMapping" ; rdfs:comment """class encoding a Jena prefix mapping""" . ja:prefixMapping a rdf:Property ; rdfs:label "Assembler.prefixMapping" ; rdfs:comment """property used to attach a PrefixMapping to a Model""" ; rdfs:domain ja:Model ; rdfs:range ja:PrefixMapping . ja:includes a rdf:Property ; rdfs:label "Assembler.includes" ; rdfs:comment """property to allow one prefix mapping to include another""" ; rdfs:domain ja:PrefixMapping ; rdfs:range ja:PrefixMapping . ja:SinglePrefixMapping a rdfs:Class ; rdfs:subClassOf ja:PrefixMapping ; rdfs:subClassOf [owl:onProperty ja:prefix; owl:cardinality 1] ; rdfs:subClassOf [owl:onProperty ja:namespace; owl:cardinality 1] ; rdfs:label "Assembler.SinglePrefixMapping" ; rdfs:comment """class encoding a single prefix mapping maplet""" . ja:prefix a rdf:Property ; rdfs:label "Assembler.prefix" ; rdfs:comment """property for specifing the prefix of a SimplePrefixMapping""" ; rdfs:domain ja:SinglePrefixMapping . ja:namespace a rdf:Property ; rdfs:label "Assembler.namespace" ; rdfs:comment """property for specifying the URL of a SimplePrefixMapping""" ; rdfs:domain ja:SinglePrefixMapping . # Local Variables: # tab-width: 4 # indent-tabs-mode: nil # End: