Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] about swrl semantic

Martin O'Connor martin.oconnor at stanford.edu
Fri Jan 29 11:21:04 PST 2010


To put that sentence in context:

"However, comparing individuals or classes or properties with datatype 
values [using swrlb:notEqual] is beyond SWRL's semantics."

You may be able to change how you model your domain to avoid direct 
comparison of class or property values (which will be OWL Full).

Firstly.

InfrastructureCompany(?x)  ∧ hasName(?x, ?y)  ∧ swrlb:equal(?y, "BEDAS")  ∧

can be written:

InfrastructureCompany(?x)  ∧ hasName(?x, "BEDAS")

If you modeled BEDAS as an individual of type InfrastructureCompany then 
you could write:

InfrastructureCompany(BEDAS)

Martin

Emrah Tufan wrote:
> Hello,
>
> One of the post in the list mentions about the swrl semantic. The link 
> is 
> https://mailman.stanford.edu/pipermail/protege-owl/2008-July/007755.html.
> In the post It is said that:
>
> "However, comparing individuals or classes or properties with datatype 
> values is beyond SWRL's semantics."
>
> I have a problem that I think related with the statement above. My 
> ontology have a class InfrastructureCompany, Event, Action, 
> DCIsolation and MidVoltageLine class. DCIsolation is subclass of 
> Action class.
> My properties are;
> hasName which is DataType property and whose Domain are 
> InfrastructureCompany, Event.
> hasDuration which is DataType property and whose Domain is Event
> hasObjectType which is Object property and whose Domain is Event and 
> range is MidVoltageLine
> hasEvent which is Object property and whose Domain is 
> InfrastructureCompany and range is Event.
>
> One of my rule is;
>
> InfrastructureCompany(?x)  ∧
> hasName(?x, ?y)  ∧
> swrlb:equal(?y, "BEDAS")  ∧
> hasEvent(?x, ?z)  ∧
> hasName(?z, ?b)  ∧
> swrlb:equal(?b, "Maintenance")  ∧
> hasDuration(?z, ?a)  ∧
> swrlb:lessThan(?a, 30)  ∧
> hasObjectType(?z, ?c)  ∧
> MidVoltageLine(?c)
>   → resultIn(?z, DCIsolation)
>
> and I have a query
>
> InfrastructureCompany(?x)  ∧
> hasName(?x, ?y)  ∧
> swrlb:equal(?y, "BEDAS")  ∧
> hasEvent(?x, ?z)  ∧
> hasName(?z, ?b)  ∧
> swrlb:equal(?b, "Maintenance")  ∧
> hasDuration(?z, ?a)  ∧
> swrlb:greaterThan(?a, 30)  ∧
> hasObjectType(?z, ?c)  ∧
> electricity:MidVoltageLine(?c)  ∧
> resultIn(?z, ?d)
>   → sqwrl:select(?d)
>
> The query produces DCIsolation result if there are appropriate 
> individuals in the ontology. My question is about the logic I have 
> used. I have used the individuals which has both datatype and object 
> value. Am I right if we think in terms of swrl semantic. If not, how 
> should I reorganize the ontology and rule?
>
> Many thanks
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>   




More information about the protege-owl mailing list