RE: Restricting class of individuals from object property to specific individual..

Hi!

Do I get you right: You want that every concrete data input x (if x is an
instance of class DataInput) has ds_stdin as its data stream (then x is
related to ds_stdin via property hasDataStream) ? Or, more concretely, if
you state

    ex:myInput rdf:type ex:DataInput .

then you expect

    ex:myInput ex:hasDataStream ex:ds_stdin .

?

If it's this, then it can be done by making class DataInput a sub class of a
has-value restriction on property hasDataStream and individual ds_stdin
(encoded in Turtle syntax):

"""
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
@prefix ex:   <http://www.example.org/> .

_:o rdf:type owl:Ontology .

# class DataStream and the 
# standard streams as its instances

ex:DataStream rdf:type owl:Class .
ex:ds_stdout rdf:type ex:DataStream .
ex:ds_stdin rdf:type ex:DataStream .
ex:ds_stderr rdf:type ex:DataStream .

# property hasDataStream having data streams as values

ex:hasDataStream rdf:type owl:ObjectProperty ;
    rdfs:range ex:DataStream .
 
# class DataInput and its relation to hasDataStream:
# every data input is related to stream ds_stdin

ex:DataInput rdf:type owl:Class ;
    rdfs:subClassOf [
        rdf:type owl:Restriction ;
        owl:hasValue ex:ds_stdin ;
        owl:onProperty ex:hasDataStream ] .
"""

Best,
Michael

From: public-owl-dev-request@w3.org [mailto:public-owl-dev-request@w3.org]
On Behalf Of Mitchell Gillespie
Sent: Friday, November 05, 2010 7:43 PM
To: public-owl-dev@w3.org
Subject: Restricting class of individuals from object property to specific
individual..

Hi All,

   Compared to most, I am very much a beginner to OWL & OWL2.   With that
said, I apologize for the beginner-like question.

   I am wondering how one could restrict a certain class of individuals to a
specific individual of another class..  Let's consider this simple example
(please excuse my simplified logic structure:

      Class:  DataInput
      Class:  DataStream
     
      ds_stdout <------  individual of DataStream representing 'stdout'
      ds_stdin <--------  individual of DataStream representing 'stdin'
      ds_stderr <-------  individual of DataStream representing 'stderr'  

  I want to define that...         DataInput(x)   --> 
~hasDataStream(x,ds_stdin)    

  Am I able to make that specific restriction??

Thanks!

Mitch

--
Dipl.-Inform. Michael Schneider
Research Scientist, Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schneider@fzi.de
WWW  : http://www.fzi.de/michael.schneider
=======================================================================
FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts, Az 14-0563.1, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
=======================================================================

Received on Saturday, 6 November 2010 09:36:26 UTC