Property assertion "on a class"

I’m trying to create a property assertion “on a class” in such a way that a reasoner could infer the property to be had by all of its members.

I’m try to follow a StackOverflow note at

I have the following in an .n3 file:

  rdf:type rdfs:Class ;
  rdf:type sh:NodeShape ;
  rdfs:label "Event" ;
  rdfs:subClassOf (schema:startDate value "1800-01-01T00:00:00+05:30"^^xsd:dateTime) ;
  rdfs:subClassOf schema:Event .

When I try to load the .n4 file, I get the following error

Expected ':', found ' ' [line 5]

Is this not supported in Stardog?

Protege uses the Manchester syntax here but you will need to use the Turtle serialization for Stardog. If you look further down the answer, you will see an example of this:

:C      a                owl:Class ;
        rdfs:subClassOf  [ a               owl:Restriction ;
                           owl:hasValue    :v ;
                           owl:onProperty  :p
                         ] .

Try this syntax.


That worked.
Thanks again.

Actually, it worked syntactically, i.r.,

prefix carnot: <> .

carnot:Event a owl:Class ;
rdfs:subClassOf  [ a  owl:Restriction ;
							     owl:hasValue    0 ;
							     owl:onProperty  carnot:setStartDate
							   ] .

But it didn’t the value to members of Pairing, which is a subClass of Event.

Didn't what? "Add"? How did you check this? Sample data + query or the general procedure would be helpful indeed.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.