Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transformation rules of Cellfie Considering Rows and not columns #119

Closed
pranav0008 opened this issue Sep 12, 2017 · 6 comments
Closed

Transformation rules of Cellfie Considering Rows and not columns #119

pranav0008 opened this issue Sep 12, 2017 · 6 comments

Comments

@pranav0008
Copy link

the way we write
Class: @C*, where C is a column and the entities in the column become a class, won't it be nice to have such transformation rules where we could convert all the elements of a row into Classes and objects ?
If they are Can someone tell me what they are ?

@csnyulas
Copy link
Member

@pranav0008 your question is not very clear. What do you mean by "convert all the elements of a row into Classes and objects ?"
Is this related to protegeproject/protege/issues/688? Because for that we already have an issue here:
protegeproject/mapping-master/issues/9 (as it is more a request for an extension of the MappingMaster mapping language, rather than the Cellfie plugin itself).

@pranav0008
Copy link
Author

pranav0008 commented Sep 13, 2017

I meant, where we write for declaration of a class in Column C as :- Class: @C*
Why can't I write Class: @3*(where 3 is the Row number) to declare all the elements in the row to become a class.

It is not related to protegeproject/protege#688 , this issue you referred me to is completely irrelevant to my issue, but if this request gets implemented where axioms are used for Dataproperty and ObjectProperty, it will be a big relief :) because I am undergoing this problem a lot.

Coming back to the topic, the reason I wanted to implement this rule because the mapping of information is done from rows to rows, whereas in Cellfie only column to column mapping is done.
I have 20 Excel Sheets where mapping is to be done rows to rows , my option is transposing each 20 tables and then use column to column mapping but that is not a long run solution.

@csnyulas
Copy link
Member

I think I see your point now. You can do that by writing @*3.

@csnyulas
Copy link
Member

Here is the documentation about this specific issue, but I would recommend to read the entire entry on the MappingMaster DSL if you want to take full advantage of its power:
https://github.com/protegeproject/mapping-master/wiki/MappingMasterDSL#iterating-over-a-range-of-cells-in-a-reference

@pranav0008
Copy link
Author

thanks a bunch

@csnyulas
Copy link
Member

csnyulas commented Sep 13, 2017

BTW, you can create datatype and object properties on the fly (but not with an explicit declaration, for which we created this issue protegeproject/mapping-master#9).

Check out this:
http://protege-project.136.n4.nabble.com/Ways-to-create-Object-property-td4666308.html#a4666317

And here is another example...
If you have a table like

ABC
1Studentclass1class2
2ABCMatEng
3XYZEngGer

and a rule like this over the range B2:C+ :

Individual: @A*
   Types: @A1
   Facts: @*1(ObjectProperty) @**

Executing the rule would create object properties for all the column headers (B1 and C1) on the fly. Of course you can extend this to arbitrary number of columns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants